fish-shell/share/completions/history.fish
Kurtis Rader e9b5505169 add a flag to limit history search results
This adds a flag to the `history search` command to limit the number of
matching entries to the first "n". The default is unlimited. This is
mostly useful in conjunction with aliases (i.e., functions) that are
intended to report the "n" most recent matching history entries without
piping the result through the user's pager.

Fixes #3244
2016-09-23 19:43:58 -07:00

26 lines
1.5 KiB
Fish

# Note that when a completion file is sourced a new block scope is created so `set -l` works.
set -l __fish_history_all_commands search delete save merge clear
# Note that these options are only valid with the "search" and "delete" subcommands.
complete -c history -n '__fish_seen_subcommand_from search delete' \
-s p -l prefix -d "Match items beginning with the string"
complete -c history -n '__fish_seen_subcommand_from search delete' \
-s c -l contains -d "Match items containing the string"
complete -c history -n '__fish_seen_subcommand_from search delete' \
-s e -l exact -d "Match items identical to the string"
complete -c history -n '__fish_seen_subcommand_from search delete' \
-s t -l show-time -d "Output with timestamps"
complete -c history -n '__fish_seen_subcommand_from search' \
-s n -l max -d "Limit output to the first 'n' matches"
# We don't include a completion for the "save" subcommand because it should not be used
# interactively.
complete -f -c history -n "not __fish_seen_subcommand_from $__fish_history_all_commands" \
-a search -d "Prints commands from history matching the strings"
complete -f -c history -n "not __fish_seen_subcommand_from $__fish_history_all_commands" \
-a delete -d "Deletes commands from history matching the strings"
complete -f -c history -n "not __fish_seen_subcommand_from $__fish_history_all_commands" \
-a merge -d "Incorporate history changes from other sessions"
complete -f -c history -n "not __fish_seen_subcommand_from $__fish_history_all_commands" \
-a clear -d "Clears history file"