states work: Documents the various states.
This commit is contained in:
		
							parent
							
								
									0aa6a5db78
								
							
						
					
					
						commit
						88cf98d9c4
					
				|  | @ -103,6 +103,20 @@ _zsh_highlight_main_highlighter() | |||
|     $ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR $ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS | ||||
|   ) | ||||
| 
 | ||||
|   # State machine | ||||
|   # | ||||
|   # The states are: | ||||
|   # - :start:      Command word | ||||
|   # - :sudo_opt:   A leading-dash option to sudo (such as "-u" or "-i") | ||||
|   # - :sudo_arg:   The argument to a sudo leading-dash option that takes one, | ||||
|   #                when given as a separate word; i.e., "foo" in "-u foo" (two | ||||
|   #                words) but not in "-ufoo" (one word). | ||||
|   # - :regular:    "Not a command word". | ||||
|   #                Mainly used to detect premature termination of commands. | ||||
|   # | ||||
|   # The tokens are always added with both leading and trailing colons to serve as | ||||
|   # word delimiters (an improvised array); [[ $x == *:foo:* ]] and x=${x//:foo:/}  | ||||
|   # will DTRT regardless of how many elements or repetitions $x has.. | ||||
|   local this_word=':start:' next_word | ||||
|   for arg in ${(z)buf}; do | ||||
|     next_word=':regular:' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue