Matthew Martin
7388adf4e8
main: Add alias tests
vor 6 Jahren
Matthew Martin
cb8c736a56
main: Run the entirety of aliases through the state machine
Fixes #540 #544 #552 #554 #555
vor 6 Jahren
Matthew Martin
2d4fe988ba
main: Rename parameters to simplify next diff
vor 6 Jahren
Matthew Martin
8f17e4e201
main: Add trivial condition and remove whitespace to simplify next diff
vor 6 Jahren
Daniel Shahaf
02f4a6b540
'main': Optionally ignore aliases in __type
vor 6 Jahren
Matthew Martin
b9d7fe5a43
main: Shift args rather than iterating over
No functional change. Prepares for running a full alias through the
state machine.
vor 6 Jahren
Daniel Shahaf
6898f71016
Add a test.
Related to https://github.com/zsh-users/zsh-syntax-highlighting/issues/549#issuecomment-431628338 and to #556 .
vor 6 Jahren
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 .
vor 6 Jahren
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 9523d6d49cb3d4db5bd84c3cec6168a2057fe3ab,
which was wrong and is hereby reverted).
The test that's now failing has been filed as issue #558 .
vor 6 Jahren
Matthew Martin
47c2b7e185
main: Distinguish quoted/unquoted command substitutions
Closes #547 .
vor 6 Jahren
Matthew Martin
d6586e2a4f
main: Order precommand_options and add '-'
Fixes #499 .
vor 6 Jahren
Matthew Martin
31276c1b64
main: Avoid empty character classes
Avoids an error in pre-5.0.8: bad pattern: -[]#
vor 6 Jahren
Matthew Martin
07f259f653
main: Avoid null elision in _check_path
This could be triggered if BUFFER='\'.
vor 6 Jahren
Matthew Martin
e27e53b1ef
main: Highlight unknown precommand option as unknown-token
vor 6 Jahren
Matthew Martin
c6e3d216ec
main: Consolidate TOKENS_COMMANDSEPARATOR handling
No functional change.
vor 6 Jahren
Matthew Martin
5bb5703b0d
main: Move TOKENS_CONTROL_FLOW handling into command word branch
No functional change.
vor 6 Jahren
Matthew Martin
dea05e44e6
main: Recognize more redirection and array assignment parse errors
() ) } are invalid as a redirection target.
() } are invalid in an array assignment.
vor 6 Jahren
Matthew Martin
2f03b6d704
main: Do not highlight a redirection target as an option
vor 6 Jahren
Matthew Martin
b075147888
main: Consolidate conditionals together.
No functional change.
vor 6 Jahren
Matthew Martin
9289a57de0
main: Remove already_assigned
vor 6 Jahren
Matthew Martin
c76daac095
main: Move start_pos=$end_pos to the beginning of the loop
This allows for use of continue.
vor 6 Jahren
Matthew Martin
de28e20fbc
main: Simplify this_word next_word updating
vor 6 Jahren
Matthew Martin
c05ebf762c
main: Do not recognize always as a reserved word in a redirection
vor 6 Jahren
Matthew Martin
ae5b9b2dc9
main: Set redirection style when recognizing the redirection
vor 6 Jahren
Matthew Martin
df431eeee8
main: Recognize repeat with the other reserved words
vor 6 Jahren
Matthew Martin
3ddb974a3d
main: Remove needless code
The below code handles this case.
vor 6 Jahren
Matthew Martin
b6e0aeb380
main: Use unknown-token when the token type is unknown
vor 6 Jahren
Matthew Martin
4748f9bd3d
main: Add alias tests
vor 6 Jahren
Matthew Martin
e3edddd8ec
main: alias style overrides precommand style
vor 6 Jahren
Matthew Martin
c138123397
main: Move alias handling up.
This will set style=alias before the great fork.
vor 6 Jahren
Matthew Martin
57386f30ae
main: Recursively expand aliases
vor 6 Jahren
Matthew Martin
e1ecf950e2
main: Do path expanstion after alias expansion
vor 6 Jahren
Matthew Martin
f46b148c52
main: Only expand aliases in command position
vor 6 Jahren
Matthew Martin
99d7235c2b
main: Add test for an alias to a redirection
vor 6 Jahren
Matthew Martin
05a55108c9
main: Expand aliases before looking for redirections
vor 6 Jahren
Daniel Shahaf
e43e4fd2c7
'main': Fix $flags_sans_argument for 'nice'.
Follow-up to 2c15b0e996
("Learn $flags_sans_arguments…").
vor 6 Jahren
Daniel Shahaf
a56c33c3be
Bump copyright years.
vor 6 Jahren
Daniel Shahaf
005179ed8e
'main': Update $this_word state with our inferences.
Found by code inspection.
vor 6 Jahren
Daniel Shahaf
0709520597
No functional change.
Follow-up to 1fee620e62
.
vor 6 Jahren
Daniel Shahaf
f7ac43cd49
'main': Unify $ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS and $precommand_options.
vor 6 Jahren
Daniel Shahaf
31ceaed4f4
'main': Highlight array parameters in command position.
vor 6 Jahren
Daniel Shahaf
ad6261fbca
'main': Use a more robust way of testing for $parameters' availability.
vor 6 Jahren
Daniel Shahaf
3a33ac1d20
'main': Break out a new helper function for readability.
vor 6 Jahren
Daniel Shahaf
f3425e18fe
'main': Let _zsh_highlight_main__type return false on failure.
vor 6 Jahren
Daniel Shahaf
82c39716eb
'main': Write the "remainder" of the sentence in a comment. No functional change.
vor 6 Jahren
Daniel Shahaf
a2e993c59f
'main': Learn $flags_sans_arguments and use that to parse '-xy foo' correctly where -x takes no argument and -y does.
vor 6 Jahren
Daniel Shahaf
bee115f797
'main': Correct a comment.
vor 6 Jahren
Daniel Shahaf
7f5e11e38b
'main': Remove superfluous variable. No functional change.
vor 6 Jahren
Daniel Shahaf
78be8f611f
'main': Highlight 'doas'.
Fixes #365 .
vor 8 Jahren
Daniel Shahaf
8b11ca087e
'main': Highlight 'nice'.
Fixes #168 .
vor 8 Jahren