Commit Graph
100 Commits
Author SHA1 Message Date
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
Matthew Martin 47c2b7e185 main: Distinguish quoted/unquoted command substitutions
Closes #547.
2018-10-13 09:37:09 -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
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
Matthew MartinandGitHub 683321d862 Merge pull request #529 from wraeth/master
main: Probe dirs after blacklist
2018-09-22 12:47:47 -05: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 ff85c7e01b driver: Do not highlight newlines or past BUFFER for zle standout 2018-02-10 13:24:49 -06:00
Matthew Martin 84f0507cf6 driver: Replace eval with ${(P) 2018-02-10 13:24:49 -06:00
Matthew Martin cc662371b1 main: Update test for issue #501 XFAIL 2018-02-10 13:23:42 -06:00
Matthew Martin 7b417be1ce tests: Escape newlines in TAP description 2018-02-10 13:23:08 -06:00
Matthew Martin 1f1e629290 regexp: Add missing local for arrays match mbegin mend
See #497.
2018-01-22 21:42:14 -06:00
Matthew Martin 382be9096d main: Add XFAIL to redirections2 for process-substitution #494 2018-01-20 20:32:34 -06: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
Matthew Martin d17417ec1b main: Highlight unclosed backtick subshells 2018-01-07 23:18:25 -06:00
Matthew Martin df0f448586 main: Highlight path after globbing checks
Closes #468.
2018-01-05 00:04:17 -06:00
Matthew Martin bdbe214453 main: Add *-quoted-argument-unclosed styles
Closes #277.
2017-12-24 00:03:55 -06: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
Matthew Martin dcb115c74c main: Make " and $' helper functions responsible for highlighting quote 2017-12-20 15:52:03 -06:00
Matthew Martin f623b07fb0 main: Remove trailing whitespace 2017-12-20 15:52:03 -06:00
Matthew Martin ab1013ae0d main: A redirection token is an invalid redirection target
Closes #466.
2017-12-19 23:01:42 -06:00
Matthew Martin eeb2eadcdd docs: Fix links; thanks @dukex for noticing
Closes #441.
2017-12-19 16:05:02 -06:00
Matthew Martin b07ada1255 driver: Run under emulate -L zsh and add zsyh_user_options 2017-12-16 09:33:51 -06:00
Matthew Martin 3e56294543 tests: Avoid using new zmodload flags
Unbreaks build on pre-5.4.
2017-12-14 20:58:32 -06:00
Matthew Martin 2919679ee8 tests: Skip when zsh/pcre is not available 2017-12-14 20:44:54 -06:00
Matthew Martin 2411195c20 main: Expand paths before removing quoting
Fixes highlighting of `ls \~`. Closes #328.
2017-12-12 07:58:35 -06:00
Matthew Martin 6a6d40208c main: Add fallback for useroptions if zsh/parameter is absent 2017-12-11 07:26:54 -06:00