Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Shahaf f54d829f03 tests: Add tests for issue #461. 2020-03-19 19:43:12 +00:00
Daniel Shahaf 9e9885253a test harness: Output the time information to the same place the test name was printed to. 2020-03-19 19:17:41 +00:00
Daniel Shahaf 3e7745ef30 test harness: Stringify values in a more readable manner.
(q-) passes through newlines and NUL bytes verbatim.  Using (qqqq) ensures the
escaped string will be on a single line (as required by the TAP format) and be
readable even if it contains control characters.
2020-03-19 19:15:21 +00:00
Daniel Shahaf b0af27f25f tests: Add a unit test for a path specified with mixed quoting.
Fixes #475.
2020-03-19 06:49:40 +00:00
Daniel Shahaf bd9094cc61 tests: Add a test for issue #498, which has already been fixed. 2020-03-19 06:44:12 +00:00
Daniel Shahaf c7229a000a tests: Test that global qualifiers and command substitutions aren't evaluated.
Fixes #504.
2020-03-19 06:41:38 +00:00
Daniel Shahaf 08839bbd87 'main': Let the type determination ignore global aliases when it ignores regular ones. 2020-03-19 05:28:17 +00:00
Daniel Shahaf e2dddb91c6 'main': Add a regression test for parameters that expand to global aliases.
Will be fixed in the next commit.
2020-03-19 05:27:31 +00:00
Daniel Shahaf cfef4f3ae0 'main': Enable the zsh/parameter codepath of global aliases highlighting. 2020-03-19 05:13:46 +00:00
Daniel Shahaf 48dd47931a changelog: Update through HEAD. 2020-03-19 05:13:17 +00:00
Daniel Shahaf 3d81c83132 travis: Remove bsdmainutils since column(1) has been removed, three commits ago. 2020-03-19 05:11:21 +00:00
Daniel Shahaf ea7c165b59 test harness: Rewrite the columnar pretty-printer without external tools. 2020-03-19 05:01:54 +00:00
Daniel Shahaf 90a92b2bb8 test harness: Fix an issue with the pretty-printed $expected_region_highlight/$region_highlight diffing.
If the right column was longer, the excess entries were printed on the left column.
2020-03-19 05:01:54 +00:00
Daniel Shahaf fdf23e06c7 'main': Support the "close file descriptor" and "coproc" redirection syntaxes
Part of issue #645.
2020-03-19 03:15:37 +00:00
Daniel Shahaf 10171731f3 tests: Add a test for the "close file descriptor" and "coproc" redirection syntaxes
Part of issue #645.
2020-03-19 03:14:15 +00:00
Daniel Shahaf dfc41123d7 tests: Fix the test added in the last commit. 2020-03-19 02:30:58 +00:00
Daniel Shahaf d6defe715a tests: Add a test for issue #705, concerning continuation lines. 2020-03-19 01:39:33 +00:00
Daniel Shahaf 3ff5bec82e test harness: Let tests fail early by exiting non-zero or by setting a flag.
Fixes #609.
2020-03-19 00:37:21 +00:00
Daniel Shahaf c4bb260a30 test harness: Print the test name when $skip_test is set. 2020-03-19 00:16:09 +00:00
Daniel Shahaf 9bdeb4aa4a test harness: Remove a bogus check.
We already declare $expected_region_highlight in run_test_internal().
Therefore, it will always be declared.
2020-03-19 00:03:24 +00:00
Daniel Shahaf 63852df983 test harness: Fix $skip_test support, broken yesterday.
It was broken by commit e6eea1f9b7,
"test harness: Don't leak options from test files to the test harness.".
2020-03-19 00:00:51 +00:00
Daniel Shahaf 66021cf0f7 travis: Install bsdmainutils to provide column(1).
See the last commit,
bdb4e8b70e test harness: When the cardinality check fails, pretty-print \$expected_region_highlight and \$region_highlight.
2020-03-17 17:17:51 +00:00
Daniel Shahaf 0f627fdf60 Merge remote-tracking branch 'danielsh/whitespace-historical'
* danielsh/whitespace-historical:
  Fix historical instances of one-space indentation.
