mirror of
https://github.com/fish-shell/fish-shell
synced 2024-11-10 23:24:39 +00:00
Add dcop completions, written by David Bitseff
darcs-hash:20061208215855-ac50b-aa2ee1fc551ce7bca50d5979800e6674015a3737.gz
This commit is contained in:
parent
b156f083be
commit
1d3465698f
1 changed files with 45 additions and 0 deletions
45
share/completions/dcop.fish
Normal file
45
share/completions/dcop.fish
Normal file
|
@ -0,0 +1,45 @@
|
|||
#
|
||||
# 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/^\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/^\w[^ ]* \(\w*\)([^)]*)$/\1/'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
complete -c dcop -l help -s h -f -d (N_ "Show help about options")
|
||||
complete -c dcop -l user -x -a '(awk -F: "{print \$1}" /etc/passwd)' -d (N_ "Connect to the given user's DCOP server")
|
||||
complete -c dcop -l all-users -f -d (N_ "Send the same DCOP call to all users with a running DCOP server")
|
||||
complete -c dcop -l list-sessions -f -d (N_ "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)' -d (N_ "Send to the given KDE session")
|
||||
complete -c dcop -l no-user-time -f -d (N_ "Don't update the user activity timestamp in the called application")
|
||||
complete -c dcop -l pipe -f -d (N_ "Call DCOP for each line read from stdin")
|
||||
|
||||
complete -c dcop -x -a "(__fish_complete_dcop)"
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue