summaryrefslogtreecommitdiffstats
path: root/scripts/completions
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/completions')
-rw-r--r--scripts/completions/bash/dcop52
-rw-r--r--scripts/completions/zsh/_dcop11
-rw-r--r--scripts/completions/zsh/_kcmshell16
-rw-r--r--scripts/completions/zsh/_kdeinit_wrapper6
-rw-r--r--scripts/completions/zsh/_kdekillall8
-rw-r--r--scripts/completions/zsh/_makeobj30
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