From bd9e6617827818fd043452c08c606f07b78014a0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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 --- scripts/completions/bash/dcop | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 scripts/completions/bash/dcop (limited to 'scripts/completions/bash') 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 ' 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 ' 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 -- cgit v1.2.1