2020-03-17 17:08:06 +00:00
Daniel Shahaf bdb4e8b70e test harness: When the cardinality check fails, pretty-print \$expected_region_highlight and \$region_highlight. 2020-03-17 17:06:32 +00:00
Daniel Shahaf e6eea1f9b7 test harness: Don't leak options from test files to the test harness.
Fixes an issue whereby the '# TODO "issue #687"' directive in the output of
opt-shwordsplit1.zsh was truncated, because the test itself had set the
SH_WORD_SPLIT option and that affected the evaluation of
«${(z)expected_region_highlight[i]}» in the test harness.

Furthermore, this patch also independently fixes the error under
zsh-5.0.8 and earlier that was fixed by the previous commit.
2020-03-17 16:48:57 +00:00
Daniel Shahaf 99389327ae test harness: Fix test failures under zsh 5.0.8 and older.
The output of test-data/opt-shwordsplit1.zsh on zsh 5.7 is:
.
    1..2
    ## opt-shwordsplit1
    # BUFFER=vim
    not ok 1 - [1,7] «$EDITOR» - expected (1 7 "function"), observed (1 7 "unknown-token"). # TODO "issue
    ok 2 - cardinality check # SKIP cardinality check disabled whilst regular test points are expected to fail

On zsh 5.0.8, tap_escape() choked when called on the arguments argv=('[1,7]'
'«vim»').  This patch fixes that.

As you may have noticed, under zsh 5.7 the diagnostic message of test point 1
is truncated.  That'll be fixed in the next commit.
2020-03-17 16:22:56 +00:00
Daniel Shahaf e165f18c75 'main': Fix a bug manifesting under zsh 5.2 and older.
The escaped caret was taken for a negated character class.  This caused test-data/arith1.zsh
to XPass: the arithmetic expansion was consumed by the 'while' loop.
2020-03-17 16:13:32 +00:00
Daniel Shahaf d237a60c9b 'main': Don't highlight arithmetic expansions as command substitutions.
This is not perfect: we don't try to detect cases such as «$((ls); (ls))»,
which look like arithmetic expansions but are in fact command substitutions.

Fixes part of #607.

Introduces #704.
2020-03-17 15:05:32 +00:00
Daniel Shahaf 2e65bb6d7d tests: Add a test documenting the current state, prior to introducing #704. 2020-03-17 15:05:32 +00:00
Daniel Shahaf 61c1cfe99f test harness: Change cardinality check semantics
The cardinality check shall —

- if the test sets \$expected_mismatch, be XFail;
- elif any test points is XFail, be skipped;
- else, be expected to pass.

To test this, change «6 * 9» to «6 + 9» in test-data/arith1.zsh that
will be added in the after-next (grandchild) commit.
2020-03-17 15:05:22 +00:00
Daniel Shahaf ea2f1060f6 test harness: No-op change to minimize the next diff. 2020-03-17 15:05:22 +00:00
Daniel Shahaf e79ce6afd0 'main': Document additional meanings of the 'S' $braces_stack flag. 2020-03-17 14:12:00 +00:00
Daniel Shahaf 619fcad067 Post-release version number bump. 2020-02-28 21:34:58 +00:00
Daniel Shahaf 4eb8a19133 Post-release version number bump. 2020-02-28 15:38:43 +00:00
Daniel Shahaf eb277cdcc6 Post-release version number bump. 2020-01-11 23:42:31 +00:00
Daniel Shahaf 78be8f611f 'main': Highlight 'doas'.
Fixes #365.
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 4c7db4e886 'main': Update state machine docs. No functional change. 2018-10-10 22:19:41 -05:00
Daniel Shahaf add2ac59fc 'main': Permit $flags_with_argument to be empty. 2018-10-10 22:19:41 -05:00
Daniel Shahaf 6e8984e2ec 'main': Make sudo handling more generic.
Part of issue #343.
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
Daniel Shahaf ee26d44de1 Merge pull request #517 from tbroadley/fix-typos
docs: Fix typos
2018-05-26 13:55:52 +00:00
Daniel Shahaf 9ff91eb8f0 Post-release version number bump. 2017-08-29 06:05:57 +00:00
Daniel Shahaf 434af7b11d Tag version 0.6.0. 2017-08-29 06:04:59 +00:00
Daniel Shahaf e58800158a #440: Identify the output.
Useful when using, e.g., Debian's package, which outputs just "Debian" here.
2017-08-09 18:42:35 +00:00
Daniel Shahaf d025148858 #440: docs: Remove the travis links from README during 'make install'. 2017-07-31 23:16:37 +00:00
Daniel Shahaf f60d9b8c36 #440: Make README more readable in source form. 2017-07-31 23:10:53 +00:00
Daniel Shahaf e4ed76b87d release.md: Correct 'git push' instructions. 2017-07-31 17:42:28 +00:00
Daniel Shahaf 30a29a9e31 Post-release version number bump. 2017-07-31 17:39:45 +00:00
Daniel Shahaf dc26731555 Tag version 0.6.0-rc1. 2017-07-31 17:31:25 +00:00
Daniel Shahaf 411864d35b release.md: Create annotated tags, fix markup. 2017-07-31 17:30:59 +00:00
Daniel Shahaf d1666463a7 changelog: Update through dea1fedc73. 2017-07-31 17:22:41 +00:00
Daniel Shahaf b56ee542d6 Merge remote-tracking branch 'upstream/pr/433'
Note that there will be no zsh 5.3.2; zsh 5.3.1 will be followed
by 5.4.  There might be 5.4-test-1 pre-releases, though.

