nushell/crates/nu_plugin_example
Devyn Cairns efe25e3f58
Better generic errors for plugins (and perhaps scripts) (#12236)
# Description
This makes `LabeledError` much more capable of representing close to
everything a `miette::Diagnostic` can, including `ShellError`, and
allows plugins to generate multiple error spans, codes, help, etc.

`LabeledError` is now embeddable within `ShellError` as a transparent
variant.

This could also be used to improve `error make` and `try/catch` to
reflect `LabeledError` exactly in the future.

Also cleaned up some errors in existing plugins.

# User-Facing Changes
Breaking change for plugins. Nicer errors for users.
2024-03-21 12:27:21 +01:00
..
src Better generic errors for plugins (and perhaps scripts) (#12236) 2024-03-21 12:27:21 +01:00
Cargo.toml Bump version to 0.91.1 (#12085) 2024-03-06 23:08:14 +01:00
README.md Merge stream_example into example plugin and clean up names (#12234) 2024-03-19 12:36:46 -05:00

Plugin Example

Crate with a simple example of the Plugin trait that needs to be implemented in order to create a binary that can be registered into nushell declaration list

example config

This subcommand demonstrates sending configuration from the nushell $env.config to a plugin.

To register from after building nushell run:

register target/debug/nu_plugin_example

The configuration for the plugin lives in $env.config.plugins.example:

$env.config = {
  plugins: {
    example: [
      some
      values
    ]
  }
}

To list plugin values run:

example config