nushell/crates/nu-command/src
Stefan Holderbach 46eebc644c
Break up interdependencies of command crates (#9429)
# Description
Make sure that our different crates that contain commands can be
compiled in parallel.
This can under certain circumstances accelerate the compilation with
sufficient multithreading available.

## Details
- Move `help` commands from `nu-cmd-lang` back to `nu-command`
- This also makes sense as the commands are implemented in an
ANSI-terminal specific way
- Make `nu-cmd-lang` only a dev dependency for `nu-command`
- Change context creation helpers for `nu-cmd-extra` and
`nu-cmd-dataframe` to have a consistent api used in
`src/main.rs`:`get_engine_state()`
- `nu-command` now indepedent from `nu-cmd-extra` and `nu-cmd-dataframe`
that are now dependencies of `nu` directly. (change to internal
features)
- Fix tests that previously used `nu-command::create_default_context()`
with replacement functions

## From scratch compilation times:

just debug (dev) build and default features
```
cargo clean --profile dev && cargo build --timings
```

### before

![grafik](https://github.com/nushell/nushell/assets/15833959/e49f1f42-2e53-4a6c-bc23-625b686af1bc)

### after

![grafik](https://github.com/nushell/nushell/assets/15833959/8dec4723-e625-4a86-b91e-e6e808f64726)

# User-Facing Changes
None direct, only change to compilation on multithreaded jobs expected.

# Tests + Formatting
Tests that previously chose to use `nu-command` for their scope will
still use `nu-cmd-lang` + `nu-command` (command list in the granularity
at the time)
2023-06-14 23:12:55 +02:00
..
bytes make bytes at use ranges (#8710) 2023-04-03 04:28:36 +12:00
charting Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
conversions Fix clippy warnings (upcoming) (#9282) 2023-05-25 10:58:18 +12:00
database Add pattern matching (#8590) 2023-03-24 14:52:01 +13:00
date Update some help examples (#8759) 2023-04-05 18:36:00 -05:00
debug Apply nightly clippy fixes (#9381) 2023-06-08 18:49:58 +02:00
deprecated Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
env Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
experimental fix is-admin example (#9350) 2023-06-03 15:11:14 -05:00
filesystem chore: rename uid to user column in ls --long (#9407) 2023-06-11 18:02:08 +02:00
filters Break up interdependencies of command crates (#9429) 2023-06-14 23:12:55 +02:00
formats Remove ZB and ZiB from file size type (#9427) 2023-06-14 10:53:32 -05:00
generators Document and critically review ShellError variants - Ep. 2 (#8326) 2023-03-06 11:31:07 +01:00
hash optimize hash md5 for binary input (#8860) 2023-04-13 19:29:06 +02:00
help Break up interdependencies of command crates (#9429) 2023-06-14 23:12:55 +02:00
math Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
misc REFACTOR: move source out of deprecated commands (#9060) 2023-05-04 00:02:03 +02:00
network Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
path Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
platform Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
random Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
shells REFACTOR: remove the shell commands (#8415) 2023-05-13 12:40:11 -05:00
strings Add "regex" search term to commands with regex functionality (#9402) 2023-06-11 00:02:00 +02:00
system Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
viewers Move explore command out of nu-command deps (#9421) 2023-06-14 01:18:36 +02:00
default_context.rs Break up interdependencies of command crates (#9429) 2023-06-14 23:12:55 +02:00
example_test.rs Changes HashMap to use aHash instead, giving a performance boost. (#9391) 2023-06-10 11:41:58 -05:00
hook.rs Fix config creation during printing (#9353) 2023-06-04 22:04:28 +03:00
input_handler.rs Box ShellError in Value::Error (#8375) 2023-03-12 09:57:27 +01:00
lib.rs Break up interdependencies of command crates (#9429) 2023-06-14 23:12:55 +02:00
progress_bar.rs cp progress bar implementation (#8012) 2023-02-22 11:57:38 -08:00
sort_utils.rs Support passing an empty list to sort, uniq, sort-by, and uniq-by (issue #5957) (#8669) 2023-03-29 19:55:38 -07:00
util.rs Fix process_range on 32-bit platforms (#8842) 2023-04-11 06:52:42 +12:00