* upstream/pr/433:
  driver: Improve comment about ^r pattern match bug
  driver: Adjust zsh version for probing for pattern match bug
  README: Fix FAQ entry about isearch highlighting
2017-07-30 17:11:33 +00:00
Daniel Shahaf 39a6c476dd changelog: Update through 5feed23962. 2017-07-30 16:38:30 +00:00
Daniel Shahaf 5feed23962 docs: Unbreak Fedora link.
Fixes #439.
2017-07-28 11:30:31 +00:00
Daniel Shahaf 462779629a driver: Workaround pattern isearch bug in zsh ≤ 5.3.1, already fixed upstream.
Merge remote-tracking branch 'upstream/pr/415'

* upstream/pr/415:
  workaround for PAT_STATIC bug in zsh
2017-03-29 09:18:59 +00:00
Daniel Shahaf 73cb832702 'main': Highlight mismatched 'if'/'fi'.
Also 'then'/'elif'/'else'.
2017-03-05 17:33:36 +00:00
Daniel Shahaf be083d7f37 driver: Improve «unhandled ZLE widget 'foo'» error message.
Fixes #409.
2017-03-05 14:38:52 +00:00
Daniel Shahaf 237f89ad62 'main': Don't consider «$*» a glob. 2017-02-11 23:49:13 +00:00
Daniel Shahaf 9523d6d49c tests: zsh 5.4-to-be compatibility: Set a new "I am shooting myself in the foot" option. 2017-01-25 19:35:34 +00:00
Daniel Shahaf b8fa1b9dc9 driver: Handle aliases that begin with a '+'
Merge remote-tracking branch 'upstream/pr/395'

* upstream/pr/395:
  tests: Add a regression test for issue #392 (aliases beginning with a '+' are lost).
  tests: Move some code in preparation for next commit. No functional change.
  driver: Don't undefine aliases that begin with a '+', to workaround an upstream bug.
2016-12-03 13:55:52 +00:00
Daniel Shahaf 5efd062a4d tests: Add a regression test for issue #392 (aliases beginning with a '+' are lost). 2016-12-03 13:54:47 +00:00
Daniel Shahaf 67be62107b tests: Move some code in preparation for next commit. No functional change. 2016-12-03 13:54:47 +00:00
Daniel Shahaf 74949c2d91 driver: Don't undefine aliases that begin with a '+', to workaround an upstream bug.
Fixes #392.
2016-12-03 13:54:47 +00:00
Daniel Shahaf 8d5afe47f7 driver: Be immune to 'alias' having been redefined. 2016-12-01 09:06:32 +00:00
Daniel Shahaf 76ea9e1df3 'main': Highlight possible history expansions in double-quoted strings. 2016-11-22 07:09:29 +00:00
Daniel Shahaf 50fbb5f76e docs: Update Homebrew link.
The upstream repository has been split and renamed.

Fixes #391.
2016-11-20 05:39:17 +00:00
Daniel Shahaf 2dce602727 driver: Be immune to weird aliases in the calling scope.
Fixes #390.
2016-11-11 08:35:19 +00:00
Daniel Shahaf 9396ad5c5f 'main': Fix highlighting of comments followed by non-comments (on a subsequent line).
Merge remote-tracking branch 'upstream/pr/385'

