fish-shell/share/functions/__fish_seen_argument.fish
Mahmoud Al-Qudsi 0cccbfcaaa Extend __fish_seen_argument to support raw arguments
This allows it to just directly match any literals (passed after `--`) without
treating them as pre-processed short/long/old arguments.
2022-09-27 14:19:37 -05:00

40 lines
997 B
Fish

function __fish_seen_argument --description 'Check whether argument is used'
argparse --ignore-unknown 's/short=+' 'o/old=+' 'l/long=+' 'w/windows=+' -- $argv
set --local tokens (commandline --current-process --tokenize --cut-at-cursor)
set --erase tokens[1]
for t in $tokens
for s in $_flag_s
if string match --regex --quiet -- "^-[A-z0-9]*"$s"[A-z0-9]*\$" $t
return 0
end
end
for o in $_flag_o
if string match --quiet -- "-$o" $t
return 0
end
end
for l in $_flag_l
if string match --quiet -- "--$l" $t
return 0
end
end
for w in $_flag_w
if string match --quiet -- "/$w" $t
return 0
end
end
for raw_arg in $argv
if string match --quiet -- $t $raw_arg
return 0
end
end
end
return 1
end