]> kaliko git repositories - mpd-sima.git/blobdiff - data/bash/completion.sh
Update bash completion
[mpd-sima.git] / data / bash / completion.sh
index 0d320cab5b2157d6d342f00f5a63c1c382da0f70..f932c9a95a8485d2dfc4aff088f7b80610146a0b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, 2011, 2013, 2014, 2015 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2010, 2011, 2013, 2014, 2015, 2021, 2022 kaliko <kaliko@azylum.org>
 #
 #  This file is part of MPD_sima
 #
@@ -33,9 +33,18 @@ _sima() {
           -S --host \
           -P --port \
           -h --help --version \
-          --var-dir --var_dir \
-          --generate-config \
-          -d --daemon"
+          --var-dir \
+          -d --daemon \
+          config-test \
+          create-db \
+          generate-config \
+          purge-history \
+          bl-view \
+          bl-add-artist \
+          bl-add-album \
+          bl-add-track \
+          bl-delete \
+          random"
 
     if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
         COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
@@ -43,65 +52,22 @@ _sima() {
     fi
 
     case "${prev}" in
-        --var_dir|--var-dir)
+        --var-dir)
             _filedir -d
             ;;
         -v|--log-level)
             COMPREPLY=( $(compgen -W "debug info warning error" -- ${cur} ))
             ;;
-        -p|--pid|-l|--log)
-            _filedir
-            ;;
-        -c|--config)
-            _filedir
-            if [ -z $XDG_DATA_HOME ]; then
-                local confnames=$(for x in $(ls -1 $HOME/.config/mpd_sima/*.cfg $PWD/*.cfg 2>/dev/null) ; do echo "${x##*//}"; done)
-            else
-                local confnames=$(for x in $(ls -1 $HOME/.config/mpd_sima/*.cfg $XDG_DATA_HOME/mpd_sima/*.cfg $PWD/*.cfg 2>/dev/null) ; do echo "${x##*//}"; done)
-            fi
-            COMPREPLY+=( $(compgen -W "${confnames}" -- ${cur} ) )
-            return 0
-            ;;
-        --host|-S)
-            COMPREPLY=( $(compgen -A hostname ${cur}) )
-            ;;
-        *)
-            ;;
-    esac
-}
-complete -F _sima mpd_sima
-complete -F _sima mpd-sima
-
-_simadb_cli() {
-    local cur prev opts
-    local IFS=$'\n'
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
-    opts="--purge_hist \
-        --bl_curr_trk --bl_curr_art --bl_curr_al --bl_art --remove_bl --view_bl \
-        --dbfile -d \
-        --host -S --port -P \
-        --check_names -c \
-        --version -h --help"
-    opts=$(echo $opts | sed 's/ /\n/g')
-
-    if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
-        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
-        return 0
-    fi
-
-    case "${prev}" in
-        --bl_curr*|--view_bl|--view_all|--purge_hist|--version|--help|-h)
-            return 0
-            ;;
-        -d|--dbfile)
+        -p|--pid|-l|--log|-c|--config)
             _filedir
             ;;
         --host|-S)
-            COMPREPLY=( $(compgen -A hostname ${cur}) )
+            _known_hosts_real -a "${cur}"
             ;;
         *)
+            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
             ;;
     esac
 }
-complete -F _simadb_cli simadb_cli
+complete -o nosort -F _sima mpd_sima
+complete -o nosort -F _sima mpd-sima