nushell/crates
Daniel Buch Hansen 850ecf648a
Protocol: debug_assert!() Span to reflect a valid slice (#6806)
Also enforce this by #[non_exhaustive] span such that going forward we
cannot, in debug builds (1), construct invalid spans.

The motivation for this stems from #6431 where I've seen crashes due to
invalid slice indexing.

My hope is this will mitigate such senarios

1. https://github.com/nushell/nushell/pull/6431#issuecomment-1278147241

# Description

(description of your pull request here)

# Tests

Make sure you've done the following:

- [ ] Add tests that cover your changes, either in the command examples,
the crate/tests folder, or in the /tests folder.
- [ ] Try to think about corner cases and various ways how your changes
could break. Cover them with tests.
- [ ] If adding tests is not possible, please document in the PR body a
minimal example with steps on how to reproduce so one can verify your
change works.

Make sure you've run and fixed any issues with these commands:

- [x] `cargo fmt --all -- --check` to check standard code formatting
(`cargo fmt --all` applies these changes)
- [ ] `cargo clippy --workspace --features=extra -- -D warnings -D
clippy::unwrap_used -A clippy::needless_collect` to check that you're
using the standard code style
- [ ] `cargo test --workspace --features=extra` to check that all the
tests pass

# Documentation

- [ ] If your PR touches a user-facing nushell feature then make sure
that there is an entry in the documentation
(https://github.com/nushell/nushell.github.io) for the feature, and
update it if necessary.
2022-12-03 11:44:12 +02:00
..
nu-cli Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-color-config [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-command Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-engine Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-explore nu-explore/ A few fixes. (#7334) 2022-12-03 00:12:33 +02:00
nu-glob Remove unused dev-dependencies (#7285) 2022-12-01 11:53:24 +01:00
nu-json Remove unused dev-dependencies (#7285) 2022-12-01 11:53:24 +01:00
nu-parser Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-path bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-plugin Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-pretty-hex bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-protocol Protocol: debug_assert!() Span to reflect a valid slice (#6806) 2022-12-03 11:44:12 +02:00
nu-system bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-table [MVP][WIP] less like pager (#6984) 2022-12-01 09:32:10 -06:00
nu-term-grid bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-test-support bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu-utils Rename $env.config.explore_config to $env.config.explore (for consistency with $env.config.ls, $env.config.table etc.) (#7317) 2022-12-02 01:42:18 -05:00
nu_plugin_custom_values bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_example bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_gstat bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_inc bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
nu_plugin_python Further edits to help messages (#6913) 2022-10-26 09:36:42 -07:00
nu_plugin_query bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -06:00
old bump to dev release v0.72.1 (#7281) 2022-11-30 16:06:22 -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.