Daniel Shahaf
b08d508cd8
driver: Fix a bug that prevented subsequent, third-party zle-line-pre-redraw hooks from running.
...
Without this patch, `_zsh_highlight` was invoked by add-zle-hook-widget
with `$?` being non-zero (see add-zle-hook-widget:48-52). Since
`_zsh_highlight` preserves `$?` from its caller's point of view,
add-zle-hook-widget saw a non-zero exit code from `_zsh_highlight` and
did not run any the remaining zle-line-pre-redraw hooks.
See https://github.com/zsh-users/zsh-syntax-highlighting/issues/579#issuecomment-623576907 .
2020-05-04 16:45:21 +00:00
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.
2018-10-13 21:55:45 -05:00
Daniel Shahaf
56ba7f082d
driver: Clarify comment. No functional change.
2018-10-12 12:35:34 -05:00
Matthew Martin
2cbb3fb24e
driver: Allow for -U in autoloaded function definition
2018-10-12 12:35:34 -05:00
Matthew Martin
f265ef0b9a
driver: Use idiomatic module check
2018-10-12 12:35:34 -05:00
Daniel Shahaf
d0fb0df4ff
driver: Make the shadowing $WIDGET read only.
2018-10-12 12:35:34 -05:00
Daniel Shahaf
f665eec230
driver: Avoid a fork in the common case.
...
Found-by: Matthew Martin
2018-10-12 12:35:34 -05:00
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
2018-10-12 12:35:34 -05:00
Daniel Shahaf
b5249f17ab
driver: Rewrite without a state variable
...
Suggested-by: m0viefreak
2018-10-12 12:35:32 -05:00
Daniel Shahaf
d2594c1157
noop: Make a whitespace-only change to reduce noise in the next commit.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
66ae59eccc
docs: Rewrap.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
1651137f5c
docs: Update FAQ answer per changes on this branch.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
d4ab7e51d2
redo _zsh_highlight__function_callable_p
2018-10-12 12:31:12 -05:00
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).
2018-10-12 12:31:12 -05:00
Daniel Shahaf
d98622dcd0
changelog: Use a more specific link.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
04fd6bbf53
changelog: Note the effect of fixing #245/#90 and an alternative.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
30c6e70394
driver: Pass zle-line-finish arguments on to _zsh_highlight.
...
(Currently a noop)
2018-10-12 12:31:12 -05:00
Daniel Shahaf
74a27de70d
driver: Hook zle-line-finish.
...
Compare issue #288 .
2018-10-12 12:31:10 -05:00
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.
2018-10-12 12:30:23 -05:00
Daniel Shahaf
aed99f6a3e
wrappers: Reimplement using Mikachu's zle-line-pre-redraw hook (workers/36650).
2018-10-11 22:04:02 -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
Matthew Martin
c05ebf762c
main: Do not recognize always as a reserved word in a redirection
2018-10-10 22:26:49 -05:00
Matthew Martin
ae5b9b2dc9
main: Set redirection style when recognizing the redirection
2018-10-10 22:26:49 -05:00
Matthew Martin
df431eeee8
main: Recognize repeat with the other reserved words
2018-10-10 22:26:49 -05:00
Matthew Martin
3ddb974a3d
main: Remove needless code
...
The below code handles this case.
2018-10-10 22:26:49 -05:00
Matthew Martin
b6e0aeb380
main: Use unknown-token when the token type is unknown
2018-10-10 22:26:49 -05:00
Matthew Martin
4748f9bd3d
main: Add alias tests
2018-10-10 22:26:47 -05:00
Matthew Martin
e3edddd8ec
main: alias style overrides precommand style
2018-10-10 22:20:19 -05:00
Matthew Martin
c138123397
main: Move alias handling up.
...
This will set style=alias before the great fork.
2018-10-10 22:20:19 -05:00
Matthew Martin
57386f30ae
main: Recursively expand aliases
2018-10-10 22:20:19 -05:00
Matthew Martin
e1ecf950e2
main: Do path expanstion after alias expansion
2018-10-10 22:20:19 -05:00
Matthew Martin
f46b148c52
main: Only expand aliases in command position
2018-10-10 22:20:19 -05:00
Matthew Martin
99d7235c2b
main: Add test for an alias to a redirection
2018-10-10 22:20:19 -05:00
Matthew Martin
05a55108c9
main: Expand aliases before looking for redirections
2018-10-10 22:20:19 -05:00
Daniel Shahaf
e43e4fd2c7
'main': Fix $flags_sans_argument for 'nice'.
...
Follow-up to 2c15b0e996
("Learn $flags_sans_arguments…").
2018-10-10 22:20:19 -05:00
Daniel Shahaf
a56c33c3be
Bump copyright years.
2018-10-10 22:20:19 -05:00
Daniel Shahaf
005179ed8e
'main': Update $this_word state with our inferences.
...
Found by code inspection.
2018-10-10 22:20:19 -05:00
Daniel Shahaf
0709520597
No functional change.
...
Follow-up to 1fee620e62
.
2018-10-10 22:20:19 -05:00
Daniel Shahaf
f7ac43cd49
'main': Unify $ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS and $precommand_options.
2018-10-10 22:20:19 -05:00