nushell/crates
Douglas 0872e9c3ae
Allow both NU_PLUGIN_DIRS const and env at the same time (#14553)
# Description

Fix #14544 and is also the reciprocal of #14549.

Before: If both a const and env `NU_PLUGIN_DIRS` were defined at the
same time, the env paths would not be used.
After: The directories from `const NU_PLUGIN_DIRS` are searched for a
matching filename, and if not found, `$env.NU_PLUGIN_DIRS` directories
will be searched.

Before: `$env.NU_PLUGIN_DIRS` was unnecessary set both in main() and in
default_env.nu
After: `$env.NU_PLUGIN_DIRS` is only set in main()

Before: `$env.NU_PLUGIN_DIRS` was set to `plugins` in the config
directory
After: `$env.NU_PLUGIN_DIRS` is set to an empty list and `const
NU_PLUGIN_DIRS` is set to the directory above.

Also updates `sample_env.nu` to use the `const`

# User-Facing Changes

Most scenarios should work just fine as there continues to be an
`$env.NU_PLUGIN_DIRS` to append to or override.

However, there is a small chance of a breaking change if someone was
*querying* the old default `$env.NU_PLUGIN_DIRS`.

# Tests + Formatting

- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

Also updated the `env` tests and added one for the `const`.

# After Submitting

Config doc updates
2024-12-11 11:41:06 -06:00
..
nu_plugin_custom_values Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu_plugin_example Remove ListStream type (#14425) 2024-11-27 09:35:55 +08:00
nu_plugin_formats Add Filesize type (#14369) 2024-11-29 21:24:17 +00:00
nu_plugin_gstat Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu_plugin_inc Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu_plugin_nu_example Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu_plugin_polars Documentation and error handling around polars with-column --name (#14527) 2024-12-06 05:17:18 -06:00
nu_plugin_python Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu_plugin_query Bump scraper from 0.21.0 to 0.22.0 (#14557) 2024-12-11 09:40:09 +08:00
nu_plugin_stress_internals Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-cli add function to make env vars case-insensitive (#14390) 2024-12-03 20:47:58 -06:00
nu-cmd-base Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-cmd-extra Expose "to html" command (#14536) 2024-12-07 07:28:14 -06:00
nu-cmd-lang Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-cmd-plugin Allow both NU_PLUGIN_DIRS const and env at the same time (#14553) 2024-12-11 11:41:06 -06:00
nu-color-config Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-command du: add -l/--long flag, remove -a/--all flag (#14407) 2024-12-10 11:22:56 -06:00
nu-derive-value Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-engine Change help commands to use name from scope instead of the name from the declaration (#14490) 2024-12-10 09:27:30 -06:00
nu-explore explore: add more less key bindings and add Transition::None (#14468) 2024-11-30 08:22:52 -06:00
nu-glob skip test_iteration_errors if /root is missing (#14299) 2024-11-14 10:13:04 +01:00
nu-json Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-lsp lsp and --ide-check fix for path self related diagnostics (#14538) 2024-12-07 09:46:52 -06:00
nu-parser Revert "For # to start a comment, then it either need to be the first chara…" (#14560) 2024-12-11 07:08:15 -06:00
nu-path Feature: PWD-per-drive to facilitate working on multiple drives at Windows (#14411) 2024-12-02 12:17:46 -06:00
nu-plugin Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-plugin-core Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-plugin-engine add function to make env vars case-insensitive (#14390) 2024-12-03 20:47:58 -06:00
nu-plugin-protocol Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-plugin-test-support Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-pretty-hex Bump to dev version 0.100.1 (#14328) 2024-11-14 10:04:39 +01:00
nu-protocol Change help commands to use name from scope instead of the name from the declaration (#14490) 2024-12-10 09:27:30 -06:00
nu-std Fix silent failure of parsing input output types (#14510) 2024-12-07 09:55:15 -06:00
nu-system Cut down unnecessary lint allows (#14335) 2024-11-15 19:24:39 +01:00
nu-table Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-term-grid Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06:00
nu-test-support Remove the NU_DISABLE_IR option (#14293) 2024-11-15 12:09:25 +08:00
nu-utils Allow both NU_PLUGIN_DIRS const and env at the same time (#14553) 2024-12-11 11:41:06 -06:00
nuon Start to Add WASM Support Again (#14418) 2024-11-30 07:57:11 -06: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.