mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-30 03:27:44 +01:00
43405c35f0
This PR adds contrib scripts for bash and zsh completion. Simply call: ```bash source contrib/autocompletion/bash_autocomplete ``` or for Zsh: ```bash source contrib/autocompletion/zsh_autocomplete ``` Signed-off-by: Andrew Thornton <art27@cantab.net> --------- Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: a1012112796 <1012112796@qq.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
30 lines
946 B
Bash
Executable file
30 lines
946 B
Bash
Executable file
#! /bin/bash
|
|
# Heavily inspired by https://github.com/urfave/cli
|
|
|
|
_cli_bash_autocomplete() {
|
|
if [[ "${COMP_WORDS[0]}" != "source" ]]; then
|
|
local cur opts base
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
if [[ "$cur" == "-"* ]]; then
|
|
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} ${cur} --generate-bash-completion )
|
|
else
|
|
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
|
|
fi
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
if [ -z "$PROG" ] && [ ! "$(command -v gitea &> /dev/null)" ] ; then
|
|
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete gitea
|
|
elif [ -z "$PROG" ]; then
|
|
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete ./gitea
|
|
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PWD/gitea"
|
|
else
|
|
complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete "$PROG"
|
|
unset PROG
|
|
fi
|
|
|
|
|
|
|