Commit Graph

336 Commits

Author SHA1 Message Date
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 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 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 f32d1704b1 'main': Fix issue #652. 2020-01-12 18:34:49 +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 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 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 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 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
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 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 38c794a978 'main': Highlight named fd redirections.
Fixes #238
2018-10-22 04:33:11 +00: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
Daniel Shahaf 6898f71016 Add a test.
Related to https://github.com/zsh-users/zsh-syntax-highlighting/issues/549#issuecomment-431628338 and to #556.
2018-10-21 00:26:34 +00:00
Daniel Shahaf df8b2fb867 tests: Fix a failing test.
Update the test point for f3410c5862 (#264),
which changed the highlighting of aliases to consider what they resolve to.

Now the test file has both ${aliases[alias1]} and ${functions[alias1]},
the expectation is 'alias', and passes; thus:

Fixes #588.
2018-10-18 23:48:17 +00:00
Daniel Shahaf 9d6ecea21c Fix a long-standing bug in a unit test. This uncovers a regression.
The test never actually defined a function named 'alias1', not even
when zsh 5.4 warned it about this (see 9523d6d49c,
which was wrong and is hereby reverted).

The test that's now failing has been filed as issue #558.
2018-10-18 23:45:38 +00:00
Matthew Martin 47c2b7e185 main: Distinguish quoted/unquoted command substitutions
Closes #547.
2018-10-13 09:37:09 -05:00
Matthew Martin e27e53b1ef main: Highlight unknown precommand option as unknown-token 2018-10-10 22:30:51 -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 99d7235c2b main: Add test for an alias to a redirection 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 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 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 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 76d61360a7 'main': New XFail test for parameter expansion at command word. 2018-10-09 23:28:54 -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
Daniel Shahaf 565463ca8f 'main': Add regression test for an unclosed backtick substitution 2018-09-30 16:26:01 -04:00
Matthew Martin e86f75a840 main: Highlight {command,process} substitution delimiters 2018-09-30 16:26:01 -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 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 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 b75169597e main: Highlight command substitutions 2018-09-30 14:58:08 -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
Daniel Shahaf 5b539663c0 Add a regression test for a problem seen during development.
The «=(<foo)» construct was highlighted in blue (globbing?) from the '>' to the ')'.
2018-05-12 00:04:19 +00:00
Matthew Martin 5e9b7c4650 main: Add test for previous 2018-03-10 10:25:18 -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 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 cc662371b1 main: Update test for issue #501 XFAIL 2018-02-10 13:23:42 -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
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 18e214ee5b main: Add test for quotes in options 2018-01-19 18:19:07 -06:00
Matthew Martin e48af35753 main: Only highlight characters special to globbing as globbing 2018-01-18 20:16:05 -06:00