mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	feat(fossil): add completion for fossil add (#8564)
				
					
				
			Co-authored-by: Marc Cornellà <hello@mcornella.com>
This commit is contained in:
		
							parent
							
								
									1d6553e631
								
							
						
					
					
						commit
						7df7d5b4f1
					
				
							
								
								
									
										32
									
								
								plugins/fossil/_fossil
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								plugins/fossil/_fossil
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
#compdef fossil
 | 
			
		||||
 | 
			
		||||
function _fossil_get_command_list () {
 | 
			
		||||
  fossil help -a | grep -v "Usage|Common|This is"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fossil () {
 | 
			
		||||
  local context state state_descr line
 | 
			
		||||
  typeset -A opt_args
 | 
			
		||||
 | 
			
		||||
  _arguments \
 | 
			
		||||
    '1: :->command'\
 | 
			
		||||
    '2: :->subcommand'
 | 
			
		||||
 | 
			
		||||
  case $state in
 | 
			
		||||
    command)
 | 
			
		||||
      local _OUTPUT=$(fossil branch 2>&1 | grep "use --repo")
 | 
			
		||||
      if [[ -z "$_OUTPUT" ]]; then
 | 
			
		||||
        compadd "$(_fossil_get_command_list)"
 | 
			
		||||
      else
 | 
			
		||||
        compadd clone init import help version
 | 
			
		||||
      fi ;;
 | 
			
		||||
    subcommand)
 | 
			
		||||
      case "$words[2]" in
 | 
			
		||||
      help) compadd "$(_fossil_get_command_list)" ;;
 | 
			
		||||
      add) compadd "$(fossil extra)" ;;
 | 
			
		||||
      *) compcall -D ;;
 | 
			
		||||
      esac ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_fossil "$@"
 | 
			
		||||
@ -12,7 +12,7 @@ ZSH_THEME_FOSSIL_PROMPT_DIRTY=" %{$fg_bold[red]%}✖"
 | 
			
		||||
# Text to display if the branch is clean
 | 
			
		||||
ZSH_THEME_FOSSIL_PROMPT_CLEAN=" %{$fg_bold[green]%}✔"
 | 
			
		||||
 | 
			
		||||
function fossil_prompt_info () {
 | 
			
		||||
function fossil_prompt_info() {
 | 
			
		||||
  local _OUTPUT=`fossil branch 2>&1`
 | 
			
		||||
  local _STATUS=`echo $_OUTPUT | grep "use --repo"`
 | 
			
		||||
  if [ "$_STATUS" = "" ]; then
 | 
			
		||||
@ -32,37 +32,6 @@ function fossil_prompt_info () {
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fossil_get_command_list () {
 | 
			
		||||
  fossil help -a | grep -v "Usage|Common|This is"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fossil () {
 | 
			
		||||
  local context state state_descr line
 | 
			
		||||
  typeset -A opt_args
 | 
			
		||||
 | 
			
		||||
  _arguments \
 | 
			
		||||
    '1: :->command'\
 | 
			
		||||
    '2: :->subcommand'
 | 
			
		||||
 | 
			
		||||
  case $state in
 | 
			
		||||
    command)
 | 
			
		||||
      local _OUTPUT=`fossil branch 2>&1 | grep "use --repo"`
 | 
			
		||||
      if [ "$_OUTPUT" = "" ]; then
 | 
			
		||||
        compadd `_fossil_get_command_list`
 | 
			
		||||
      else
 | 
			
		||||
        compadd clone init import help version
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    subcommand)
 | 
			
		||||
      if [ "$words[2]" = "help" ]; then
 | 
			
		||||
        compadd `_fossil_get_command_list`
 | 
			
		||||
      else
 | 
			
		||||
        compcall -D
 | 
			
		||||
      fi
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fossil_prompt () {
 | 
			
		||||
  local current=`echo $PROMPT $RPROMPT | grep fossil`
 | 
			
		||||
 | 
			
		||||
@ -82,8 +51,5 @@ function _fossil_prompt () {
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
compdef _fossil fossil
 | 
			
		||||
 | 
			
		||||
autoload -U add-zsh-hook
 | 
			
		||||
 | 
			
		||||
add-zsh-hook precmd _fossil_prompt
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user