mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 19:57:44 +02:00
Exclude deprecated commands from completions (#9612)
# Description We previously simply searched all commands in the working set. As our deprecated/removed subcommands are documented by stub commands that don't do anything apart from providing a message, they were still included. With this change we check the `Signature.category` to not be `Category::Deprecated`. ## Note on performance Making this change will exercise `Command.signature()` more frequently! As the rust-implemented commands include their builders here this probably will cause a number of extra allocations. There is actually no valid reason why the commands should construct a new `Signature` for each call to `Command.signature()`. This will introduce some overhead to generate the completions for commands. # User-Facing Changes Example: `str <TAB>` 
This commit is contained in:
committed by
GitHub
parent
406b606398
commit
881c3495c1
@ -89,7 +89,7 @@ impl CommandCompletion {
|
||||
let filter_predicate = |command: &[u8]| match_algorithm.matches_u8(command, partial);
|
||||
|
||||
let mut results = working_set
|
||||
.find_commands_by_predicate(filter_predicate)
|
||||
.find_commands_by_predicate(filter_predicate, true)
|
||||
.into_iter()
|
||||
.map(move |x| Suggestion {
|
||||
value: String::from_utf8_lossy(&x.0).to_string(),
|
||||
|
Reference in New Issue
Block a user