From bf102dba8235e895c8b87bcceff6eb3abdd729a4 Mon Sep 17 00:00:00 2001 From: ShengHuang Date: Sat, 4 Nov 2023 23:15:02 +0800 Subject: [PATCH 1/2] chore: add bash completion --- install/shell-completion/daed | 105 ++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 install/shell-completion/daed diff --git a/install/shell-completion/daed b/install/shell-completion/daed new file mode 100644 index 00000000..4dccd7f6 --- /dev/null +++ b/install/shell-completion/daed @@ -0,0 +1,105 @@ +# bash completion for daed -*- shell-script -*- +# +# To be installed in "/usr/share/bash-completion/completions/daed" + +_daed() { + local prev cur cmd export_cmd resetpwd_opts run_opts + COMPREPLY=() + + prev="${COMP_WORDS[COMP_CWORD-1]}" + cur="${COMP_WORDS[COMP_CWORD]}" + cmd="export help resetpass run" + export_cmd="flatdesc outline schema" + resetpwd_opts="-c --config" + run_opts="--api-only -c --config --disable-timestamp -l --listen --logfile\ + --logfile-maxbackups --logfile-maxsize" + + case "${prev}" in + help) + return 0 + ;; + + flatdesc|outline|schema) + COMPREPLY=( $(compgen -W "-h --help" -- "${cur}") ) + return 0 + ;; + + export) + COMPREPLY=( $(compgen -W "$export_cmd -h --help" -- "${cur}") ) + return 0 + ;; + + resetpass) + COMPREPLY=( $(compgen -W "$resetpwd_opts -h --help" -- "${cur}") ) + return 0 + ;; + + run) + COMPREPLY=( $(compgen -W "$run_opts -h --help" -- "${cur}") ) + return 0 + ;; + + --api-only|--disable-timestamp|-l|--listen|--logfile|\ + --logfile-maxbackup|--logfile-maxsize|-c|--config|*/*) + + case "${prev}" in + --logfile) + _filedir + return 0 + ;; + esac + + case "${prev}" in + -c|--config) + _filedir -d + return 0 + ;; + esac + + # run cmd multi option completetion + case "${COMP_WORDS[1]}" in + run) + COMPREPLY=( $(compgen -W "$run_opts -h --help" -- "${cur}") ) + return 0 + ;; + esac + + return 0 + ;; + + -h|--help|-v|--version) + return 0 + ;; + *) + ;; + esac + + case "${cur}" in + -*) + COMPREPLY=( $( compgen -W "--version --help -v -h" -- "${cur}") ) + return 0 + ;; + --*) + COMPREPLY=( $( compgen -W "--version --help" -- "${cur}") ) + return 0 + ;; + *) + case "${COMP_WORDS[1]}" in + export|help|resetpass|run) + return 0 + ;; + esac + COMPREPLY=( $( compgen -W "${cmd}" -- "${cur}") ) + return 0 + ;; + + esac + +} + +if [[ -n ${ZSH_VERSION} ]]; then + autoload -U bashcompinit + bashcompinit +fi + +complete -F _daed daed From 98a3812c5fa9ffe7bf4adbee1124a35420df8a20 Mon Sep 17 00:00:00 2001 From: ShengHuang Date: Mon, 6 Nov 2023 04:44:03 +0800 Subject: [PATCH 2/2] chore: give up compatibility with zsh --- install/shell-completion/{daed => daed.bash} | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) rename install/shell-completion/{daed => daed.bash} (92%) diff --git a/install/shell-completion/daed b/install/shell-completion/daed.bash similarity index 92% rename from install/shell-completion/daed rename to install/shell-completion/daed.bash index 4dccd7f6..3ac5edc4 100644 --- a/install/shell-completion/daed +++ b/install/shell-completion/daed.bash @@ -59,7 +59,7 @@ _daed() { # run cmd multi option completetion case "${COMP_WORDS[1]}" in run) - COMPREPLY=( $(compgen -W "$run_opts -h --help" -- "${cur}") ) + COMPREPLY=( $(compgen -W "$run_opts" -- "${cur}") ) return 0 ;; esac @@ -67,7 +67,7 @@ _daed() { return 0 ;; - -h|--help|-v|--version) + -h|--help) return 0 ;; *) @@ -97,9 +97,4 @@ _daed() { } -if [[ -n ${ZSH_VERSION} ]]; then - autoload -U bashcompinit - bashcompinit -fi - complete -F _daed daed