summaryrefslogtreecommitdiffstats
path: root/contrib/autocompletion/zsh_autocomplete
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/autocompletion/zsh_autocomplete')
-rw-r--r--contrib/autocompletion/zsh_autocomplete30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/autocompletion/zsh_autocomplete b/contrib/autocompletion/zsh_autocomplete
new file mode 100644
index 00000000..b3b40df5
--- /dev/null
+++ b/contrib/autocompletion/zsh_autocomplete
@@ -0,0 +1,30 @@
+#compdef ${PROG:=gitea}
+
+
+# Heavily inspired by https://github.com/urfave/cli
+
+_cli_zsh_autocomplete() {
+
+ local -a opts
+ local cur
+ cur=${words[-1]}
+ if [[ "$cur" == "-"* ]]; then
+ opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}")
+ else
+ opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}")
+ fi
+
+ if [[ "${opts[1]}" != "" ]]; then
+ _describe 'values' opts
+ else
+ _files
+ fi
+
+ return
+}
+
+if [ -z $PROG ] ; then
+ compdef _cli_zsh_autocomplete gitea
+else
+ compdef _cli_zsh_autocomplete $(basename $PROG)
+fi