Matthew Martin
							
						 
						
							 
							
							
								
								
							
							
							
								
							
							
								842c1e570a 
								
							 
						 
						
							
							
								
								Merge  fa98c97028 into  3174e375f4 
							
							 
							
							
							
						 
						
							2020-03-16 22:05:32 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3174e375f4 
								
							 
						 
						
							
							
								
								'main': Fix highlighting of null execs.  
							
							 
							
							... 
							
							
							
							Fixes  #676 . 
							
						 
						
							2020-03-16 21:50:04 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f56e3fad23 
								
							 
						 
						
							
							
								
								'main': Optimize the path_prefix check.  
							
							 
							
							... 
							
							
							
							Computing ${#array} is O(N), whereas checking 0 is O(1). 
							
						 
						
							2020-03-16 20:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2cc2583f8f 
								
							 
						 
						
							
							
								
								Merge the first three commits of PR  #669  
							
							 
							
							... 
							
							
							
							* commit 'b1f36d9c5f45b879fbd2f64195167a60d9f3cb9e':
  'main': Add a comment.
  'main': Fix the $CDPATH from the previous commit.
  'main': Add a test for a $CDPATH bug. 
							
						 
						
							2020-03-16 19:32:59 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								20d250d618 
								
							 
						 
						
							
							
								
								'main': Support the non-precommand flags of sudo(8) and ssh-agent(1).  
							
							 
							
							... 
							
							
							
							Uses the infrastructure added in the previous commit.
Fixes  #678 . 
							
						 
						
							2020-03-16 19:22:54 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								c73153c6e8 
								
							 
						 
						
							
							
								
								'main': Add infrastructure for precommand options that are not to be followed by a command word (issue  #678 ).  
							
							 
							
							
							
						 
						
							2020-03-16 19:20:31 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								63bcd85dfa 
								
							 
						 
						
							
							
								
								'main': Don't use «foo && bar || baz» where a trenary is more appropriate.  
							
							 
							
							... 
							
							
							
							This prevents the baz pattern match from being attempted whenever the
bar pattern match was tried and failed. 
							
						 
						
							2020-03-16 19:14:51 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								4bbd2a3bc6 
								
							 
						 
						
							
							
								
								'main': Prepare to add additional fields to $precommand_options values.  
							
							 
							
							... 
							
							
							
							No functional change. 
							
						 
						
							2020-03-16 19:07:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								74c7ffc9b5 
								
							 
						 
						
							
							
								
								'main': Factor out common logic to after the case/esac.  
							
							 
							
							
							
						 
						
							2020-03-15 18:30:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								8feb06a022 
								
							 
						 
						
							
							
								
								'main': Support parameter elision in command position.  
							
							 
							
							
							
						 
						
							2020-03-15 18:25:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								fdf682a2f9 
								
							 
						 
						
							
							
								
								'main': Expand comment.  
							
							 
							
							
							
						 
						
							2020-03-15 18:14:39 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								9134cdf8d6 
								
							 
						 
						
							
							
								
								'main': Allow newlines in command position.  
							
							 
							
							... 
							
							
							
							Fixes  #501 .
Fixes  #616  (the original form; not the form in
test-data/alias-comment1.zsh which is now considered o be #677  (see
previous commit for details)).
Fixes a latent bug in test-data/always2.zsh.
No user-visible effect, and therefore, no changelog entry. 
							
						 
						
							2020-03-15 15:38:07 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								54e1828d5c 
								
							 
						 
						
							
							
								
								'main': Clarify documentation of the :sudo_opt: and :sudo_arg: states.  
							
							 
							
							
							
						 
						
							2020-03-15 14:56:43 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								81267ca313 
								
							 
						 
						
							
							
								
								'main': Highlight pipes inside array assignments as errors  
							
							 
							
							... 
							
							
							
							Fixes  #651 . 
							
						 
						
							2020-03-15 14:27:15 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								bfd44f5c3f 
								
							 
						 
						
							
							
								
								noop: Add comments.  
							
							 
							
							
							
						 
						
							2020-03-15 14:22:05 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3ca93f864f 
								
							 
						 
						
							
							
								
								'main': Highlight literal semicolons in array assignments as errors.  
							
							 
							
							... 
							
							
							
							Fixes the test added in the penultimate (grandparent) commit. 
							
						 
						
							2020-03-15 14:19:38 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								a4525a0826 
								
							 
						 
						
							
							
								
								'main': Add infrastructure for treating literal newlines differently to semicolons.  
							
							 
							
							... 
							
							
							
							Used by the next commit. 
							
						 
						
							2020-03-15 14:19:38 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								1a752da1c2 
								
							 
						 
						
							
							
								
								Highlight redirections by default, and add that to the examples in README.  
							
							 
							
							... 
							
							
							
							Fixes  #646 . 
							
						 
						
							2020-02-28 22:49:02 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								edfc7dfd9b 
								
							 
						 
						
							
							
								
								'main': Fix issue  #577 .  
							
							 
							
							
							
						 
						
							2020-02-28 22:36:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3cea1434ae 
								
							 
						 
						
							
							
								
								Bump copyright years.  
							
							 
							
							
							
						 
						
							2020-02-25 17:34:35 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f729726300 
								
							 
						 
						
							
							
								
								'main': Do not look for metacharacters in parameter expansions.  
							
							 
							
							... 
							
							
							
							Fixes the bug the previous commit added a test for. 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2f4f81cab7 
								
							 
						 
						
							
							
								
								'main': Parameter expansions may not contain assignments.  
							
							 
							
							... 
							
							
							
							In «a="b=c"; $a», the '=' sign in the expansion of $a is not active.
