2022-02-14 03:22:51 +01:00
|
|
|
---
|
|
|
|
title: module
|
|
|
|
layout: command
|
2022-03-04 13:10:09 +01:00
|
|
|
version: 0.59.1
|
2022-02-14 03:22:51 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
Define a custom module
|
|
|
|
|
|
|
|
## Signature
|
|
|
|
|
|
|
|
```> module (module_name) (block)```
|
|
|
|
|
|
|
|
## Parameters
|
|
|
|
|
|
|
|
- `module_name`: module name
|
|
|
|
- `block`: body of the module
|
|
|
|
|
2022-02-21 18:26:00 +01:00
|
|
|
## Examples
|
|
|
|
|
|
|
|
Define a custom command in a module and call it
|
|
|
|
```shell
|
|
|
|
> module spam { export def foo [] { "foo" } }; use spam foo; foo
|
|
|
|
```
|
|
|
|
|
|
|
|
Define an environment variable in a module and evaluate it
|
|
|
|
```shell
|
|
|
|
> module foo { export env FOO_ENV { "BAZ" } }; use foo FOO_ENV; $env.FOO_ENV
|
|
|
|
```
|
|
|
|
|
|
|
|
Define a custom command that participates in the environment in a module and call it
|
|
|
|
```shell
|
|
|
|
> module foo { export def-env bar [] { let-env FOO_BAR = "BAZ" } }; use foo bar; bar; $env.FOO_BAR
|
|
|
|
```
|