export def for core

Define a custom command and export it from a module.

Signature

> export def {flags} (def_name) (params) (block)

Flags

  • --env, -: keep the environment defined inside the command
  • --wrapped, -: treat unknown flags and arguments as strings (requires ...rest-like parameter in signature)

Parameters

  • def_name: command name
  • params: parameters
  • block: body of the definition

Input/output types:

input output
nothing nothing

Examples

Define a custom command in a module and call it

> module spam { export def foo [] { "foo" } }; use spam foo; foo
foo

Notes

This command is a parser keyword. For details, check: https://irsh.vercel.app/book/thinking_in_rsh.html