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 f3410c5862fc6d89ee3661f7d140e570d6740e8c (#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 9523d6d49cb3d4db5bd84c3cec6168a2057fe3ab,
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
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
Matthew Martin
47c2b7e185
main: Distinguish quoted/unquoted command substitutions
...
Closes #547 .
2018-10-13 09:37:09 -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