diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | bd9e6617827818fd043452c08c606f07b78014a0 (patch) | |
tree | 425bb4c3168f9c02f10150f235d2cb998dcc6108 /scripts/completions/bash/dcop | |
download | tdesdk-bd9e6617827818fd043452c08c606f07b78014a0.tar.gz tdesdk-bd9e6617827818fd043452c08c606f07b78014a0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdesdk@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'scripts/completions/bash/dcop')
-rw-r--r-- | scripts/completions/bash/dcop | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scripts/completions/bash/dcop b/scripts/completions/bash/dcop new file mode 100644 index 00000000..675bf6cf --- /dev/null +++ b/scripts/completions/bash/dcop @@ -0,0 +1,52 @@ +# dcop completion +# +# Inputs: +# $1 -- name of the command whose arguments are being completed +# $2 -- word being completed +# $3 -- ord preceding the word being completed +# $COMP_LINE -- current command line +# $COMP_PONT -- cursor position +# $COMP_WORDS -- array containing individual words in the current +# command line +# $COMP_CWORD -- index into ${COMP_WORDS} of the word containing the +# current cursor position +# Output: +# COMPREPLY array variable contains possible completions +# +# dcop syntax: +# dcop [ application [object [function [arg1] [arg2] [arg3] ... ] ] ] +# +_complete_dcop () +{ + local wordlist + + COMPREPLY=() + wordlist="" + + if (( $COMP_CWORD == 1 )); then + # + # Application. This one is easy, just return all names that dcop + # gives us. + # + wordlist=$(dcop) + elif (( $COMP_CWORD == 2 )); then + # + # Object. 'dcop <application>' returns all objects the application + # supports plus (default). The parenthesis in (default) should be + # omitted when using it as an argument so we need to remove them. + # + wordlist=$(dcop ${COMP_WORDS[1]} | sed -e "s,(default),default,") + elif (( $COMP_CWORD == 3 )); then + # + # Function. 'dcop <application> <object>' returns functions of the + # form 'type functionname(arguments)'. We need to return a list with + # the functionnames. + # + wordlist=$(dcop ${COMP_WORDS[1]} ${COMP_WORDS[2]} | sed -e "s,.* \(.*\)(.*,\1,") + fi + + COMPREPLY=( $(compgen -W "$wordlist" "$2") ) + return 0 +} + +complete -F _complete_dcop dcop |