mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-24 05:59:15 +08:00
31 lines
787 B
Fish
31 lines
787 B
Fish
|
function __fish_complete_list --argument div cmd prefix iprefix
|
||
|
if not set -q cmd[1]
|
||
|
echo "Usage:
|
||
|
__fish_complete_list <separator> <function> <prefix> <itemprefix>
|
||
|
where:
|
||
|
separator - a symbol, separating individual entries
|
||
|
function - a function which prints a completion list to complete each entry
|
||
|
prefix - a prefix, which is printed before the list
|
||
|
itemprefix - a prefi, which is printed before each item" > /dev/stderr
|
||
|
return 1
|
||
|
end
|
||
|
set -q iprefix[1]
|
||
|
or set -l iprefix ""
|
||
|
set -q prefix[1]
|
||
|
or set -l prefix ""
|
||
|
set -l pat (commandline -t)
|
||
|
#set -l pat $argv[5]
|
||
|
switch $pat
|
||
|
case "*$div*"
|
||
|
for i in (echo $pat | sed "s/^\(.\+$div\)$iprefix.*\$/\1/")$iprefix(eval $cmd)
|
||
|
echo $i
|
||
|
end
|
||
|
case '*'
|
||
|
for i in $prefix$iprefix(eval $cmd)
|
||
|
echo $i
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
end
|