mirror of
https://github.com/nushell/nushell.git
synced 2024-11-22 00:13:21 +01:00
f97443aff6
Re-fixes #3674, if that is seen as desirable to do. # Description This PR changes the implementation of the `--features=extra` string casing commands from Inflector to `heck`, as in PR #4081. This PR landed a long time ago, but somewhere along the way (i can't find it) the implementation ended up being switched back to Inflector. # User-Facing Changes Inflector and `heck` implement casing differently, so all of the commands have different behavior around edge cases (consecutive capitals, interspersed numbers and letters, etc) ### Before ```nu G:/Dev/nu-itself/nushell> [UserID ABCdefGHI foo123bar] | str camel-case ╭───┬───────────╮ │ 0 │ userID │ │ 1 │ abcdefGHI │ │ 2 │ foo123Bar │ ╰───┴───────────╯ G:/Dev/nu-itself/nushell> [UserID ABCdefGHI foo123bar] | str snake-case ╭───┬─────────────╮ │ 0 │ user_id │ │ 1 │ ab_cdef_ghi │ │ 2 │ foo_12_3bar │ ╰───┴─────────────╯ ``` ### After ```nu G:/Dev/nu-itself/nushell> [UserID ABCdefGHI foo123bar] | str camel-case ╭───┬───────────╮ │ 0 │ userId │ │ 1 │ abCdefGhi │ │ 2 │ foo123bar │ ╰───┴───────────╯ G:/Dev/nu-itself/nushell> [UserID ABCdefGHI foo123bar] | str snake-case ╭───┬─────────────╮ │ 0 │ user_id │ │ 1 │ ab_cdef_ghi │ │ 2 │ foo123bar │ ╰───┴─────────────╯ ``` # Tests + Formatting The existing string casing tests pass... because none of them relied on any of these edge cases |
||
---|---|---|
.. | ||
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