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
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
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
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
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
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
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
08d4401fae
main: Highlight <( ) and >( ) process substitutions
...
Fixes #494
2018-09-30 14:59:57 -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
Matthew Martin
e4fffa4de5
main: Correct dollar-quoted-argument-unclosed fallback typo
2018-03-16 17:18:31 -05: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
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
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
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
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
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
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
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
b07ada1255
driver: Run under emulate -L zsh and add zsyh_user_options
2017-12-16 09:33:51 -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
Daniel Shahaf
fb948f5331
noop: Add comments.
2017-12-07 03:06:56 +00:00
Daniel Shahaf
26a82113b0
'main': Highlight 'sudo' correctly when it's not installed.
...
No test because _zsh_highlight_main__type() falls back to 'type -w' which runs
'rehash' implicitly, so on systems where 'sudo' is installed it's not possible
to simulate its being absent.
Test by forcing _zsh_highlight_main__type() to return 'none' when the
argument is [[ $1 == 'sudo' ]], and: (1) Run 'make test' and confirm
that all tests either pass, or fail and the first test point that fails
is one that expects "sudo" at command position to be highlighted as
'command'; (2) In an interactive zsh, 'sudo' at command position is
highlighted as an error.
2017-12-07 00:00:13 +00:00
Matthew Martin
7177ba005f
main: Split declaration and assignment
...
Unbreak build for 5.0.8 and earlier.
2017-11-24 16:35:25 -06:00
Matthew Martin
2a50614579
main: Save user options in a single variable
2017-11-24 16:07:44 -06:00
Daniel Shahaf
73cb832702
'main': Highlight mismatched 'if'/'fi'.
...
Also 'then'/'elif'/'else'.
2017-03-05 17:33:36 +00:00
Daniel Shahaf
237f89ad62
'main': Don't consider «$*» a glob.
2017-02-11 23:49:13 +00:00
Daniel Shahaf
76ea9e1df3
'main': Highlight possible history expansions in double-quoted strings.
2016-11-22 07:09:29 +00:00
Daniel Shahaf
9396ad5c5f
'main': Fix highlighting of comments followed by non-comments (on a subsequent line).
...
Merge remote-tracking branch 'upstream/pr/385'
* upstream/pr/385:
'main': Add regression test for previous commit.
'main': Fix bug: no start_pos=$end_pos in comment short path
Fixes #385 .
2016-11-02 15:54:56 +00:00