Therefore, prevent the expansion of $a from being considered an
assignment.  Update test expectations accordingly. 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								1a55dc8fc2 
								
							 
						 
						
							
							
								
								'main': Pass parameters through the multi-word machinery, as we already do for aliases.  
							
							 
							
							... 
							
							
							
							Fixes  #674 . 
							
						 
						
							2020-02-22 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								52ea5c686a 
								
							 
						 
						
							
							
								
								'main': precommands += chronic, ifne (from moreutils)  
							
							 
							
							... 
							
							
							
							Fixes  #681 . 
							
						 
						
							2020-02-17 10:20:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								77c6bf2019 
								
							 
						 
						
							
							
								
								'main': precommands: Remove argumentless options that can't be followed by a command word.  
							
							 
							
							... 
							
							
							
							Suggested-by: Matthew Martin
(in e2e97dde9c (r36941988) ) 
							
						 
						
							2020-01-24 00:37:56 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								e2e97dde9c 
								
							 
						 
						
							
							
								
								'main': Support tabbed(1) from suckless-tools  
							
							 
							
							
							
						 
						
							2020-01-22 04:44:27 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								cb166dcc77 
								
							 
						 
						
							
							
								
								'main': Restore 0.6.0's behaviour for unknown options.  
							
							 
							
							... 
							
							
							
							See discussion on #664 . 
							
						 
						
							2020-01-14 23:08:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								5012d771f3 
								
							 
						 
						
							
							
								
								'main': Don't highlight unknown precommand flags as errors.  
							
							 
							
							... 
							
							
							
							We cannot now for sure whether the flag is misspelled or simply unknown to us,
so err on the side of caution.  This fixes an unreleased regression.  Fixes  #658 .
Issue #641  was originally filed about this problem, but is left open to track
further enhancements. 
							
						 
						
							2020-01-14 23:08:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								b1f36d9c5f 
								
							 
						 
						
							
							
								
								'main': Add a comment.  
							
							 
							
							
							
						 
						
							2020-01-12 19:48:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								08edf8db7f 
								
							 
						 
						
							
							
								
								'main': Fix the $CDPATH from the previous commit.  
							
							 
							
							
							
						 
						
							2020-01-12 19:37:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								c3293ba0d8 
								
							 
						 
						
							
							
								
								'main': Update comments after last commit.  No functional change.  
							
							 
							
							
							
						 
						
							2020-01-12 18:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								21cdd6bc5e 
								
							 
						 
						
							
							
								
								'main': Simplify alias handling.  
							
							 
							
							... 
							
							
							
							$last_alias isn't needed; there's no reason to treat loops of length 2
(alias a=b b=a) differently to loops of length 1 (alias a=a), length 3
(alias a=b b=c c=a), or length N.
The «(( $+seen_alias[$arg] ))» check is redundant as of the last commit:
the enclosing condition ensures that $res is "alias", which implies that
«(( $+seen_alias[$arg] ))» is false. 
							
						 
						
							2020-01-12 18:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								f32d1704b1 
								
							 
						 
						
							
							
								
								'main': Fix issue  #652 .  
							
							 
							
							
							
						 
						
							2020-01-12 18:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								86fe054005 
								
							 
						 
						
							
							
								
								'main': precommands += ssh-agent  
							
							 
							
							
							
						 
						
							2020-01-12 17:21:59 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								533bfa0116 
								
							 
						 
						
							
							
								
								'main': Fix the new 'backslash' test on zsh-5.0.2 and older.  (The bug  
							
							 
							
							... 
							
							
							
							occurred on zsh-5.0.7 and older but I don't have zsh-5.0.7 handy to test
on.)
Evidently, the issue was due to elision.
This addresses #665.0 and #665.5. 
							
						 
						
							2020-01-12 17:10:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								2d0dddf58b 
								
							 
						 
						
							
							
								
								'main': Don't dequote the word in command position before analyzing it.  
							
							 
							
							... 
							
							
							
							Fixes  #656 .
