mirror of
https://github.com/nushell/nushell.git
synced 2025-05-28 10:31:23 +00:00
close #8074 I attempted to refactor the "input" command. The reason for this is that the current implementation of the "input" command lacks consistency for different options. For instance, some parts use `std::io::stdin` while others use `crossterm::event::read`. In this pull request, I have made changes to use crossterm consistently: - Detection of the -u option is now done using `crossterm`'s `KeyCode::Char`. - The current input is displayed when using `crossterm` for input (it won't be displayed when -s is present). - Ctrl-C triggers SIGINT. # User-Facing Changes Users can interrupt "input" with ctrl-c.
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.