mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-28 04:03:39 +08:00
34e27ff4c2
darcs-hash:20070116011828-ac50b-fb923dc877869ded4d506bbe0bc5364eea44092f.gz
46 lines
1.6 KiB
Fish
46 lines
1.6 KiB
Fish
#
|
|
# Completions for the shell interface to the KDE DCOP server
|
|
#
|
|
|
|
function __fish_complete_dcop -d "Completions for kde dcop"
|
|
set -l com (commandline)
|
|
|
|
if eval "$com >/dev/null 2>&1"
|
|
# use dcop output if available
|
|
eval "$com | sed -e 's/ (default)//; s/^\w[^ ]* \(\w*\)([^)]*)\$/\1/'"
|
|
|
|
else
|
|
set -l op (commandline -o)
|
|
|
|
if test (count $op) -le 2
|
|
# select an application
|
|
dcop | grep -- $op[-1]
|
|
else
|
|
# select a function
|
|
set -l o
|
|
for i in (seq 1 (count $op))
|
|
# strip the \ character which causes problems
|
|
set o[$i] (echo $op[$i] | sed -e 's/\\\//g')
|
|
end
|
|
|
|
set -l idx (seq 2 (expr (count $o) - 1))
|
|
# list only function names
|
|
dcop $o[$idx] | grep -- $o[-1] | sed -e 's/ (default)//; s/^\w[^ ]* \(\w*\)([^)]*)$/\1/'
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
complete -c dcop -l help -s h -f --description "Show help about options"
|
|
complete -c dcop -l user -x -a '(awk -F: "{print \$1}" /etc/passwd)' --description "Connect to the given user's DCOP server"
|
|
complete -c dcop -l all-users -f --description "Send the same DCOP call to all users with a running DCOP server"
|
|
complete -c dcop -l list-sessions -f --description "List all active KDE session for a user or all users"
|
|
complete -c dcop -l session -x -a '(dcop --list-sessions --all-users | grep DCOP)' --description "Send to the given KDE session"
|
|
complete -c dcop -l no-user-time -f --description "Don't update the user activity timestamp in the called application"
|
|
complete -c dcop -l pipe -f --description "Call DCOP for each line read from stdin"
|
|
|
|
complete -c dcop -x -a "(__fish_complete_dcop)"
|
|
|
|
|
|
|