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
Daniel Shahaf
79596a84be
'main': Document the last change.
2019-03-16 07:45:23 +00:00
Daniel Shahaf
37d6108215
'main': Work around a zsh bug reported to us as #606 .
...
As of this writing, it seems that the 'type' builtin poisons the commands hash
in a way that breaks AUTO_CD to absolute paths that don't end with a slash.
2019-03-16 07:34:12 +00:00
Matthew Martin
1e34c4aa0b
main: in arguments starting with %?, ? is not a glob
...
Fixes #596
2019-01-06 22:23:10 -06:00
Daniel Shahaf
78b95b0695
Add a test for the 'true negative' case of issue #596 .
2018-12-31 17:57:53 +00:00
Daniel Shahaf
0efad58f30
Add a test for issue #596 .
2018-12-29 11:31:50 +00:00
Daniel Shahaf
e900ad8bad
main: Add another test, inspired by #577 and #502 .
2018-11-01 04:01:33 +00:00
Daniel Shahaf
f087f3c6e4
main: Add a test for issue #577 .
2018-11-01 04:01:05 +00:00
Daniel Shahaf
3e6d1375c9
main: Fix check for suffix aliases ( fixes #574 )
2018-10-30 21:25:59 +00:00
Daniel Shahaf
4ce56a821e
Merge branch 'i511-bang-pipeline'
...
* i511-bang-pipeline:
main: Fold '!' handling in to the 'case'. No functional change.
Fix indentation. No functional change.
main: Fix highlighting of the ! precommand after array assignments. Add tests.
main: Highlight the ! precommand as an error when not at the start of a pipeline.
2018-10-23 16:58:33 +00:00
Daniel Shahaf
44b89f3307
main: Fold '!' handling in to the 'case'. No functional change.
2018-10-23 16:36:14 +00:00
Daniel Shahaf
0c9252ac69
Fix indentation. No functional change.
2018-10-23 16:34:35 +00:00
Daniel Shahaf
6cf522b7b3
main: Fix highlighting of the ! precommand after array assignments. Add tests.
2018-10-23 16:31:39 +00:00
Daniel Shahaf
298ef6a2fa
main: Highlight the ! precommand as an error when not at the start of a pipeline.
...
Fixes #511 .
2018-10-23 16:31:00 +00:00
Matthew Martin
d9e326b993
main: consume trailing whitespace in _highlight_list
...
Fixes highlighting when an unclosed $( ends in whitespace.
2018-10-22 07:53:18 -05:00
Matthew Martin
48a20d067f
main: Break double-quoted-argument on command substitutions
2018-10-22 07:53:18 -05:00
Daniel Shahaf
6539f0d419
'main': Highlight named fd redirections.
...
Merge remote-tracking branch 'danielsh/i238-named-fd-redirection-v1'
* danielsh/i238-named-fd-redirection-v1:
'main': Tighten condition.
noop: Tweak condition at Matthew's suggestion
'main': Highlight named fd redirections.
2018-10-22 05:00:07 +00:00
Daniel Shahaf
7d961ba1e6
'main': Add a test for issue #237 .
2018-10-22 04:58:57 +00:00
Daniel Shahaf
ad3a6cb3c9
'main': Tighten condition.
...
Should rule out brace expansions such as '{foo,bar}' and '{10..20}'.
2018-10-22 04:56:50 +00:00
Daniel Shahaf
9870ccc505
noop: Tweak condition at Matthew's suggestion
2018-10-22 04:54:11 +00:00
Daniel Shahaf
38c794a978
'main': Highlight named fd redirections.
...
Fixes #238
2018-10-22 04:33:11 +00:00
Daniel Shahaf
de23e75946
minor: Fix the editor braces matching confusion prevention sentinel.
2018-10-22 04:27:18 +00:00
Matthew Martin
a3c9e7ebc7
main: Simplify insane alias checking
2018-10-21 14:59:52 -05:00
Matthew Martin
f71a17c58e
main: Highlight closing brackets
...
Closes #226
2018-10-21 12:10:07 -05:00
Matthew Martin
d0c23a68b3
main: Simplify proc_buf offset calculation
...
Fixes #347
2018-10-20 23:48:39 -05:00
Matthew Martin
7388adf4e8
main: Add alias tests
2018-10-20 20:57:45 -05:00
Matthew Martin
cb8c736a56
main: Run the entirety of aliases through the state machine
...
Fixes #540 #544 #552 #554 #555
2018-10-20 20:57:45 -05:00
Matthew Martin
2d4fe988ba
main: Rename parameters to simplify next diff
2018-10-20 20:18:46 -05:00
Matthew Martin
8f17e4e201
main: Add trivial condition and remove whitespace to simplify next diff
2018-10-20 20:18:46 -05:00
Daniel Shahaf
02f4a6b540
'main': Optionally ignore aliases in __type
2018-10-20 20:18:46 -05:00
Matthew Martin
b9d7fe5a43
main: Shift args rather than iterating over
...
No functional change. Prepares for running a full alias through the
state machine.
2018-10-20 20:18:46 -05:00
Daniel Shahaf
6898f71016
Add a test.
...
Related to https://github.com/zsh-users/zsh-syntax-highlighting/issues/549#issuecomment-431628338 and to #556 .
2018-10-21 00:26:34 +00:00
Daniel Shahaf
df8b2fb867
tests: Fix a failing test.
...
Update the test point for f3410c5862
(#264 ),
which changed the highlighting of aliases to consider what they resolve to.
Now the test file has both ${aliases[alias1]} and ${functions[alias1]},
the expectation is 'alias', and passes; thus:
Fixes #588 .
2018-10-18 23:48:17 +00:00
Daniel Shahaf
9d6ecea21c
Fix a long-standing bug in a unit test. This uncovers a regression.
...
The test never actually defined a function named 'alias1', not even
when zsh 5.4 warned it about this (see 9523d6d49c
,
which was wrong and is hereby reverted).
The test that's now failing has been filed as issue #558 .
2018-10-18 23:45:38 +00:00
Matthew Martin
47c2b7e185
main: Distinguish quoted/unquoted command substitutions
...
Closes #547 .
2018-10-13 09:37:09 -05:00
Matthew Martin
d6586e2a4f
main: Order precommand_options and add '-'
...
Fixes #499 .
2018-10-10 23:23:35 -05:00
Matthew Martin
31276c1b64
main: Avoid empty character classes
...
Avoids an error in pre-5.0.8: bad pattern: -[]#
2018-10-10 23:02:33 -05:00
Matthew Martin
07f259f653
main: Avoid null elision in _check_path
...
This could be triggered if BUFFER='\'.
2018-10-10 22:30:53 -05:00
Matthew Martin
e27e53b1ef
main: Highlight unknown precommand option as unknown-token
2018-10-10 22:30:51 -05:00
Matthew Martin
c6e3d216ec
main: Consolidate TOKENS_COMMANDSEPARATOR handling
...
No functional change.
2018-10-10 22:26:49 -05:00
Matthew Martin
5bb5703b0d
main: Move TOKENS_CONTROL_FLOW handling into command word branch
...
No functional change.
2018-10-10 22:26:49 -05:00
Matthew Martin
dea05e44e6
main: Recognize more redirection and array assignment parse errors
...
() ) } are invalid as a redirection target.
() } are invalid in an array assignment.
2018-10-10 22:26:49 -05:00
Matthew Martin
2f03b6d704
main: Do not highlight a redirection target as an option
2018-10-10 22:26:49 -05:00
Matthew Martin
b075147888
main: Consolidate conditionals together.
...
No functional change.
2018-10-10 22:26:49 -05:00
Matthew Martin
9289a57de0
main: Remove already_assigned
2018-10-10 22:26:49 -05:00
Matthew Martin
c76daac095
main: Move start_pos=$end_pos to the beginning of the loop
...
This allows for use of continue.
2018-10-10 22:26:49 -05:00
Matthew Martin
de28e20fbc
main: Simplify this_word next_word updating
2018-10-10 22:26:49 -05:00