nushell/crates
Andrés N. Robalino c9c6bd4836
Create errors from tables. (#3986)
```
> [
  [          msg,                 labels,                      span];
  ["The message", "Helpful message here", ([[start, end]; [0, 141]])]
] | error make

error: The message
  ┌─ shell:1:1
  │
1 │ ╭ [
2 │ │   [          msg,                 labels,                      span];
3 │ │   ["The message", "Helpful message here", ([[start, end]; [0, 141]])]
  │ ╰─────────────────────────────────────────────────────────────────────^ Helpful message here
```

Adding a more flexible approach for creating error values. One use case, for instance is the
idea of a test framework. A failed assertion instead of printing to the screen it could create
tables with more details of the failed assertion and pass it to this command for making a full
fledge error that Nu can show. This can (and should) be extended for capturing error values as well
in the pipeline. One could also use it for inspection.

For example: `.... | error inspect { # inspection here }`

or "error handling" as well, like so: `.... | error capture { fix here }`

However, we start here only with `error make` that creates an error value for you with limited support for the time being.
2021-09-02 21:07:26 -05:00
..
nu_plugin_binaryview bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_chart bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_from_bson bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_from_mp4 bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_from_sqlite bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_inc bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_match bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_query_json bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_s3 bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_selector bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_start bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_textview bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_to_bson bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_to_sqlite bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu_plugin_tree Remove duplicate dependencies (#3961) 2021-08-28 15:34:11 +12:00
nu_plugin_xpath bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-ansi-term bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-cli bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-command Create errors from tables. (#3986) 2021-09-02 21:07:26 -05:00
nu-completion bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-data nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-engine nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-errors bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-json nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-parser nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-path nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-plugin bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-pretty-hex bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-protocol bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-serde bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-source bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-stream bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-table bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
nu-test-support nu-path crate refactor (#3730) 2021-08-28 15:59:09 +03:00
nu-value-ext bump to 0.36.1 (#3972) 2021-08-27 20:48:58 +12:00
README.md Begin directory contrib docs and split commands (#3650) 2021-06-19 12:06:44 +12:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of differnt capabilities like working with different file types, charting, viewing binary data, and more.