Bug 22238: Remove koha-*-sip scripts in favor of koha-sip
[koha.git] / debian / koha-common.bash-completion
index 934e279..b40ae47 100644 (file)
@@ -43,6 +43,21 @@ _build_substract_instances()
     echo "$substract"
 }
 
+_koha_single_instance()
+{
+    local filter=$1
+
+    cur=${COMP_WORDS[COMP_CWORD]}
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W "$(koha-list $filter)" $cur ) )
+    else
+        COMPREPLY=()
+    fi
+
+    return 0
+}
+
 _koha_list_cmd()
 {
     local filter=$1
@@ -56,10 +71,11 @@ _koha_list_cmd()
     if [[ "$substract" != "" ]]; then
         instancelist=$( koha-list $filter | grep -v -x $substract )
     else
-        instancelist=$( koha-list $filer )
+        instancelist=$( koha-list $filter )
     fi
 
     COMPREPLY=( $(compgen -W "$instancelist" -- $cur ) )
+    return 0
 }
 
 _koha_email_disable()
@@ -82,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"
@@ -114,10 +122,8 @@ complete -F _koha_disabled_instances koha-enable
 # koha-disable autocompletes with enabled instances
 complete -F _koha_enabled_instances koha-disable
 
-# koha-*-zebra autocomplete with enabled instances
-complete -F _koha_enabled_instances koha-start-zebra
-complete -F _koha_enabled_instances koha-restart-zebra
-complete -F _koha_enabled_instances koha-stop-zebra
+# koha-mysql autocompletes with a single instance name
+complete -F _koha_single_instance koha-mysql
 
 _koha_list()
 {
@@ -125,7 +131,7 @@ _koha_list()
 
     COMPREPLY=()
     _get_comp_words_by_ref cur
-    opts="--enabled --disabled --email --noemail --sip --nosip --help -h"
+    opts="--enabled --disabled --email --noemail --plack --noplack --sip --nosip --help -h"
 
     # Build a list of the already used option switches
     for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
@@ -139,6 +145,10 @@ _koha_list()
                     substract="$substract -e --noemail"; ;;
                 --noemail)
                     substract="$substract -e --email"; ;;
+                --plack)
+                    substract="$substract -e --noplack"; ;;
+                --noplack)
+                    substract="$substract -e --plack"; ;;
                 --sip)
                     substract="$substract -e --nosip"; ;;
                 --nosip)
@@ -162,6 +172,167 @@ _koha_list()
 }
 complete -F _koha_list koha-list
 
+_koha_plack_instances()
+{
+    _koha_list_cmd "--plack"
+    return 0
+}
+
+_koha_noplack_instances()
+{
+    _koha_list_cmd "--noplack"
+    return 0
+}
+
+_koha-plack()
+{
+    local cur opts substract
+
+    COMPREPLY=()
+    _get_comp_words_by_ref cur
+    opts="--start --stop --restart --enable --disable --quiet -q --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_plack_instances ; return 0 ;;
+                 --stop) _koha_plack_instances ; return 0 ;;
+              --restart) _koha_plack_instances ; return 0 ;;
+               --enable) _koha_noplack_instances ; return 0 ;;
+              --disable) _koha_plack_instances ; return 0 ;;
+                 --help) COMPREPLY=() ; return 0 ;; # no more completions
+                     -h) COMPREPLY=() ; return 0 ;; # no more completions
+                --quiet) # filter the other quiet switches and go on
+                    substract="$substract -e -q"; ;;
+                -q)      # filter the other quiet switches and go on
+                    substract="$substract -e --quiet"; ;;
+            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-plack koha-plack
+
+_koha-indexer()
+{
+    local cur opts substract
+
+    COMPREPLY=()
+    _get_comp_words_by_ref cur
+    opts="--start --stop --restart --quiet -q --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_list_cmd ; return 0 ;;
+                 --stop) _koha_list_cmd ; return 0 ;;
+              --restart) _koha_list_cmd ; return 0 ;;
+                 --help) COMPREPLY=() ; return 0 ;; # no more completions
+                     -h) COMPREPLY=() ; return 0 ;; # no more completions
+                --quiet) # filter the other quiet switches and go on
+                    substract="$substract -e -q"; ;;
+                -q)      # filter the other quiet switches and go on
+                    substract="$substract -e --quiet"; ;;
+            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-indexer koha-indexer
+
+_koha-zebra()
+{
+    local cur opts substract
+
+    COMPREPLY=()
+    _get_comp_words_by_ref cur
+    opts="--start --stop --restart --status --quiet -q --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_list_cmd ; return 0 ;;
+                 --stop) _koha_list_cmd ; return 0 ;;
+              --restart) _koha_list_cmd ; return 0 ;;
+               --status) _koha_list_cmd ; return 0 ;;
+                 --help) COMPREPLY=() ; return 0 ;; # no more completions
+                     -h) COMPREPLY=() ; return 0 ;; # no more completions
+                --quiet) # filter the other quiet switches and go on
+                    substract="$substract -e -q"; ;;
+                -q)      # filter the other quiet switches and go on
+                    substract="$substract -e --quiet"; ;;
+            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-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