Fixes  #660 .
Regression from commit e1ecf950e2 ,
"main: Do path expanstion after alias expansion" (sic). 
							
						 
						
							2020-01-12 16:11:09 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								27fa4a6546 
								
							 
						 
						
							
							
								
								noop: Quote the bitflag values.  
							
							 
							
							... 
							
							
							
							Now every instance of «:foo:» is ''-quoted.  This enables $EDITOR to highlight
them consistently throughout the file. 
							
						 
						
							2020-01-12 15:46:22 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								ae5ad09cf5 
								
							 
						 
						
							
							
								
								Bump copyright years.  
							
							 
							
							
							
						 
						
							2020-01-12 14:58:56 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								de95d50bce 
								
							 
						 
						
							
							
								
								'main': Fix highlighting of the 'time' and 'nocorrect reserved words  
							
							 
							
							... 
							
							
							
							Also add tests.
'time' is a regression from 6647e88606 
(last Wednesday). 
							
						 
						
							2019-12-27 13:47:31 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								6647e88606 
								
							 
						 
						
							
							
								
								'main': Add some precommands.  
							
							 
							
							
							
						 
						
							2019-12-25 10:53:42 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Martin
							
						 
						
							 
							
							
							
							
								
							
							
								139ea2b189 
								
							 
						 
						
							
							
								
								main: Avoid $end_pos when calculating $arg size  
							
							 
							
							... 
							
							
							
							Fixes second issue filed under #617 
https://github.com/zsh-users/zsh-syntax-highlighting/issues/617#issuecomment-551253422 
In the case of a command substitution in an alias, $arg[i,end_pos] would
not pass to the end of $arg and i <= start_pos - end_pos would not
iterate over all of $arg. Use $arg[i,-1] and $#arg respectively to avoid
issues in aliases. 
							
						 
						
							2019-11-07 19:50:17 -06:00  
						
					 
				
					
						
							
							
								 
								Matthew Martin
							
						 
						
							 
							
							
							
							
								
							
							
								b55832c5f8 
								
							 
						 
						
							
							
								
								main: Drop X_ from X_ZSH_HIGHLIGHT_DIRS_BLACKLIST  
							
							 
							
							
							
						 
						
							2019-07-24 07:27:54 -05:00  
						
					 
				
					
						
							
							
								 
								Matthew Martin
							
						 
						
							 
							
							
							
							
								
							
							
								9cc0060334 
								
							 
						 
						
							
							
								
								main: Stop highlighting alias as its first word too  
							
							 
							
							... 
							
							
							
							Fixes  #565  and #576  
							
						 
						
							2019-07-20 10:32:12 -05:00  
						
					 
				
					
						
							
							
								 
								Matthew Martin
							
						 
						
							 
							
							
							
							
								
							
							
								b3f66fc874 
								
							 
						 
						
							
							
								
								main: Use zsyh_user_options when splitting alias RHS  
							
							 
							
							
							
						 
						
							2019-07-11 21:15:01 -05:00  
						
					 
				
					
						
							
							
								 
								Matthew Martin
							
						 
						
							 
							
							
							
							
								
							
							
								83249e1b23 
								
							 
						 
						
							
							
								
								main: Do not highlight empty region between two adjacent $()  
							
							 
							
							... 
							
							
							
							Should fix  #624  
							
						 
						
							2019-07-08 17:05:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								fd4c5db4c9 
								
							 
						 
						
							
							
								
								'main': Fix an issue whereby a --option was highlighted as a file  
							
							 
							
							... 
							
							
							
							Regression test included.
Fixes  #578 .
Review-by: Matthew Martin 
							
						 
						
							2019-06-16 20:25:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								5f80147c55 
								
							 
						 
						
							
							
								
								'main': Follow-up to last commit: Fix stdbuf options spec.  
							
							 
							
							... 
							
							
							
							The effect of the bug was that «-:» was considered an option taking an argument
(see the parsing of the associative array in lines 692-693).
As to preventing recurrence, add a warning comment.  We _could_ change
the separator from colon to something else, but colon is idiomatic for
this use (see, e.g., passwd(5)), and the problem will be unlikely to
recur if and when we add a third field to the assoc's values.  (For
example, jexec(1), chroot(1), and even ssh(1) would benefit from a third
field saying how many positional arguments to skip before the positional
argument that's to be the command word — though in the last two cases,
specifying an "inner" command is optional.) 
							
						 
						
							2019-03-27 11:45:17 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								3e86ef59b7 
								
							 
						 
						
							
							
								
								'main': precommands += stdbuf  
							
							 
							
							
							
						 
						
							2019-03-26 22:04:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								809443f5c5 
								
							 
						 
						
							
							
								
								'main': Add the issue number for future reference.  
							
							 
							
							
							
						 
						
							2019-03-16 07:49:04 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Shahaf
							
						 
						
							 
							
							
							
							
								
							
							
								abec25d013 
								
							 
						 
						
							
							
								
								'main': _zsh_highlight_main__type: Add comments.  
							
							 
							
							
							
						 
						
							2019-03-16 07:47:53 +00:00