Commit Graph

1321 Commits

Author SHA1 Message Date
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 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