Commit Graph

192 Commits

Author SHA1 Message Date
Daniel Shahaf 416934202e tests: Cover 'single-quoted-argument', 'double-hyphen-option', and 'function'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-18 19:21:21 +00:00
Daniel Shahaf 627eb71940 tests: Use $unused_highlight in more places.
Notably, the 'single-hyphen-option' and 'assign' contexts both default to the
'none' style, so before this patch, the tests would not have detected a failure
to apply those two contexts.

For other contexts, using $unused_highlight only helps detect the case where
the right highlight style (e.g., 'fg=yellow') is used as a result of applying
the wrong context — which should be a theoretical failure mode.

This is part of zsh-users/zsh-syntax-highlighting#198.
2015-09-18 18:44:45 +00:00
Daniel Shahaf 404d498e1d tests: vanilla-newline.zsh: Fix expectations 2015-09-17 23:33:56 +00:00
Daniel Shahaf 0d3a5dadea tests: Add test for escape sequences in double-quoted strings 2015-09-17 20:01:46 +00:00
Daniel Shahaf 186536705b tests: path-tilde-named.zsh: Fix expectations
The path string ends at offset 26, not 23.
2015-09-17 19:09:33 +00:00
Daniel Shahaf 547b8be304 test harness: Fix off-by-one discrepancy between observed and expected.
Fixes zsh-users/zsh-syntax-highlighting#195.

The one revision made on master between this branch's creation and merge
already uses correct offsets.

* danielsh/i195-tests-offbyone-v1:
  New test for dollar-double-quoted-argument.
  test harness: Fix off-by-one discrepancy between observed and expected.
2015-09-17 19:08:29 +00:00
Daniel Shahaf 80587e5419 New test for dollar-double-quoted-argument.
This exercises the previous patch.
2015-09-12 20:48:25 +00:00
Daniel Shahaf c46b8d169e test harness: Fix off-by-one discrepancy between observed and expected.
Fixes issue #195.
2015-09-12 20:48:25 +00:00
Daniel Shahaf a8afbdf2f5 Support $''-quoted strings.
This does not yet highlight backslash escapes within them.
2015-09-10 20:02:39 +00:00
Daniel Shahaf 6d93ea07fd main highlighter docs: README: Tweak. 2015-09-10 19:46:01 +00:00
Daniel Shahaf 4f5a0fe60b main highlighter docs: Give examples of styles. 2015-09-10 19:44:19 +00:00
Daniel Shahaf 555e142e66 suffix aliases: Highlight differently.
Add an underline, since they are at command word position but will be executed
by something else.

Suggested-by: Daniel Hahler
2015-09-08 10:13:16 +00:00
Daniel Shahaf e13c5a1611 Highlight 'noglob' correctly in more cases.
Fixes zsh-users/zsh-syntax-highlighting#189.
2015-09-07 18:07:59 +00:00
Daniel Shahaf 8515b7e0c5 Highlight ? as globbing.
Fixes zsh-users/zsh-syntax-highlighting#94.
2015-09-07 18:05:56 +00:00
Daniel Shahaf dc701501e5 Highlight ? as globbing.
Fixes zsh-users/zsh-syntax-highlighting#94.
2015-09-07 18:03:14 +00:00
Daniel Shahaf 9310d8ae71 Support suffix aliases
Fixes zsh-users/zsh-syntax-highlighting#126.
2015-09-07 17:59:52 +00:00
Daniel Shahaf b3ceea8511 Highlight 'noglob' correctly in more cases.
Fixes zsh-users/zsh-syntax-highlighting#189.
2015-09-07 09:09:17 +00:00
Daniel Shahaf a0b5bc6c71 Fix bug in previous commit (d330b49b33)
'local' is a reserved word in zsh 5.1 but not in earlier versions [1].
Therefore, under zsh older than 5.1, quoting is required.

This manifested as random «builtin=''» in emitted to the terminal, and
commands (such as 'echo') highlighted as errors (in red).

[1] https://github.com/zsh-users/zsh/blob/master/README#L46
    (the section "Incompatibilites between 5.0.8 and 5.1")
