Commit graph

463 commits

Author SHA1 Message Date
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
Matthew Martin b9d7fe5a43 main: Shift args rather than iterating over
No functional change. Prepares for running a full alias through the
state machine.
2018-10-20 20:18:46 -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 d6586e2a4f main: Order precommand_options and add '-'
Fixes #499.
2018-10-10 23:23:35 -05:00
Matthew Martin 31276c1b64 main: Avoid empty character classes
Avoids an error in pre-5.0.8: bad pattern: -[]#
2018-10-10 23:02:33 -05:00
Matthew Martin 07f259f653 main: Avoid null elision in _check_path
This could be triggered if BUFFER='\'.
2018-10-10 22:30:53 -05:00
Matthew Martin e27e53b1ef main: Highlight unknown precommand option as unknown-token 2018-10-10 22:30:51 -05:00
Matthew Martin c6e3d216ec main: Consolidate TOKENS_COMMANDSEPARATOR handling
No functional change.
2018-10-10 22:26:49 -05:00
Matthew Martin 5bb5703b0d main: Move TOKENS_CONTROL_FLOW handling into command word branch
No functional change.
2018-10-10 22:26:49 -05:00