Daniel Shahaf
e58e45273f
tests: Add some tests for unusual or invalid elements in array assignments:
...
- pipes (issue #651 )
- semicolons
- literal newlines
(also discussed on #651 )
2020-03-15 14:19:38 +00:00
Matthew Martin
b85e313bc9
main: Declare variable local to fix WARN_CREATE_GLOBAL error
2020-03-12 20:51:19 -05:00
Daniel Shahaf
34df84a7dd
'main': Add a test for issue #687 , concerning the SH_WORD_SPLIT option.
2020-03-11 16:52:08 +00:00
Daniel Shahaf
1a752da1c2
Highlight redirections by default, and add that to the examples in README.
...
Fixes #646 .
2020-02-28 22:49:02 +00:00
Daniel Shahaf
edfc7dfd9b
'main': Fix issue #577 .
2020-02-28 22:36:57 +00:00
Daniel Shahaf
9880276756
'main': Fix the currently-failing test for issue #577 .
...
It is fixed in the next commit.
2020-02-28 22:35:56 +00:00
Daniel Shahaf
e07c901dfd
tests: Fix the last added test to pass when sudo(8) isn't installed.
2020-02-28 15:22:43 +00:00
Daniel Shahaf
3cea1434ae
Bump copyright years.
2020-02-25 17:34:35 +00:00
Daniel Shahaf
73c89c69a2
tests: Add a test for partial elisions of parameter expansions in command position
...
See 1a55dc8fc2 (commitcomment-37476021)
2020-02-25 17:22:55 +00:00
Matthew Martin
7fd44bc429
tests: Fix previous
2020-02-25 07:37:09 -06:00
Matthew Martin
ab88dfad27
tests: Add main test for alias of a parameter like string
2020-02-25 07:21:40 -06:00
Daniel Shahaf
f729726300
'main': Do not look for metacharacters in parameter expansions.
...
Fixes the bug the previous commit added a test for.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
f490b7cb95
'main': Add two tests for metacharacters in parameter expansions.
...
Suggested-by: @QBobWatson
(in https://github.com/zsh-users/zsh-syntax-highlighting/pull/682#issuecomment-588361771 )
2020-02-22 15:12:24 +00:00
Daniel Shahaf
2f4f81cab7
'main': Parameter expansions may not contain assignments.
...
In «a="b=c"; $a», the '=' sign in the expansion of $a is not active.
Therefore, prevent the expansion of $a from being considered an
assignment. Update test expectations accordingly.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
3558306149
tests: Add tests for issue #670 .
...
Before the parent commit, they behaved as follows:
ZSH_PATCHLEVEL=debian/5.7.1-1
# parameter-value-contains-command-position1
1..2
ok 1 - [1,7] «$foobar» - # TODO "issue #670 "
not ok 2 - have 1 expectations and 6 region_highlight entries: «expected_region_highlight=( '1 7 assign "issue ♯670"' )» «region_highlight=( '0 7 assign' '2 7 default' '2 7 command-substitution-unquoted'
zsh-syntax-highlighting: BUG: _zsh_highlight_highlighter_main_paint: start(2) >= end(2)
Bail out! On './highlighters/main/test-data/parameter-value-contains-command-position2.zsh': output on stderr
# parameter-value-contains-command-position2
1..2
ok 1 - [1,2] «$y» - # TODO "issue #670 "
ok 2 - cardinality check
Due to the the "BUG:" and "Bail out!" on the first one, they could not
be added as XFAIL tests before the parent commit.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
1a55dc8fc2
'main': Pass parameters through the multi-word machinery, as we already do for aliases.
...
Fixes #674 .
2020-02-22 15:12:24 +00:00
Daniel Shahaf
52ea5c686a
'main': precommands += chronic, ifne (from moreutils)
...
Fixes #681 .
2020-02-17 10:20:13 +00:00
Matthew Martin
0e51046b19
main: Add tests for issue #678
2020-01-25 15:51:16 -06:00
Daniel Shahaf
4546756500
tests: Fix another instance of issue from the last commit.
2020-01-24 01:22:03 +00:00
Daniel Shahaf
9d380805d7
tests: Unbreak the build on zsh 5.0.8 and older.
2020-01-24 00:51:27 +00:00
Daniel Shahaf
77c6bf2019
'main': precommands: Remove argumentless options that can't be followed by a command word.
...
Suggested-by: Matthew Martin
(in e2e97dde9c (r36941988)
)
2020-01-24 00:37:56 +00:00
Daniel Shahaf
e2e97dde9c
'main': Support tabbed(1) from suckless-tools
2020-01-22 04:44:27 +00:00
Daniel Shahaf
9bf06c5c2a
tests: Add a regression test for issue #676 .
2020-01-20 03:49:00 +00:00
Daniel Shahaf
b3b6d7129f
tests: Add failing tests for issue #674 .
2020-01-16 16:12:14 +00:00
Daniel Shahaf
9cb7e9a837
tests: Make sudo-longopt pass when sudo isn't installed.
...
Fixes #673 .
2020-01-16 15:49:27 +00:00
Daniel Shahaf
cb166dcc77
'main': Restore 0.6.0's behaviour for unknown options.
...
See discussion on #664 .
2020-01-14 23:08:50 +00:00
Daniel Shahaf
5012d771f3
'main': Don't highlight unknown precommand flags as errors.
...
We cannot now for sure whether the flag is misspelled or simply unknown to us,
so err on the side of caution. This fixes an unreleased regression. Fixes #658 .
Issue #641 was originally filed about this problem, but is left open to track
further enhancements.
2020-01-14 23:08:50 +00:00
Daniel Shahaf
3a6f7e7bfe
'main': Add an XFail test for #641 and #658 .
2020-01-14 23:08:50 +00:00
Daniel Shahaf
b1f36d9c5f
'main': Add a comment.
2020-01-12 19:48:49 +00:00
Daniel Shahaf
08edf8db7f
'main': Fix the $CDPATH from the previous commit.
2020-01-12 19:37:53 +00:00
Daniel Shahaf
6629a1f432
'main': Add a test for a $CDPATH bug.
2020-01-12 19:37:30 +00:00
Daniel Shahaf
521fedfdf5
'main': Change the issue a test is associated with.
...
Issue #202 is too overloaded.
2020-01-12 19:32:44 +00:00
Daniel Shahaf
1618848df6
'main': Add some tests for complete and partial absolute paths in command position.
2020-01-12 19:29:46 +00:00
Daniel Shahaf
c3293ba0d8
'main': Update comments after last commit. No functional change.
2020-01-12 18:34:49 +00:00
Daniel Shahaf
21cdd6bc5e
'main': Simplify alias handling.
...
$last_alias isn't needed; there's no reason to treat loops of length 2
(alias a=b b=a) differently to loops of length 1 (alias a=a), length 3
(alias a=b b=c c=a), or length N.
The «(( $+seen_alias[$arg] ))» check is redundant as of the last commit:
the enclosing condition ensures that $res is "alias", which implies that
«(( $+seen_alias[$arg] ))» is false.
2020-01-12 18:34:49 +00:00
Daniel Shahaf
f32d1704b1
'main': Fix issue #652 .
2020-01-12 18:34:49 +00:00
Daniel Shahaf
86fe054005
'main': precommands += ssh-agent
2020-01-12 17:21:59 +00:00
Daniel Shahaf
533bfa0116
'main': Fix the new 'backslash' test on zsh-5.0.2 and older. (The bug
...
occurred on zsh-5.0.7 and older but I don't have zsh-5.0.7 handy to test
on.)
Evidently, the issue was due to elision.
This addresses #665.0 and #665.5.
2020-01-12 17:10:34 +00:00
Daniel Shahaf
2d0dddf58b
'main': Don't dequote the word in command position before analyzing it.
...
Fixes #656 .
Fixes #660 .
Regression from commit e1ecf950e2
,
"main: Do path expanstion after alias expansion" (sic).
2020-01-12 16:11:09 +00:00
Daniel Shahaf
27fa4a6546
noop: Quote the bitflag values.
...
Now every instance of «:foo:» is ''-quoted. This enables $EDITOR to highlight
them consistently throughout the file.
2020-01-12 15:46:22 +00:00
Daniel Shahaf
ae5ad09cf5
Bump copyright years.
2020-01-12 14:58:56 +00:00
Daniel Shahaf
e9b1ce1a36
Add a unit test for dc1b2f6fa4
.
2020-01-11 23:04:22 +00:00
Daniel Shahaf
68fbe1a449
Add a test for redirection from/to process substitution.
...
Inspired by ab1013ae0d
.
2020-01-11 21:47:34 +00:00
Daniel Shahaf
1be58a6f45
Add a test for 2f03b6d704
.
2020-01-11 21:19:52 +00:00
Daniel Shahaf
8b2768ab40
'main': Add a test for 07f259f653
.
2020-01-11 20:46:14 +00:00
Daniel Shahaf
de95d50bce
'main': Fix highlighting of the 'time' and 'nocorrect reserved words
...
Also add tests.
'time' is a regression from 6647e88606
(last Wednesday).
2019-12-27 13:47:31 +00:00
Daniel Shahaf
83862c1abb
'main': Add two basic tests for aliases.
2019-12-27 09:37:23 +00:00
Daniel Shahaf
ce10f20e77
'main': Add a regression test for #652 .
2019-12-27 09:00:36 +00:00
Daniel Shahaf
6647e88606
'main': Add some precommands.
2019-12-25 10:53:42 +00:00
Daniel Shahaf
926c36c1fb
Add a test for issue #641.5, using the infrastructure added in the previous commits.
...
Current output:
.
# precommand-then-assignment
1..4
ok 1 - [1,4] «nice»
not ok 2 - [6,8] «x=y» - expected (6 8 "unknown-token"), observed (6 8 "assign"). # TODO "issue #641.5"
not ok 3 - [8,8] «y» - expected (10 11 "default"), observed (8 8 "default"). # TODO "issue #641.5 (fallout)"
ok 4 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail
2019-11-10 11:49:26 +00:00
Matthew Martin
e7d3fbc50b
main: Add test for previous
2019-11-07 19:59:00 -06:00
Matthew Martin
139ea2b189
main: Avoid $end_pos when calculating $arg size
...
Fixes second issue filed under #617
https://github.com/zsh-users/zsh-syntax-highlighting/issues/617#issuecomment-551253422
In the case of a command substitution in an alias, $arg[i,end_pos] would
not pass to the end of $arg and i <= start_pos - end_pos would not
iterate over all of $arg. Use $arg[i,-1] and $#arg respectively to avoid
issues in aliases.
2019-11-07 19:50:17 -06:00
Matthew Martin
b55832c5f8
main: Drop X_ from X_ZSH_HIGHLIGHT_DIRS_BLACKLIST
2019-07-24 07:27:54 -05:00
Daniel Shahaf
8e78e9dbba
'main': Fix issue #623 by fixing the expectations of the regression test of issue #616 .
2019-07-21 01:44:19 +00:00
Matthew Martin
2bd709fc28
main: Fix misspelling in test expectation
2019-07-20 10:38:53 -05:00
Matthew Martin
1fcd786f77
main: Add more alias tests
...
Suggested by Daniel.
2019-07-20 10:36:57 -05:00
Matthew Martin
369620dd2d
main: Use longer alias name in tests
2019-07-20 10:32:34 -05:00
Matthew Martin
9cc0060334
main: Stop highlighting alias as its first word too
...
Fixes #565 and #576
2019-07-20 10:32:12 -05:00
Matthew Martin
a88d41e095
main: Fix faulty test
...
sudo -e does not take a command, so use another flag that does.
2019-07-11 21:15:01 -05:00
Matthew Martin
b3f66fc874
main: Use zsyh_user_options when splitting alias RHS
2019-07-11 21:15:01 -05:00
Matthew Martin
83249e1b23
main: Do not highlight empty region between two adjacent $()
...
Should fix #624
2019-07-08 17:05:42 -05:00
Daniel Shahaf
ab4b6f5823
'main': Hackily unbreak 'make test'.
...
The test point is XPASSing, which makes CI red. As a duct tape measure to turn
CI green again, update the test expectations to make it XFAIL. The hacky part
is that the expectation set by this commit will never be met; the test point
will never XPASS now until its expectations are changed again.
Issue #623 remains open to track setting the test expectation to the correct
value (i.e., make the test XFAIL in a manner that _will_ XPASS if the bug is
fixed; in other words, pay off the technical debt created by this commit).
Issue #616 remains open to fix the actual bug.
2019-07-07 18:36:38 +00:00
Daniel Shahaf
d766243f7a
'main': Add an XFail regression test for issue #616 .
2019-06-16 21:42:21 +00:00
Daniel Shahaf
fd4c5db4c9
'main': Fix an issue whereby a --option was highlighted as a file
...
Regression test included.
Fixes #578 .
Review-by: Matthew Martin
2019-06-16 20:25:34 +00:00
Matthew Martin
82cf2527fc
'main': Add test for #548
...
Closes #548
2019-04-19 19:48:01 -05:00
Matthew Martin
7ba4f0f119
'main': Use nice for tests in previous
...
stdbuf is not present on all systems. nice is not builtin and is POSIX.
2019-04-04 21:52:51 -05:00
Daniel Shahaf
bc3f77f719
'main': Add XFailing tests for issue #608 .
2019-03-29 17:50:49 +00:00
Daniel Shahaf
5f80147c55
'main': Follow-up to last commit: Fix stdbuf options spec.
...
The effect of the bug was that «-:» was considered an option taking an argument
(see the parsing of the associative array in lines 692-693).
As to preventing recurrence, add a warning comment. We _could_ change
the separator from colon to something else, but colon is idiomatic for
this use (see, e.g., passwd(5)), and the problem will be unlikely to
recur if and when we add a third field to the assoc's values. (For
example, jexec(1), chroot(1), and even ssh(1) would benefit from a third
field saying how many positional arguments to skip before the positional
argument that's to be the command word — though in the last two cases,
specifying an "inner" command is optional.)
2019-03-27 11:45:17 +00:00
Daniel Shahaf
3e86ef59b7
'main': precommands += stdbuf
2019-03-26 22:04:50 +00:00
Daniel Shahaf
809443f5c5
'main': Add the issue number for future reference.
2019-03-16 07:49:04 +00:00
Daniel Shahaf
abec25d013
'main': _zsh_highlight_main__type: Add comments.
2019-03-16 07:47:53 +00:00
Daniel Shahaf
79596a84be
'main': Document the last change.
2019-03-16 07:45:23 +00:00
Daniel Shahaf
37d6108215
'main': Work around a zsh bug reported to us as #606 .
...
As of this writing, it seems that the 'type' builtin poisons the commands hash
in a way that breaks AUTO_CD to absolute paths that don't end with a slash.
2019-03-16 07:34:12 +00:00
Matthew Martin
1e34c4aa0b
main: in arguments starting with %?, ? is not a glob
...
Fixes #596
2019-01-06 22:23:10 -06:00
Daniel Shahaf
78b95b0695
Add a test for the 'true negative' case of issue #596 .
2018-12-31 17:57:53 +00:00
Daniel Shahaf
0efad58f30
Add a test for issue #596 .
2018-12-29 11:31:50 +00:00
Daniel Shahaf
e900ad8bad
main: Add another test, inspired by #577 and #502 .
2018-11-01 04:01:33 +00:00
Daniel Shahaf
f087f3c6e4
main: Add a test for issue #577 .
2018-11-01 04:01:05 +00:00
Daniel Shahaf
3e6d1375c9
main: Fix check for suffix aliases ( fixes #574 )
2018-10-30 21:25:59 +00:00
Daniel Shahaf
4ce56a821e
Merge branch 'i511-bang-pipeline'
...
* i511-bang-pipeline:
main: Fold '!' handling in to the 'case'. No functional change.
Fix indentation. No functional change.
main: Fix highlighting of the ! precommand after array assignments. Add tests.
main: Highlight the ! precommand as an error when not at the start of a pipeline.
2018-10-23 16:58:33 +00:00
Daniel Shahaf
44b89f3307
main: Fold '!' handling in to the 'case'. No functional change.
2018-10-23 16:36:14 +00:00
Daniel Shahaf
0c9252ac69
Fix indentation. No functional change.
2018-10-23 16:34:35 +00:00
Daniel Shahaf
6cf522b7b3
main: Fix highlighting of the ! precommand after array assignments. Add tests.
2018-10-23 16:31:39 +00:00
Daniel Shahaf
298ef6a2fa
main: Highlight the ! precommand as an error when not at the start of a pipeline.
...
Fixes #511 .
2018-10-23 16:31:00 +00:00
Matthew Martin
d9e326b993
main: consume trailing whitespace in _highlight_list
...
Fixes highlighting when an unclosed $( ends in whitespace.
2018-10-22 07:53:18 -05:00
Matthew Martin
48a20d067f
main: Break double-quoted-argument on command substitutions
2018-10-22 07:53:18 -05:00
Daniel Shahaf
6539f0d419
'main': Highlight named fd redirections.
...
Merge remote-tracking branch 'danielsh/i238-named-fd-redirection-v1'
* danielsh/i238-named-fd-redirection-v1:
'main': Tighten condition.
noop: Tweak condition at Matthew's suggestion
'main': Highlight named fd redirections.
2018-10-22 05:00:07 +00:00
Daniel Shahaf
7d961ba1e6
'main': Add a test for issue #237 .
2018-10-22 04:58:57 +00:00
Daniel Shahaf
ad3a6cb3c9
'main': Tighten condition.
...
Should rule out brace expansions such as '{foo,bar}' and '{10..20}'.
2018-10-22 04:56:50 +00:00
Daniel Shahaf
9870ccc505
noop: Tweak condition at Matthew's suggestion
2018-10-22 04:54:11 +00:00
Daniel Shahaf
38c794a978
'main': Highlight named fd redirections.
...
Fixes #238
2018-10-22 04:33:11 +00:00
Daniel Shahaf
de23e75946
minor: Fix the editor braces matching confusion prevention sentinel.
2018-10-22 04:27:18 +00:00
Matthew Martin
a3c9e7ebc7
main: Simplify insane alias checking
2018-10-21 14:59:52 -05:00
Matthew Martin
f71a17c58e
main: Highlight closing brackets
...
Closes #226
2018-10-21 12:10:07 -05:00
Matthew Martin
d0c23a68b3
main: Simplify proc_buf offset calculation
...
Fixes #347
2018-10-20 23:48:39 -05:00
Matthew Martin
7388adf4e8
main: Add alias tests
2018-10-20 20:57:45 -05:00
Matthew Martin
cb8c736a56
main: Run the entirety of aliases through the state machine
...
Fixes #540 #544 #552 #554 #555
2018-10-20 20:57:45 -05:00
Matthew Martin
2d4fe988ba
main: Rename parameters to simplify next diff
2018-10-20 20:18:46 -05:00
Matthew Martin
8f17e4e201
main: Add trivial condition and remove whitespace to simplify next diff
2018-10-20 20:18:46 -05:00
Daniel Shahaf
02f4a6b540
'main': Optionally ignore aliases in __type
2018-10-20 20:18:46 -05:00