diff options
Diffstat (limited to 'scripts/completions')
-rw-r--r-- | scripts/completions/bash/dcop | 52 | ||||
-rw-r--r-- | scripts/completions/zsh/_dcop | 11 | ||||
-rw-r--r-- | scripts/completions/zsh/_kcmshell | 16 | ||||
-rw-r--r-- | scripts/completions/zsh/_kdeinit_wrapper | 6 | ||||
-rw-r--r-- | scripts/completions/zsh/_kdekillall | 8 | ||||
-rw-r--r-- | scripts/completions/zsh/_makeobj | 30 |
6 files changed, 123 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 diff --git a/scripts/completions/zsh/_dcop b/scripts/completions/zsh/_dcop new file mode 100644 index 00000000..c3fe6a50 --- /dev/null +++ b/scripts/completions/zsh/_dcop @@ -0,0 +1,11 @@ +#compdef dcop + +local tmp + +if [ CURRENT -eq 4 ]; then + tmp=(`$words[1,CURRENT-1] 2>/dev/null | sed -e "s,.* \(.*\)(.*,\1,"`) +else + tmp=(`$words[1,CURRENT-1] 2>/dev/null | sed -e "s,(default),default,"`) +fi + +compadd -a tmp diff --git a/scripts/completions/zsh/_kcmshell b/scripts/completions/zsh/_kcmshell new file mode 100644 index 00000000..57f9fc82 --- /dev/null +++ b/scripts/completions/zsh/_kcmshell @@ -0,0 +1,16 @@ +#compdef kcmshell=kcmshell appletproxy=appletproxy + +local i resource tmp dir flags +if [ "$service" = "kcmshell" ]; then + resource="apps"; + dir="/Settings"; + flags=":t:r"; +else + resource="data"; + dir="/kicker/applets"; + flags=":t" +fi +for i in `kde-config --path $resource| sed -e 's/:/ /g'`; do + tmp=($i/$dir/**/*.desktop($flags)) + compadd -a tmp +done diff --git a/scripts/completions/zsh/_kdeinit_wrapper b/scripts/completions/zsh/_kdeinit_wrapper new file mode 100644 index 00000000..a5fd75a0 --- /dev/null +++ b/scripts/completions/zsh/_kdeinit_wrapper @@ -0,0 +1,6 @@ +#compdef kdeinit_wrapper + +# Yes, this could be improved + +_arguments \ + '*::arguments: _normal' diff --git a/scripts/completions/zsh/_kdekillall b/scripts/completions/zsh/_kdekillall new file mode 100644 index 00000000..16ab40dc --- /dev/null +++ b/scripts/completions/zsh/_kdekillall @@ -0,0 +1,8 @@ +#compdef kdekillall + +local progs +progs=(`ps x | grep kdeinit: | grep -v Running | grep -v grep | sed 's,.*kdeinit: ,,' | sed 's, .*,,'`) + +_alternative \ + 'signals:: _signals -p' \ + 'compadd $progs' diff --git a/scripts/completions/zsh/_makeobj b/scripts/completions/zsh/_makeobj new file mode 100644 index 00000000..738a952c --- /dev/null +++ b/scripts/completions/zsh/_makeobj @@ -0,0 +1,30 @@ +#compdef makeobj + +local index olddir dir subdir + +olddir=$PWD +index="$words[(I)-[fCI]]" +if ! ((index)); then + if [ ! -f Makefile ]; then + if [ -n "$OBJ_SUBDIR" ]; then + dir=$PWD + subdir=. + while [ -n "$dir" -a $dir != '/' -a ! -f $dir/$OBJ_SUBDIR/$subdir/Makefile ]; do + dir=$dir(:h) + subdir=$dir(:t)/$subdir + done + if -f $dir/$OBJ_SUBDIR/$subdir/Makefile; then + cd $dir/$OBJ_SUBDIR/$subdir + fi + elif [ -n "$OBJ_REPLACEMENT" ]; then + dir=$(echo $PWD | sed -e "$OBJ_REPLACEMENT") + if [ -f $dir/Makefile ]; then + cd $dir + fi + fi + fi +fi + +_make + +cd $olddir |