nushell/crates
Antoine Stevan 43a3983d36
REFACTOR: move the banner from the rust source to the standard library (#8406)
Related to:
- #8311 
- #8353

# Description
with the new `$nu.startup-time` from #8353 and as mentionned in #8311,
we are now able to fully move the `nushell` banner from the `rust`
source base to the standard library.

this PR
- removes all the `rust` source code for the banner
- rewrites a perfect clone of the banner to `std.nu`, called `std
banner`
- call `std banner` from `default_config.nu`

# User-Facing Changes
see the demo: https://asciinema.org/a/566521

- no config will show the banner (e.g. `cargo run --release --
--no-config-file`)
- a custom config without the `if $env.config.show_banner` block and no
call to `std banner` would never show the banner
- a custom config with the block and `config.show_banner = true` will
show the banner
- a custom config with the block and `config.show_banner = false` will
NOT show the banner

# Tests + Formatting
a new test line has been added to `tests.nu` to check the length of the
`std banner` output.
- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

# After Submitting
```
$nothing
```

---------

Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
2023-05-10 07:05:01 -05:00
..
nu-cli REFACTOR: move the banner from the rust source to the standard library (#8406) 2023-05-10 07:05:01 -05:00
nu-cmd-lang Allow creating modules from directories (#9066) 2023-05-06 21:39:54 +03:00
nu-color-config Bump tabled dependency to 0.11 (#8922) 2023-04-26 13:56:10 -05:00
nu-command add a negation glob option to the glob command (#9153) 2023-05-10 06:31:34 -05:00
nu-engine Change type of flag defaults to Option<Value> (#9085) 2023-05-03 23:09:36 +02:00
nu-explore nu-explore: Fix repeated char issue in cmdline (#9139) 2023-05-08 12:38:42 -05:00
nu-glob update nu-glob based on latest glob 0.3.1 changes (#9099) 2023-05-08 09:07:01 -05:00
nu-json Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-parser Reuse parsed modules (#9125) 2023-05-07 14:41:40 +03:00
nu-path Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-plugin Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-pretty-hex Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-protocol Reuse parsed modules (#9125) 2023-05-07 14:41:40 +03:00
nu-std REFACTOR: move the banner from the rust source to the standard library (#8406) 2023-05-10 07:05:01 -05:00
nu-system Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-table Fix #9038 (#9042) 2023-04-28 12:50:42 -05:00
nu-term-grid Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-test-support Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu-utils FEATURE: highlight some prompt parts (#9094) 2023-05-03 16:36:27 -05:00
nu_plugin_custom_values Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu_plugin_example Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu_plugin_formats Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu_plugin_gstat Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu_plugin_inc Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02:00
nu_plugin_python update nu_plugin_python due to signature changes (#8107) 2023-02-18 13:27:24 +00:00
nu_plugin_query Bump to 0.79.1 dev version (#8998) 2023-04-26 01:05:23 +02: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.