Restructure __fish_seen_subcommand_from

Both are plenty fast enough, but this way the output of fish_trace isn't
completely taken over by the loops (seems fair since fish_trace probably gets
used rather heavily for completions).
This commit is contained in:
Mahmoud Al-Qudsi 2024-07-07 14:07:05 -05:00
parent 11be48fc38
commit 2bfa7db7bc

View File

@ -1,16 +1,10 @@
#
# Test to see if we've seen a subcommand from a list.
# This logic may seem backwards, but the commandline will often be much shorter
# than the list
# than the list
#
function __fish_seen_subcommand_from
set -l cmd (commandline -pxc)
set -e cmd[1]
for i in $cmd
if contains -- $i $argv
return 0
end
end
return 1
set regex (string escape --style=regex -- (commandline -pxc)[2..] | string join '|')
string match -rq -- '^'$regex'$' $argv
end