* upstream/pr/385:
  'main': Add regression test for previous commit.
  'main': Fix bug: no start_pos=$end_pos in comment short path

Fixes #385.
2016-11-02 15:54:56 +00:00
Daniel Shahaf 347cf0eb06 'main': Add regression test for previous commit. 2016-11-02 15:54:02 +00:00
Daniel Shahaf fed37a90ac 'main': Fix a bug concerning command word with embedded colon-space sequences.
Such a command word would, if not valid, fall through to the `type -w` case,
where the output would be misparsed, consequently the forward-compatible [arg0]
style would be used.
2016-11-02 03:16:45 +00:00
Daniel Shahaf 626c034c68 Add FreeBSD port 2016-10-29 16:55:32 +00:00
Daniel Shahaf 5398949cb3 changelog: Update for changes pulled out of 0.5.x. 2016-10-24 11:33:40 +00:00
Daniel Shahaf 035d3eb095 Follow-up to 28d7056a7a: Fix test expectations. 2016-10-22 17:46:42 +00:00
Daniel Shahaf b7e277106b README: Set alt="" attributes. 2016-10-20 01:04:41 +00:00
Daniel Shahaf 1495195eb5 README: Add a third image.
Also remove the existing image, thereby removing the filename expansion
example and the file-existence highlighting example.
2016-10-20 01:02:27 +00:00
Daniel Shahaf 50cbdbaebc README: Add another image. 2016-10-20 00:46:22 +00:00
Daniel Shahaf 242481c279 README: Use a more minimal example iamge. 2016-10-20 00:15:31 +00:00
Daniel Shahaf cd9ec14a65 README: Add before/after images 2016-10-20 00:03:09 +00:00
Daniel Shahaf 24096c2e4f changelog: Update through 28d7056a7a. 2016-10-20 00:00:58 +00:00
Daniel Shahaf 28d7056a7a 'main': Escape '!' within double-quoted strings. 2016-10-19 23:56:25 +00:00
Daniel Shahaf 1bdb88aee1 Post-branch version number bump. 2016-10-19 23:08:18 +00:00
Daniel Shahaf d464d3857f changelog: Write arg0 entry. 2016-10-19 09:10:24 +00:00
Daniel Shahaf f5c44ed7a2 changelog: Markup tweak. 2016-10-18 23:59:32 +00:00
Daniel Shahaf 2335986a39 changelog: Add the last few entries. One remains as a TODO. 2016-10-18 23:54:52 +00:00
Daniel Shahaf e060a0a1c8 release.md: Record the specific command I used. 2016-10-18 22:53:17 +00:00
Daniel Shahaf f3d0e141fd changelog: Review. 2016-10-18 22:53:17 +00:00
Daniel Shahaf 3c90a673f6 changelog: Update through 0020f592c1. 2016-10-18 22:53:17 +00:00
Daniel Shahaf 773d60c833 changelog: Update through d37c55c788. 2016-10-18 22:53:17 +00:00
Daniel Shahaf 2dff6e54ed changelog: Copyedit.
- Move an entry to another section.
- Fix commit hash width.
- Add missing punctuation.
2016-10-18 22:52:36 +00:00
Daniel Shahaf 0020f592c1 changelog: Update through cef49752fd. 2016-10-18 02:28:40 +00:00
Daniel Shahaf 56e4c38ab4 changelog: Start 0.5.0 section. Update through bc7f8ea433. 2016-10-18 02:28:39 +00:00
Daniel Shahaf 7d38d07255 'main': Followup to fdaeec4514: Update comment.
That revision was itself a followup to 51614ca2c9.
2016-10-17 20:46:46 +00:00
Daniel Shahaf 094329eb14 'main': Introduce style fallback for the command word.
Fixes #316.

* danielsh/i316-v2:
  'main': Enable fallback to the 'arg0' style.
  'main': Set fallback style for the 'arg0' style.
2016-09-28 13:25:05 +00:00
Daniel Shahaf bccc3dc269 'main': Enable fallback to the 'arg0' style. 2016-09-28 13:22:29 +00:00
Daniel Shahaf b4537a972e 'main': Set fallback style for the 'arg0' style.
The fallback style name uses '_' in anticipation of a future auto-fallback
feature keyed on style names.

'arg0' was previously known as 'commandtypefromthefuture'.
2016-09-28 13:22:09 +00:00