2015-09-07 01:26:11 +00:00
Daniel Shahaf d330b49b33 Fix variable leakage into global namespace.
Similar to zsh-users/zsh-syntax-highlighting#97.
2015-09-06 19:20:49 +00:00
Daniel Shahaf 546a5288e2 multiline strings: Add a second test for commit ff4d402e9a 2015-09-05 15:08:08 +00:00
Daniel Shahaf 7f41967a17 Highlight array appends: foo+=(bar baz).
Fixes zsh-users/zsh-syntax-highlighting#181.
2015-09-05 09:38:02 +00:00
Daniel Shahaf 51aed8a765 Merge remote-tracking branch 'upstream/pr/179'
* upstream/pr/179:
  Don't parse first word of array assignment as command
2015-09-04 17:57:08 +00:00
Daniel Shahaf 42495cc5d6 Merge remote-tracking branch 'upstream/pr/161'
* upstream/pr/161:
  Don't highlight prefix redirections as error
2015-09-04 17:27:25 +00:00
Daniel Shahaf c2b9327b07 Support literal newlines, part 2 2015-09-02 09:30:08 +00:00
Daniel Shahaf 52ece975c3 Update comments. No functional change. 2015-09-02 02:37:43 +00:00
Daniel Shahaf b9b67b9f78 Don't parse first word of array assignment as command
Fixes zsh-users/zsh-syntax-highlighting#178
2015-08-28 09:52:52 +00:00
Daniel Shahaf 359d48bf78 Don't highlight prefix redirections as error
Fixes zsh-users/zsh-syntax-highlighting#146
2015-02-16 02:44:56 +00:00
Daniel Shahaf ff4d402e9a Highlight the first part of multiline strings correctly
Given the following input:
    PREBUFFER=$'echo "foo\n'
    BUFFER='bar"'
This patch causes the '"foo' part to be highlighted as a string.  There
is no test because the tests only check highlighting of BUFFER, and 'bar"'
is already highlighted correctly.
2015-02-02 15:12:59 +00:00
Daniel Shahaf 384be15b13 Support literal newlines 2015-01-27 10:23:59 +00:00
Daniel Shahaf 23cacb12fe Support backslash continuations 2015-01-27 10:23:59 +00:00
Daniel Shahaf 667495bfb7 Support multiline strings 2015-01-27 10:23:58 +00:00
Daniel Shahaf 2c5acaefa9 Refactoring, no functional change
The new function will be used in the next commit.
2015-01-27 10:23:58 +00:00
nicoulaj 3dc5741900 Merge pull request #140 from randomize/pr_fix_issue_#77
Pr fix issue #77
2014-09-24 22:58:20 +02:00
nicoulaj 10391d025a Merge pull request #134 from sonnym/enable_quick_history_substitution_highlighting
highlight ^old^new pattern
2014-09-24 22:54:21 +02:00
Joost Cassee d7d4dff1c8 Add 'line' highlighter for the whole buffer 2014-06-08 00:04:00 +02:00
Randy e8cc271314 Resolves slow performance in brackets highlighter 2014-03-24 08:45:34 +02:00
sonnym 04f9c8884f highlight ^old^new pattern
by extending the already in place mechanism of checking for the first
histchar to check for the second as well
2013-12-07 05:11:19 -05:00
Julien Nicoulaud f289a9f8e7 Merge pull request #125 from acatton/fix-121
Fix #121: sudo syntax highlighting incorrectly
2013-11-19 11:42:03 -08:00
Julien Nicoulaud 8ac964186d Merge pull request #131 from MarkLodato/array-assignments
Properly highlight array assignments
2013-11-19 11:40:29 -08:00
Julien Nicoulaud ffce2a0b20 Merge pull request #133 from lucc/master
protect alias expansion from interpreting aliases as options
2013-11-19 11:39:40 -08:00
Lucas Hoffmann 784a5dc35b protect alias expansion from interpreting aliases as options
If one defines aliases like `++` the alias builtin tries to interprete these
as options so they have to be protected like this

    alias -- ++=true

