mirror of
https://github.com/nushell/nushell.git
synced 2025-05-28 14:07:08 +02:00
fixes #8577 # Description Currently, using `which` on an alias describes it as a nushell built-in command: ```bash > alias foo = print "foo!" > which ls foo --all ╭───┬─────┬──────────────────────────┬──────────╮ │ # │ arg │ path │ built-in │ ├───┼─────┼──────────────────────────┼──────────┤ │ 0 │ ls │ Nushell built-in command │ true │ │ 1 │ ls │ /bin/ls │ false │ │ 2 │ foo │ Nushell built-in command │ true │ ╰───┴─────┴──────────────────────────┴──────────╯ ``` This PR fixes the behaviour above to the following: ```bash > alias foo = print "foo!" > which ls foo --all ╭───┬─────┬──────────────────────────┬──────────╮ │ # │ arg │ path │ built-in │ ├───┼─────┼──────────────────────────┼──────────┤ │ 0 │ ls │ Nushell built-in command │ true │ │ 1 │ ls │ /bin/ls │ false │ │ 2 │ foo │ Nushell alias │ false │ ╰───┴─────┴──────────────────────────┴──────────╯ ``` # User-Facing Changes Passing in an alias to `which` will no longer return `Nushell built-in command`, `true` for `path` and `built-in` respectively. # Tests + Formatting # After Submitting
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.