forked from extern/nushell
0f600bc3f5
# Description Add an extension trait `IgnoreCaseExt` to nu_utils which adds some case insensitivity helpers, and use them throughout nu to improve the handling of case insensitivity. Proper case folding is done via unicase, which is already a dependency via mime_guess from nu-command. In actuality a lot of code still does `to_lowercase`, because unicase only provides immediate comparison and doesn't expose a `to_folded_case` yet. And since we do a lot of `contains`/`starts_with`/`ends_with`, it's not sufficient to just have `eq_ignore_case`. But if we get access in the future, this makes us ready to use it with a change in one place. Plus, it's clearer what the purpose is at the call site to call `to_folded_case` instead of `to_lowercase` if it's exclusively for the purpose of case insensitive comparison, even if it just does `to_lowercase` still. # User-Facing Changes - Some commands that were supposed to be case insensitive remained only insensitive to ASCII case (a-z), and now are case insensitive w.r.t. non-ASCII characters as well. # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` --------- Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com> |
||
---|---|---|
.. | ||
assets | ||
src | ||
tests | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-cmd-extra
the extra commands are not part of the Nushell binary
The commands in this crate are the extra commands of Nushell. They do not get built for the release and it is the responsibility of the developer to build these commands if they want to use them.
These commands are not going to part of the 1.0 Api; meaning that there is no guarantee longer term that these commands will be around into the future. Of course since they are part of the source tree one could always incorporate them into their own custom release.
How to build the commands in this crate
Step 1 is to read the installation notes for Nushell which is located in our Nushell book.
Once Rust is installed you can then build Nushell with the following command.
cargo build --features=extra
Your Nushell binary which just got built is called nu and will be located here.
nushell/target/debug/nu