fish-shell/share/completions/wvdial.fish
Johannes Altmanninger 49c5f96470 Use set -l to force use of a local variable
Bare set overwrites a global/universal variable if it exists.
2020-05-15 08:25:07 +02:00

34 lines
1.1 KiB
Fish

function __fish_complete_wvdial_peers --description 'Complete wvdial peers' --argument cfgfiles
set -q cfgfiles[1]
or set -l cfgfiles /etc/wvdial.conf ~/.wvdialrc
# test if there is an alternative config file specified
set -l store_next
for opt in (commandline -cpo)
if set -q store_next[1]
set store_next
set cfgfiles $opt
continue
end
switch $opt
case -C --config
set store_next true
case '--config=*'
set cfgfiles (echo $opt | string replace '--config=' '')
end
end
for file in $cfgfiles
if test -f $file
string match -r '\[Dialer' <$file | string replace -r '\[Dialer (.+)\]' '$1'
end
end | sort -u | string match -v Defaults
end
complete -c wvdial -xa "(__fish_complete_wvdial_peers)" -d "wvdial connections"
complete -c wvdial -s c -l chat -d 'Run wvdial as chat replacement from within pppd'
complete -c wvdial -s C -l config -r -d 'Run wvdial with alternative config file'
complete -c wvdial -s n -l no-syslog -d 'Don\'t output debug information'