mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	feat(fossil): add completion for fossil add (#8564)
				
					
				
			Co-authored-by: Marc Cornellà <hello@mcornella.com>
This commit is contained in:
		
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user