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 Martin and GitHub
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
Matthew Martin
d04c62a224
tests: Add skips for tests that require sudo
2017-12-06 18:34:56 -06:00
Matthew Martin
ecdda36ef5
brackets: Ignore quotes
...
Closes #112 . Closes #138 .
2017-11-24 16:39:31 -06:00