ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / debian / koha-common.bash-completion
index 276cba0..b40ae47 100644 (file)
@@ -98,20 +98,12 @@ _koha_sip_enabled_instances()
     return 0
 }
 
-# koha-*-sip autocomplete with sip-enabled instances
-complete -F _koha_sip_enabled_instances koha-start-sip
-complete -F _koha_sip_enabled_instances koha-restart-sip
-complete -F _koha_sip_enabled_instances koha-stop-sip
-
 _koha_sip_disabled()
 {
     _koha_list_cmd "--nosip"
     return 0
 }
 
-# koha-enable-sip autocompletes with sip-disabled instances
-complete -F _koha_sip_disabled koha-enable-sip
-
 _koha_disabled_instances()
 {
     _koha_list_cmd "--disabled"
@@ -303,6 +295,44 @@ _koha-zebra()
 }
 complete -F _koha-zebra koha-zebra
 
+_koha-sip()
+{
+    local cur opts substract
+
+    COMPREPLY=()
+    _get_comp_words_by_ref cur
+    opts="--start --stop --restart --status --enable --verbose -v --help -h"
+
+    # Build a list of the already used option switches
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == -* ]]; then
+            case ${COMP_WORDS[i]} in
+                --start) _koha_sip_enabled_instances ; return 0 ;;
+                 --stop) _koha_sip_enabled_instances ; return 0 ;;
+              --restart) _koha_sip_enabled_instances ; return 0 ;;
+               --status) _koha_sip_enabled_instances ; return 0 ;;
+               --enable) _koha_sip_disabled ; return 0 ;;
+                 --help) COMPREPLY=() ; return 0 ;; # no more completions
+                     -h) COMPREPLY=() ; return 0 ;; # no more completions
+              --verbose) # filter the other quiet switches and go on
+                    substract="$substract -e -q"; ;;
+                -v)      # filter the other quiet switches and go on
+                    substract="$substract -e --verbose"; ;;
+            esac
+            substract="$substract -e ${COMP_WORDS[i]}"
+        fi
+    done
+
+    if [[ "$substract" != "" ]]; then
+        opts=$( echo $opts | sed -e 's/ /\n/g'  | grep -v -x $substract )
+    fi
+
+    COMPREPLY=( $(compgen -W "$opts" -- $cur ) )
+
+    return 0
+}
+complete -F _koha-sip koha-sip
+
 # Local variables:
 # mode: shell-script
 # sh-basic-offset: 4