summaryrefslogtreecommitdiff
path: root/contrib/qdbus
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/qdbus')
-rw-r--r--contrib/qdbus21
1 files changed, 9 insertions, 12 deletions
diff --git a/contrib/qdbus b/contrib/qdbus
index 1e70c708..879df68d 100644
--- a/contrib/qdbus
+++ b/contrib/qdbus
@@ -1,21 +1,18 @@
-# Qt qdbus completion
+# Qt qdbus, dcop completion
-have qdbus &&
+have qdbus || have dcop &&
_qdbus()
{
- local cur compstr
+ local cur
COMPREPLY=()
- cur=`_get_cword`
- if [ -z "$cur" ]; then
- compstr=${COMP_WORDS[*]}
- else
- compstr=$( command echo ${COMP_WORDS[*]} | sed "s/ ${cur/\//\\/}$//" )
- fi
- COMPREPLY=( $( compgen -W '$( command $compstr | sed s/\(.*\)// )' \
- -- "$cur" ) )
+ _get_comp_words_by_ref cur
+
+ [ -n "$cur" ] && unset COMP_WORDS[${#COMP_WORDS[@]}-1]
+ COMPREPLY=( $( compgen -W '$( command ${COMP_WORDS[@]} 2>/dev/null | \
+ sed s/\(.*\)// )' -- "$cur" ) )
} &&
-complete -F _qdbus qdbus
+complete -F _qdbus qdbus dcop
# Local variables:
# mode: shell-script