Commit Graph

504 Commits

Author SHA1 Message Date
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
Daniel Shahaf
31ceaed4f4 'main': Highlight array parameters in command position. 2018-10-10 22:20:18 -05:00
Daniel Shahaf
ad6261fbca 'main': Use a more robust way of testing for $parameters' availability. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
3a33ac1d20 'main': Break out a new helper function for readability. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
f3425e18fe 'main': Let _zsh_highlight_main__type return false on failure. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
82c39716eb 'main': Write the "remainder" of the sentence in a comment. No functional change. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
a2e993c59f 'main': Learn $flags_sans_arguments and use that to parse '-xy foo' correctly where -x takes no argument and -y does. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
bee115f797 'main': Correct a comment. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
7f5e11e38b 'main': Remove superfluous variable. No functional change. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
78be8f611f 'main': Highlight 'doas'.
Fixes #365.
2018-10-10 22:19:41 -05:00
Daniel Shahaf
8b11ca087e 'main': Highlight 'nice'.
Fixes #168.
2018-10-10 22:19:41 -05:00
Daniel Shahaf
5694221939 'main': Highlight the 'command' precommand.
Fixes #343.
2018-10-10 22:19:41 -05:00
Daniel Shahaf
4c7db4e886 'main': Update state machine docs. No functional change. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
add2ac59fc 'main': Permit $flags_with_argument to be empty. 2018-10-10 22:19:41 -05:00
Daniel Shahaf
6e8984e2ec 'main': Make sudo handling more generic.
Part of issue #343.
2018-10-10 22:19:41 -05:00
Daniel Shahaf
dbdebfaaa5 'main': Following up to the last commit, also highlight braced parameter expansions: «${foo}». 2018-10-10 22:19:41 -05:00
Daniel Shahaf
bf055f7df2 'main': Fix the last commit's issue concerning parameter expansion at command word. 2018-10-10 22:19:36 -05:00
Daniel Shahaf
76d61360a7 'main': New XFail test for parameter expansion at command word. 2018-10-09 23:28:54 -05:00
Daniel Shahaf
f3410c5862 'main': Expand aliases first. (Issue #264.)
This commit causes an alias to an invalid command to be highlighted as an error
(unknown-token).
2018-10-09 23:28:54 -05:00
Daniel Shahaf
565463ca8f 'main': Add regression test for an unclosed backtick substitution 2018-09-30 16:26:01 -04:00
Matthew Martin
e86f75a840 main: Highlight {command,process} substitution delimiters 2018-09-30 16:26:01 -04:00
Matthew Martin
22839d08ef main: Return 0 if braces_stack is empty
This allows a caller to know if the command or process substitution is
complete.
2018-09-30 15:32:21 -04:00
Matthew Martin
472c71c1fa main: Support the glob_assign option 2018-09-30 15:32:21 -04:00
Matthew Martin
9616bfdb20 main: Ignore zsh 5.0.8 off by one bug in tests 2018-09-30 15:32:21 -04:00
Matthew Martin
8a93b852ca main: Add test for command substitution in assignment 2018-09-30 15:32:21 -04:00
Matthew Martin
932eb380e2 main: Highlight the value of an assignment 2018-09-30 15:32:19 -04:00
Matthew Martin
c06e5e95dc main: Correct array assignment check 2018-09-30 15:31:48 -04:00
Matthew Martin
12e01336f1 main: Start _highlight_argument at $1
No functional change.
2018-09-30 15:21:20 -04:00
Matthew Martin
13d332af95 main: Make _check_path's argument explicit
No functional change.
2018-09-30 15:21:20 -04:00
Matthew Martin
57e451b531 main: Add test for unclosed command substitution 2018-09-30 15:21:20 -04:00
Matthew Martin
49dbb05791 main: Add test for =( ) process substitution 2018-09-30 15:21:20 -04:00
Matthew Martin
c0e64fe131 main: Highlight =( ) process substitutions 2018-09-30 15:21:19 -04:00
Matthew Martin
73640b79ea main: Change conditional to a switch
Prepares for next commit. No functional change.
2018-09-30 14:59:59 -04:00
Matthew Martin
beae08776a main: Add test for embedded process substitution 2018-09-30 14:59:59 -04:00
Matthew Martin
08d4401fae main: Highlight <( ) and >( ) process substitutions
Fixes #494
2018-09-30 14:59:57 -04:00
Matthew Martin
3ac7d1c785 main: Add test for nested backticks; summon Cthulhu 2018-09-30 14:59:38 -04:00
Matthew Martin
9db393309e main: Recurse into backtick command substitutions 2018-09-30 14:59:36 -04:00
Matthew Martin
c40c72c386 main: Track if $buf has the end of $BUFFER
This will allow for correct path_prefix highlighting in backticks.
2018-09-30 14:59:04 -04:00
Matthew Martin
b75169597e main: Highlight command substitutions 2018-09-30 14:58:08 -04:00
Matthew Martin
ce592bd5c7 main: Move highlighting to _main_paint
This allows for callees to prepend highlights before $reply after the
length of the feature (e.g. command substution) is known.
2018-09-30 14:57:21 -04:00
Matthew Martin
ead8f8a1fc main: Split highlighting code into another function
This will allow for highlighting $( ) and similar.
2018-09-30 14:55:28 -04:00
Matthew Martin
81e89a8800 main: Reorder declarations for next commit
No functional change.
2018-09-30 14:35:52 -04:00
Matthew Martin
dbce7317c7 main: Add buf_offset variable
No functional change.
2018-09-30 14:35:52 -04:00
Matthew Martin
49cc5e25b8 main: Simplify interface to __stack_pop 2018-09-30 14:35:52 -04:00
Matthew Martin
b1eb0358fa main: Move fallback calculation to a function
No functional change.
2018-09-30 14:35:52 -04:00
Matthew Martin
8a0ffe1c43 main: Allow for patterned fallbacks 2018-09-30 14:35:52 -04:00
Matthew Martin
2fd7fbc3c2 main: Do not skip over backslash floowed by space or tab
Fixes #539.
2018-09-29 21:33:39 -04:00
Matthew Martin
1eedb23c65 main: Fix blacklist dirs check when there is more than one element 2018-09-24 07:09:08 -05:00
Sam Jorna (wraeth)
47d6dac133
main-highlighter: Probe dirs after blacklist
Move tests on the highlight path until after the blacklist is checked so
that blacklisted paths are not tested. This should prevent hangs on dead
remote filesystems provided the path is blacklisted in
X_ZSH_HIGHLIGHT_DIRS_BLACKLIST.

Updated tests to 'default' highlight as the blacklist is now checked
before the path is tested.

Bug: https://github.com/zsh-users/zsh-syntax-highlighting/issues/528
2018-08-31 13:04:52 +10:00
Daniel Shahaf
5b539663c0 Add a regression test for a problem seen during development.
The «=(<foo)» construct was highlighted in blue (globbing?) from the '>' to the ')'.
2018-05-12 00:04:19 +00:00
Matthew Martin
e4fffa4de5 main: Correct dollar-quoted-argument-unclosed fallback typo 2018-03-16 17:18:31 -05:00
Matthew Martin
5e9b7c4650 main: Add test for previous 2018-03-10 10:25:18 -06:00
Matthew Martin
d2c8f3a56d main: Fix end of buffer check for path_prefix with non-null PREBUFFER 2018-03-10 10:25:18 -06:00
Matthew Martin
2c0c75a8ee driver, main: Add -z to autoload calls 2018-03-06 11:35:40 -06:00
Matthew Martin
15e288a25c main: Mark ZSH_HIGHLIGHT_DIRS_BLACKLIST experimental 2018-02-17 20:29:30 -06:00
Matthew Martin
6713727742 main: Add ZSH_HIGHLIGHT_DIRS_BLACKLIST
Closes #379.
2018-02-17 20:29:30 -06:00
Matthew Martin
90b09f88ee main: Move - to end of character class
Closes #472
2018-02-11 11:10:09 -06:00
Matthew Martin
9706af4b81 main: Simplify for next commit; no functional change 2018-02-11 11:10:08 -06:00
Matthew Martin
be26017e39 regexp: Add test for subexpression match
Closes #497
2018-02-11 09:58:00 -06:00
Matthew Martin
a9be0975c8 tests: Directly diff expected_region_highlight against region_highlight 2018-02-10 14:49:07 -06:00
Matthew Martin
622358f32d main: Test suffix aliases if zsh/parameter is available 2018-02-10 14:20:25 -06:00
Matthew Martin
fdca2ef714 main: Fix off by one errors in quote helper functions 2018-02-10 14:20:25 -06:00
Matthew Martin
e13074528f main: Do not highlight for regions that end before the start of BUFFER 2018-02-10 14:20:25 -06:00
Matthew Martin
cc662371b1 main: Update test for issue #501 XFAIL 2018-02-10 13:23:42 -06:00
Matthew Martin
1f1e629290 regexp: Add missing local for arrays match mbegin mend
See #497.
2018-01-22 21:42:14 -06:00
Daniel Shahaf
03692831ad 'main': Don't highlight bare '$foo' as a filename, as it's a parameter expansion.
Fixes #474.
2018-01-21 06:55:31 +00:00
Matthew Martin
382be9096d main: Add XFAIL to redirections2 for process-substitution #494 2018-01-20 20:32:34 -06:00
Daniel Shahaf
8046c33b54 'main': Do not expand special parameters. Fixes #489.
Adding «(e)» to the first subscript is a no-op: the subscript is known
to be safe due to the previous line.
2018-01-20 00:36:16 +00:00
Matthew Martin
f16e858f0c main: Highlight backticks in double quotes 2018-01-19 18:19:07 -06:00
Matthew Martin
8d2955f51a main: Consolidate } handling
No functional change.
2018-01-19 18:19:07 -06:00
Matthew Martin
18e214ee5b main: Add test for quotes in options 2018-01-19 18:19:07 -06:00
Matthew Martin
6d133a0eb0 main: Highlight options as base_style
This means --foo="bar" will have quotes highlighted.
2018-01-19 18:19:07 -06:00
Matthew Martin
a65a07fae4 main: Correct typos 2018-01-19 08:00:25 -06:00
Matthew Martin
e48af35753 main: Only highlight characters special to globbing as globbing 2018-01-18 20:16:05 -06:00
Matthew Martin
604075aa90 main: Use =~ for globbing test
This will set MATCH as needed for the next commit
2018-01-18 20:08:14 -06:00
Matthew Martin
c1a048a084 main: Only highlight one base_style in _highlight_arguments
Closes #481
2018-01-18 19:37:41 -06:00
Matthew Martin
6835121eaf main: Have helper functions return highlights in reply
This allows _highlight_arguments to put things in region_highlight prior
to the highlights decided by the helper functions, but decide on what
that prior highlight should be after the helpers have run.
2018-01-18 19:36:36 -06:00
Matthew Martin
6cc861fbad main: Explicitly pass $style to _highlight_path_separators 2018-01-18 19:36:36 -06:00
Daniel Shahaf
0458b0c16f 'main': Don't match redirection operators in command substitutions as <-> number range globs. Fixes #483. 2018-01-19 01:26:34 +00:00
Daniel Shahaf
901063aa0f 'main': Add a regression test for issue #483, concerning «: $(<foo)». 2018-01-15 22:31:59 +00:00
Daniel Shahaf
f064b17d25 'main': Add an explicit test for escaped single quotes within single quotes, «'foo'\''bar'». 2018-01-13 15:45:41 +00:00
Matthew Martin
d17417ec1b main: Highlight unclosed backtick subshells 2018-01-07 23:18:25 -06:00
Daniel Shahaf
987b743646 'main': Fix highlighting of «<->»-style numeric globs.
Found-by: Matthew Martin
2018-01-08 05:13:52 +00:00
Matthew Martin
df0f448586 main: Highlight path after globbing checks
Closes #468.
2018-01-05 00:04:17 -06:00
Daniel Shahaf
2181247ae1 'main': Add a regression test for issue #474. 2018-01-01 05:05:10 +00:00
Daniel Shahaf
8652a8f4e4 Bump copyright years. 2017-12-25 08:42:30 +00:00
Matthew Martin
bdbe214453 main: Add *-quoted-argument-unclosed styles
Closes #277.
2017-12-24 00:03:55 -06:00
Daniel Shahaf
ff61a496b5 'main': Add a regression test for issue #468. 2017-12-23 23:04:32 +00:00
Matthew Martin
572ca51b1f main: Add tests 2017-12-23 14:45:49 -06:00
Matthew Martin
dc1b2f6fa4 main: Highlight partially quoted arguments correctly
Closes #130
2017-12-23 14:45:49 -06:00
Matthew Martin
25ae1c0121 main: Add ' helper function 2017-12-23 14:45:47 -06:00