mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add Bash and Zsh completion scripts (#22646)
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>
This commit is contained in:
		
							
								
								
									
										30
									
								
								contrib/autocompletion/bash_autocomplete
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								contrib/autocompletion/bash_autocomplete
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
#! /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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user