nushell/crates
Michael Angerman 95cd9dd2b2
move BufferedReader out of nu-command (#7697)
src/main.rs has a dependency on BufferedReader
which is currently located in nu_command.

I am moving BufferedReader to a more relevant
location (crate) which will allow / eliminate main's dependency
on nu_command in a benchmark / testing environment...

now that @rgwood  has landed benches I want
to start experimenting with benchmarks related
to the parser.

For benchmark purposes when dealing with parsing
you need a very simple set of commands that show
how well the parser is doing, in other words
just the core commands... Not all of nu_command...

Having a smaller nu binary when running the benchmark CI
would enable building nushell quickly, yet still show us
how well the parser is performing...

Once this PR lands the only dependency main will have
on nu_command is create_default_context ---
meaning for benchmark purposes we can swap in a tiny
crate of commands instead of the gigantic nu_command
which has its "own" create_default_context...

It will also enable other crates going forward to
use BufferedReader.  Right now it is not accessible
to other lower level crates because it is located in a
"top of the stack crate".
2023-01-06 15:22:17 -08:00
..
nu_plugin_custom_values Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_example Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_gstat Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu_plugin_inc Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu_plugin_python Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu_plugin_query Further cleanup of Span::test_data usage + span fixes (#7595) 2022-12-24 07:41:57 -06:00
nu-cli Extend config support from F1-F12 to F1-F20, #7666 (#7669) 2023-01-03 22:00:21 +01:00
nu-color-config align durations to the right (#7700) 2023-01-06 16:36:59 -06:00
nu-command move BufferedReader out of nu-command (#7697) 2023-01-06 15:22:17 -08:00
nu-engine Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-explore Make get hole errors and cell path hole errors identical (improvement on #7002) (#7647) 2023-01-02 14:45:43 -08:00
nu-glob Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-json Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-parser Limit recursion to avoid stack overflow (#7657) 2023-01-04 18:38:50 -08:00
nu-path Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-plugin Add Criterion benchmarks for parser (#7686) 2023-01-05 11:39:54 -08:00
nu-pretty-hex Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-protocol move BufferedReader out of nu-command (#7697) 2023-01-06 15:22:17 -08:00
nu-system Bump to new development version 0.73.1 (#7544) 2022-12-21 12:35:50 -06:00
nu-table Fix table expand wrap in case no header is there (#7605) 2022-12-27 07:44:34 -06:00
nu-term-grid Fix typos by codespell (#7600) 2022-12-26 02:31:26 -05:00
nu-test-support Upgrade all remaining crates to Rust 2021 (#7681) 2023-01-05 06:24:42 -06:00
nu-utils Add Criterion benchmarks for parser (#7686) 2023-01-05 11:39:54 -08: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.