Commit Graph

110 Commits

Author SHA1 Message Date
Daniel Shahaf
78ad649d47 back-dollar-quoted-argument: Don't consider comma a hex character.
Character class syntax does not ignore commas between ranges.
2015-09-25 21:45:38 +00:00
Daniel Shahaf
69fcb40275 Highlight backslash escapes within $'' strings.
Correct highlighting of backslash escapes within "" strings: highlight only
the four specific escape sequences defined there.

Fixes zsh-users/zsh-syntax-highlighting#196.
2015-09-25 21:45:38 +00:00
Daniel Shahaf
f4164ac86c internal: Document a function-local variable. 2015-09-25 21:22:09 +00:00
Daniel Shahaf
9c7a1109c8 WARN_CREATE_GLOBAL: don't leak the arithmetic for loop's index variable.
Found by code inspection; WARN_CREATE_GLOBAL missed this.
2015-09-25 20:57:51 +00:00
Daniel Shahaf
66eb801358 dollar-double-quoted-argument: Handle «"foo$"» correctly. 2015-09-24 19:03:17 +00:00
Daniel Shahaf
b0cc02ed86 dollar-double-quoted-argument: Highlight "$foo" better.
Now, «"$42foo"» doesn't highlight the «foo», and «"$bar» highlights the «r».
2015-09-24 19:03:00 +00:00
Daniel Shahaf
908c4fe150 Stop leaking variables into global namespace.
Set WARN_CREATE_GLOBAL to prevent recurrence.

Fixes zsh-users/zsh-syntax-highlighting#192.
2015-09-24 18:01:06 +00:00
Daniel Shahaf
9e80fe8f02 Bump copyright years. 2015-09-24 16:46:28 +00:00
Daniel Shahaf
001e6cb404 tests: Cover 'back-quoted-argument'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-23 15:41:17 +00:00
Daniel Shahaf
22fa215e05 Fixup last commit.
* highlighters/main/test-data/hashed-command.zsh:
    Set the right region key.  This makes the test more specific.
    (Issue #184 would have caught this bug.)
2015-09-23 15:39:53 +00:00
Daniel Shahaf
845361ef3d tests: Cover 'hashed-command'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-23 15:35:56 +00:00
Daniel Shahaf
4594d8b7ec Merge remote-tracking branch 'danielsh/i199-semicolon-v1'
* danielsh/i199-semicolon-v1:
  Fix regression: Highlight ';' as commandseparator.
  Follow-up to 547b8be30461: Fix $observed_result calculation.

Fixes zsh-syntax-highlghting/zsh-users#199.
2015-09-23 15:23:25 +00:00
Daniel Shahaf
5fb4cb2f72 Fix regression: Highlight ';' as commandseparator.
This was broken by c2b9327b07
and tracked as zsh-users/zsh-syntax-highlighting#199.

This fixes the vanilla-newline.zsh test, which was was (consciously) broken
by the previous commit.
2015-09-23 14:50:22 +00:00
Daniel Shahaf
f7cb4741d6 Followup to previous: Extend the 'alias' test. 2015-09-18 22:04:07 +00:00
Daniel Shahaf
81c8d78d12 tests: Cover 'alias' and 'suffix-alias'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-18 21:42:22 +00:00
Daniel Shahaf
8767e0ef66 tests: Cover 'reserved-word'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-18 20:38:32 +00:00
Daniel Shahaf
b056f592f2 tests: Cover 'path_prefix'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-18 20:21:19 +00:00
Daniel Shahaf
e0a7ddb6ec tests: Cover 'history-expansion'.
This is part of issue zsh-users/zsh-syntax-highlighting#198.
2015-09-18 20:01:10 +00:00
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