Matthew Martin
cb8c736a56
main: Run the entirety of aliases through the state machine
Fixes #540 #544 #552 #554 #555
6 years ago
Matthew Martin
2d4fe988ba
main: Rename parameters to simplify next diff
6 years ago
Matthew Martin
8f17e4e201
main: Add trivial condition and remove whitespace to simplify next diff
6 years ago
Daniel Shahaf
02f4a6b540
'main': Optionally ignore aliases in __type
6 years ago
Matthew Martin
b9d7fe5a43
main: Shift args rather than iterating over
No functional change. Prepares for running a full alias through the
state machine.
6 years ago
Daniel Shahaf
6898f71016
Add a test.
Related to https://github.com/zsh-users/zsh-syntax-highlighting/issues/549#issuecomment-431628338 and to #556 .
6 years ago
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 .
6 years ago
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 .
6 years ago
Matthew Martin
8d4c6355e6
driver: Do not pass widget arguments to _zsh_highlight
This avoids a bug in zsh 4.3.12 and prior which affects passing
arguments to an anonymous function.
6 years ago
Matthew Martin
47c2b7e185
main: Distinguish quoted/unquoted command substitutions
Closes #547 .
6 years ago
Daniel Shahaf
56ba7f082d
driver: Clarify comment. No functional change.
6 years ago
Matthew Martin
2cbb3fb24e
driver: Allow for -U in autoloaded function definition
6 years ago
Matthew Martin
f265ef0b9a
driver: Use idiomatic module check
6 years ago
Daniel Shahaf
d0fb0df4ff
driver: Make the shadowing $WIDGET read only.
6 years ago
Daniel Shahaf
f665eec230
driver: Avoid a fork in the common case.
Found-by: Matthew Martin
6 years ago
Daniel Shahaf
a868b6942e
test harness: Actually test the new code.
Currently, without zsh/zle loaded, the tests silently fall back to the
5.2-and-earlier codepath; see:
.
https://github.com/zsh-users/zsh-syntax-highlighting/pull/356#issuecomment-243651251
8 years ago
Daniel Shahaf
b5249f17ab
driver: Rewrite without a state variable
Suggested-by: m0viefreak
8 years ago
Daniel Shahaf
d2594c1157
noop: Make a whitespace-only change to reduce noise in the next commit.
8 years ago
Daniel Shahaf
66ae59eccc
docs: Rewrap.
8 years ago
Daniel Shahaf
1651137f5c
docs: Update FAQ answer per changes on this branch.
8 years ago
Daniel Shahaf
d4ab7e51d2
redo _zsh_highlight__function_callable_p
8 years ago
Daniel Shahaf
38477f2a3d
driver: Use a different way of checking whether add-zle-hook-widget is present.
Based on code by Bart Schaefer (reference within).
Tested with zsh 5.0.7-5 (debian package) and with 5b4cbcc842c6 (39158,
5.3-to-be of today).
8 years ago
Daniel Shahaf
d98622dcd0
changelog: Use a more specific link.
8 years ago
Daniel Shahaf
04fd6bbf53
changelog: Note the effect of fixing #245/#90 and an alternative.
8 years ago
Daniel Shahaf
30c6e70394
driver: Pass zle-line-finish arguments on to _zsh_highlight.
(Currently a noop)
8 years ago
Daniel Shahaf
74a27de70d
driver: Hook zle-line-finish.
Compare issue #288 .
8 years ago
Daniel Shahaf
85e62a8171
driver: Reimplement using 'add-zle-hook-widget zle-line-pre-redraw'
This feature will be released in zsh 5.3. Older zsh's will use the existing
codepath.
8 years ago
Daniel Shahaf
aed99f6a3e
wrappers: Reimplement using Mikachu's zle-line-pre-redraw hook (workers/36650).
9 years ago
Matthew Martin
d6586e2a4f
main: Order precommand_options and add '-'
Fixes #499 .
6 years ago
Matthew Martin
31276c1b64
main: Avoid empty character classes
Avoids an error in pre-5.0.8: bad pattern: -[]#
6 years ago
Matthew Martin
07f259f653
main: Avoid null elision in _check_path
This could be triggered if BUFFER='\'.
6 years ago
Matthew Martin
e27e53b1ef
main: Highlight unknown precommand option as unknown-token
6 years ago
Matthew Martin
c6e3d216ec
main: Consolidate TOKENS_COMMANDSEPARATOR handling
No functional change.
6 years ago
Matthew Martin
5bb5703b0d
main: Move TOKENS_CONTROL_FLOW handling into command word branch
No functional change.
6 years ago
Matthew Martin
dea05e44e6
main: Recognize more redirection and array assignment parse errors
() ) } are invalid as a redirection target.
() } are invalid in an array assignment.
6 years ago
Matthew Martin
2f03b6d704
main: Do not highlight a redirection target as an option
6 years ago
Matthew Martin
b075147888
main: Consolidate conditionals together.
No functional change.
6 years ago
Matthew Martin
9289a57de0
main: Remove already_assigned
6 years ago
Matthew Martin
c76daac095
main: Move start_pos=$end_pos to the beginning of the loop
This allows for use of continue.
6 years ago
Matthew Martin
de28e20fbc
main: Simplify this_word next_word updating
6 years ago
Matthew Martin
c05ebf762c
main: Do not recognize always as a reserved word in a redirection
6 years ago
Matthew Martin
ae5b9b2dc9
main: Set redirection style when recognizing the redirection
6 years ago
Matthew Martin
df431eeee8
main: Recognize repeat with the other reserved words
6 years ago
Matthew Martin
3ddb974a3d
main: Remove needless code
The below code handles this case.
6 years ago
Matthew Martin
b6e0aeb380
main: Use unknown-token when the token type is unknown
6 years ago
Matthew Martin
4748f9bd3d
main: Add alias tests
6 years ago
Matthew Martin
e3edddd8ec
main: alias style overrides precommand style
6 years ago
Matthew Martin
c138123397
main: Move alias handling up.
This will set style=alias before the great fork.
6 years ago
Matthew Martin
57386f30ae
main: Recursively expand aliases
6 years ago
Matthew Martin
e1ecf950e2
main: Do path expanstion after alias expansion
6 years ago