The same goes for a call to `alias` in order to expand the alias again.
2013-11-05 00:50:20 +01:00
Mark Lodato 441f1a8aad highlight array assignments of the form x[y]=...
This code is more lenient than bash.  Examples:

    $ x[y[]=
    zsh: no matches found: x[y[]=
    $ x[][]=
    zsh: no matches found: x[][]=

The proper solution is to look inside the [...] and make sure that all
unescaped/unquoted square brackes are matched, but that is a heck of
a lot more complicated than this simple 8-character patch.
2013-10-30 00:53:46 -04:00
Mark Lodato c62cb54e9d do not remove quotes when checking assignments
Zsh does not allow the variable name or the equals sign to be quoted or
escaped.  The previous code incorrectly highlighted the following
examples as assignments:

    $ 'x=y'
    zsh: command not found: x=y
    $ x\=y
    zsh: command not found: x=y
    $ "x"=y
    zsh: command not found: x=y
    $ \x=y
    zsh: command not found: x=y
2013-10-30 00:00:16 -04:00
Akinori MUSHA 0fc6b07509 Do not leak a variable: cdpath_dir.
Leaking a variable that holds a path in CDPATH could easily end up appearing on your prompt like `~cdpath_dir/subdir`.
2013-10-21 21:18:38 +09:00
Antoine Catton 3b3a58be91 Fix #121: sudo syntax highlighting incorrectly
Parse sudo command line in order to highlight the options correctly
2013-09-28 19:33:34 -06:00
Julien Nicoulaud dbd27cb30a #155: document path_prefix/path_approx 2013-08-09 09:56:28 +02:00
Julien Nicoulaud 08b80022ca Merge pull request #123 from Shura0/master
Highlighted dollar variable ver. 2
2013-08-09 00:47:32 -07:00
Shura a7ee0597ef Update main-highlighter.zsh
Comments added
2013-08-09 10:24:14 +04:00
Julien Nicoulaud 3677b75731 Merge pull request #115 from Valodim/master
add separate path_prefix and path_approx hilights
2013-08-08 07:31:46 -07:00
Julien Nicoulaud 3f2c76f393 Merge pull request #116 from jameskyle/feature/Issue-#92-silence-system-bell-in-osx
Issue #92 Eliminates system bell errors on osx.
2013-08-08 07:26:22 -07:00
Владимир 57c01d19de Update main-highlighter.zsh
Add support of CDPATH
2013-08-07 03:21:15 +03:00
Shura 8abcf187f6 dollar variable and backslash codes highlighting 2013-07-29 17:33:34 +04:00
James Kyle 93827ed84d Issue #92 Eliminates system bell errors on osx.
Prepended an 'if' to remove error bell on osx systems.
2013-07-25 11:39:21 -07:00
Vincent Breitmoser 228f5a6aad add separate path_prefix and path_approx hilights 2013-07-25 04:41:09 +02:00
Chris Knadler 612e493cba Fix relative links in highlighters readme 2013-02-26 18:03:35 -08:00
Takeshi Banse b4e667795c make $pattern local to _zsh_highlight_pattern_highlighter #97
Signed-off-by: Takeshi Banse <takebi@laafc.net>
2012-12-09 10:43:00 +09:00
evan 19981ef9ea added sudo as a precommand 2012-08-17 15:52:09 -04:00
Jan M. Binder 732b7d6e65 Fix bracket highlighter 2012-04-07 17:09:15 +02:00
Jud Porter d82eee5212 add emulate -L zsh to _zsh_highlight_main_highlighter. resolves issue #83 2011-12-02 16:44:33 -05:00
Julien Nicoulaud f824e5e84d Options should only be set locally 2011-09-24 14:42:55 +02:00
Andreas Gahr 024c1c46f7 next try. fix for issue #76 without brakeing fix for #21 2011-09-24 20:39:34 +08:00
Julien Nicoulaud 8d4cde6301 (Hopefully) fix #21 (tilde and hashed directories in paths) 2011-09-20 19:13:37 +02:00
Julien Nicoulaud db8f98fc53 Set default style for pipes and stuff to none 2011-09-20 19:13:37 +02:00
Andreas Gahr 287167d453 fix for issue #76. This was more ore less forgotten in pull request #75 2011-09-20 19:13:37 +02:00
Andreas Gahr 670961ad01 handle highlighting for precommands; handle highlighting for commands separators 2011-09-20 19:13:37 +02:00
Andreas Gahr f84f9319d8 supposed fix for issue #73 and issue #74 2011-09-09 16:07:49 +02:00
Julien Nicoulaud a6d105131c Fix #21: No highlighting when using tilde 2011-09-06 19:21:40 +02:00
Takeshi Banse 1d729202ec add tests for handling tildes
Signed-off-by: Takeshi Banse <takebi@laafc.net>
2011-09-07 01:14:45 +08:00
Takeshi Banse 48a18291f9 add some tests
Signed-off-by: Takeshi Banse <takebi@laafc.net>
2011-09-07 01:14:45 +08:00
Takeshi Banse 4a8b184632 pass ${arg} explicit
Signed-off-by: Takeshi Banse <takebi@laafc.net>
2011-09-07 01:14:45 +08:00
Andreas Gahr b1b65dc486 bracket highlighter: small typo in testcase - document new style 2011-08-08 17:01:51 +02:00
Andreas Gahr 06ad03e32c bracket highlighter: simplify 2011-08-08 16:01:53 +02:00
Andreas Gahr 8375ef6e72 bracket highlighter: make the style configurable, when cursor is on bracket 2011-08-08 15:55:47 +02:00
Andreas Gahr 24243becba bracket highlighter: fix typo from last commit 2011-08-08 15:51:40 +02:00
Andreas Gahr e1ed255c0a bracket highlighter: start loops with 0 which is more natural and also more in line whith the other highlighters 2011-08-08 14:48:16 +02:00
Andreas Gahr 0d55207c78 simple testcases for bracket highlighter - actually add files 2011-08-05 16:38:46 +02:00
Andreas Gahr 33813c6a52 simple testcases for bracket highlighter 2011-08-05 16:25:47 +02:00
Valodim f27ef7a279 after exec token we can expect a command 2011-08-02 00:55:55 +08:00
Julien Nicoulaud 08dae96eb1 Add highlighter triggered when the user is root 2011-07-27 00:37:33 +02:00
Julien Nicoulaud 11de634b33 Add cursor highlighter 2011-07-27 00:13:41 +02:00
garinger e7ab165310 * optimize discrimination of bracket-type
* use a nicer variable name
2011-07-13 12:47:27 -07:00
garinger f1eb5aeef7 skip all brackets inside quotes (" and ') 2011-07-12 08:11:21 -07:00
garinger 2fe9505647 simplify check for bracket under cursor 2011-07-12 08:07:08 -07:00
garinger 05e4a031c7 * remove a safety belt - no need to check if array has elements, as defaults are provided
* reuse $pos instead of using another variable
* remove declaration forgotten in last commit
2011-07-12 07:56:12 -07:00
garinger d4acac9837 eliminate a variable and simplify 2011-07-08 12:43:59 -07:00
garinger ef74d2b611 Only match brackets of the same type 2011-07-08 12:25:09 -07:00
garinger 48c30a805a highlight opening bracket with "bracket-error" style, if the closing bracket is still missing 2011-07-08 07:52:32 -07:00
Julien Nicoulaud e7d7ccfe35 Group if statements in f26310d97e 2011-06-16 14:54:24 +02:00
Guido f26310d97e * enable command lines starting with a hyphen. 2011-06-16 04:28:59 -07:00
Julien Nicoulaud ef4f5ed638 Fix READMEs 2011-06-12 23:16:41 +02:00
Julien Nicoulaud 0772ddd346 Big refactoring.
* Don't override user defined styles
* Better modularisation of highlighters
* Allow to define which highlighters are activated
* Allow to define the order in which they are defined
* Minor performance optimizations
* Fixed some variables leak
* Improve documentation
* Brackets highlighter: use ZSH_HIGHLIGHT_STYLES instead of a specific array
2011-06-12 22:57:14 +02:00
Julien Nicoulaud bc788f3f19 Start splitting highlighters to separate files.
The script still works on its own, highlighters in highlighters/ are
loaded as addons if present.

Signed-off-by: Julien Nicoulaud <julien.nicoulaud@gmail.com>
2011-02-17 23:41:01 +01:00