nushell/crates
Devyn Cairns 01d30a416b
Change PluginCommand API to be more like Command (#12279)
# Description

This is something that was discussed in the core team meeting last
Wednesday. @ayax79 is building `nu-plugin-polars` with all of the
dataframe commands into a plugin, and there are a lot of them, so it
would help to make the API more similar. At the same time, I think the
`Command` API is just better anyway. I don't think the difference is
justified, and the types for core commands have the benefit of requiring
less `.into()` because they often don't own their data

- Broke `signature()` up into `name()`, `usage()`, `extra_usage()`,
`search_terms()`, `examples()`
- `signature()` returns `nu_protocol::Signature`
- `examples()` returns `Vec<nu_protocol::Example>`
- `PluginSignature` and `PluginExample` no longer need to be used by
plugin developers

# User-Facing Changes
Breaking API for plugins yet again 😄
2024-03-27 11:59:57 +01:00
..
nu_plugin_custom_values Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_example Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_formats Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_gstat Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_inc Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu_plugin_python Improve the error message for a plugin version mismatch (#12122) 2024-03-08 06:04:22 -06:00
nu_plugin_query Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu-cli Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-base Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-dataframe Bump sqlparser from 0.43.1 to 0.44.0 (#12302) 2024-03-27 14:44:43 +08:00
nu-cmd-extra Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-cmd-lang Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-color-config Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-command Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-engine Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-explore Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-glob Fix ignored clippy lints (#12160) 2024-03-11 19:46:04 +01:00
nu-json Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-lsp Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-parser Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-path ls, rm, cp, open, touch, mkdir: Don't expand tilde if input path is quoted string or a variable. (#12232) 2024-03-25 10:08:38 +08:00
nu-plugin Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu-plugin-test-support Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu-pretty-hex nu-explore/ Use hex-dump for binary data (#12184) 2024-03-21 19:02:03 -05:00
nu-protocol Change PluginCommand API to be more like Command (#12279) 2024-03-27 11:59:57 +01:00
nu-std Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-system Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-table Add command_prelude module (#12291) 2024-03-26 21:17:30 +00:00
nu-term-grid Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-test-support Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
nu-utils Move more dependencies to workspace level (#12270) 2024-03-23 18:46:02 -05:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05: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 different capabilities like working with different file types, charting, viewing binary data, and more.