nushell/crates
Bahex 79f19f2fc7
Enable conditional source and use patterns by allowing null as a no-op module (#14773)
Related:
- #14329
- #13872
- #8214

# Description & User-Facing Changes

This PR allows enables the following uses, which are all no-op.
```nushell
source null
source-env null
use null
overlay use null
```

The motivation for this change is conditional sourcing of files. For
example, with this change `login.nu` may be deprecated and replaced with
the following code in `config.nu`
```nushell
const login_module = if $nu.is-login { "login.nu" } else { null }
source $login_module
```

# Tests + Formatting
I'm hoping for CI to pass 😄

# After Submitting
Add a part about the conditional sourcing pattern to the website.
2025-01-09 06:37:27 -06:00
..
nu-cli Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-cmd-base Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-cmd-extra Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-cmd-lang Enable conditional source and use patterns by allowing null as a no-op module (#14773) 2025-01-09 06:37:27 -06:00
nu-cmd-plugin Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-color-config Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-command Enable conditional source and use patterns by allowing null as a no-op module (#14773) 2025-01-09 06:37:27 -06:00
nu-derive-value Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-engine Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-explore fix(explore): handle zero-size cursor in binary viewer (#14592) 2025-01-07 12:10:25 -06:00
nu-glob Create nu_glob::is_glob function (#14717) 2025-01-01 19:04:17 -05:00
nu-json Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-lsp feat(lsp): use lsp-textdocument to handle utf16 position (#14742) 2025-01-05 07:11:17 -06:00
nu-parser Enable conditional source and use patterns by allowing null as a no-op module (#14773) 2025-01-09 06:37:27 -06:00
nu-path Don't expand ndots if prefixed with ./ (#14755) 2025-01-05 17:07:34 -05:00
nu-plugin Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-core Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-engine Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-protocol Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-plugin-test-support Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-pretty-hex Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-protocol Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-std Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu-system Replace std::time::Instant with web_time::Instant (#14668) 2024-12-25 16:50:02 +08:00
nu-table [WIP] Try to fix tabled panic (#14710) 2025-01-01 08:09:23 -06:00
nu-term-grid Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-test-support Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu-utils Add auto option for config.use_ansi_coloring (#14647) 2024-12-26 11:00:01 -06:00
nu_plugin_custom_values Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_example Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_formats Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_gstat Bump git2 from 0.19.0 to 0.20.0 (#14776) 2025-01-08 13:53:02 +00:00
nu_plugin_inc Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_nu_example Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_polars Add run-time type checking for command pipeline input (#14741) 2025-01-08 23:09:47 +01:00
nu_plugin_python Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_query Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nu_plugin_stress_internals Bump version to 0.101.1 (#14661) 2024-12-24 23:47:00 +01:00
nuon fix nuon conversions of range values (#14687) 2025-01-07 21:29:39 +01: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.