Daniel Shahaf
ade4b28d2d
'main': Fix issue #677 , concerning multiline aliases.
...
The fix is to exempt such aliases from the empty commands sanity check.
2020-05-22 04:54:10 +00:00
Daniel Shahaf
f2726d0464
'main': Don't consider path_prefix in alias expansions.
2020-03-19 06:06:30 +00:00
Daniel Shahaf
8184266338
'main': Add a test for aliases to AUTO_CD directories.
2020-03-19 06:06:30 +00:00
Daniel Shahaf
83ac855ceb
'main': Let AUTO_CD directories be highlighted with their own style.
2020-03-19 06:06:30 +00:00
Daniel Shahaf
3f930fb0c1
'main': Add an auxiliary variable for readability.
2020-03-19 06:06:30 +00:00
Daniel Shahaf
5545fb9ab2
'main': In command position, do not highlight directories (unless AUTO_CD is set) and non-executable files.
...
Fixes #202 .
Test expectations are updated. For example, BUFFER='/bin' is now
highlighted as path_prefix because it's a prefix of '/bin/sh' which
would be valid. However, BUFFER='/bin;' is now properly highlighted
as an error (unless AUTO_CD is set).
2020-03-19 06:06:30 +00:00
Daniel Shahaf
a6eb966d96
'main': Extend tests to capture the current behaviour.
...
The next commits will change this behaviour.
2020-03-19 06:05:23 +00:00
Daniel Shahaf
c67372e96c
'main': Add an XFail test for issue #202 .
2020-03-19 06:05:23 +00:00
Daniel Shahaf
29ca0bc6c8
'main': Highlight errors from the EQUALS option.
...
Fixes #430 .
2020-03-19 05:59:04 +00:00
Daniel Shahaf
3c5f63d959
'main': Highlight global aliases
2020-03-19 05:05:37 +00:00
Daniel Shahaf
5a44d9f32a
tests: Record current behaviour on global aliases.
2020-03-19 05:04:15 +00:00
Daniel Shahaf
fb69f4ca81
'main': When the redirection operator '>&' or '<&' is followed by a positive integer, do not consider that as a filename; it's always a file descriptor.
...
Fixes #694 .
2020-03-17 04:00:43 +00:00
Daniel Shahaf
1024ae8177
'main': Add $last_arg for "lookbehind".
2020-03-17 03:58:15 +00:00
Daniel Shahaf
5720d87052
noop: Clarify comment.
2020-03-17 03:48:40 +00:00
Daniel Shahaf
2339ee33b9
'main': Honour the MULTIOS option when applying the 'globbing' style.
...
Fixes #583 .
2020-03-17 03:32:58 +00:00
Daniel Shahaf
61945185ff
'main': Document what $in_redirection is currently used for.
2020-03-17 03:18:27 +00:00
Daniel Shahaf
936bc251a8
'main': The optimized cmdsubst input syntax doesn't glob.
...
Fixes #582 .
2020-03-17 03:11:52 +00:00
Daniel Shahaf
c699ce9a26
changelog: Fix markup.
2020-03-17 03:10:08 +00:00
Daniel Shahaf
6e1a221699
tests: Add a test for issue #571 .
2020-03-17 02:58:16 +00:00
Daniel Shahaf
9ceb7c6e7c
changelog.md (0.7.0): Fix typo
2020-03-17 01:51:32 +00:00
Daniel Shahaf
b454b596ed
Fix historical instances of one-space indentation.
...
No functional change.
2020-03-17 00:48:16 +00:00
Daniel Shahaf
e815d4579b
tests: Add a test for a bug fixed in 2d0dddf58b "'main': Don't dequote the word in command position before analyzing it.".
...
Fixes #630 .
2020-03-16 22:27:04 +00:00
Daniel Shahaf
3174e375f4
'main': Fix highlighting of null execs.
...
Fixes #676 .
2020-03-16 21:50:04 +00:00
Daniel Shahaf
f56e3fad23
'main': Optimize the path_prefix check.
...
Computing ${#array} is O(N), whereas checking 0 is O(1).
2020-03-16 20:45:56 +00:00
Daniel Shahaf
62e2d05f91
changelog: Update through HEAD.
2020-03-16 19:34:48 +00:00
Daniel Shahaf
2cc2583f8f
Merge the first three commits of PR #669
...
* commit 'b1f36d9c5f45b879fbd2f64195167a60d9f3cb9e':
'main': Add a comment.
'main': Fix the $CDPATH from the previous commit.
'main': Add a test for a $CDPATH bug.
2020-03-16 19:32:59 +00:00
Daniel Shahaf
e15781c900
changelog: Update through HEAD.
2020-03-16 19:26:28 +00:00
Daniel Shahaf
20d250d618
'main': Support the non-precommand flags of sudo(8) and ssh-agent(1).
...
Uses the infrastructure added in the previous commit.
Fixes #678 .
2020-03-16 19:22:54 +00:00
Daniel Shahaf
c73153c6e8
'main': Add infrastructure for precommand options that are not to be followed by a command word (issue #678 ).
2020-03-16 19:20:31 +00:00
Daniel Shahaf
63bcd85dfa
'main': Don't use «foo && bar || baz» where a trenary is more appropriate.
...
This prevents the baz pattern match from being attempted whenever the
bar pattern match was tried and failed.
2020-03-16 19:14:51 +00:00
Daniel Shahaf
4bbd2a3bc6
'main': Prepare to add additional fields to $precommand_options values.
...
No functional change.
2020-03-16 19:07:57 +00:00
Daniel Shahaf
241d3a92e8
tests: Fix an XFail test expectation.
...
Before this commit, the test was unable to XPass, since there is no
highlighting style called "normal".
2020-03-16 19:04:12 +00:00
Daniel Shahaf
6243c99f41
tests: Fixup last commit.
2020-03-16 18:57:28 +00:00
Daniel Shahaf
8f7e9b2af4
tests: Add a test for uninstalled precommands.
2020-03-15 19:55:42 +00:00
Daniel Shahaf
f63f07417d
Merge remote-tracking branch 'danielsh/tests-skip-cardinality-v1'
...
* danielsh/tests-skip-cardinality-v1:
tests: Minor documentation readability tweak
Add a test for issue #641.5, using the infrastructure added in the previous commits.
tests: Skip cardinality tests whenever any test point is expected to fail.
tests: Make $expected_mismatch skip the cardinality check, rather than consider it an expected failure.
tests: Include the name of the 'cardinality check' test point in the output
2020-03-15 18:38:26 +00:00
Daniel Shahaf
2331072c06
changelog: Update through HEAD.
2020-03-15 18:32:44 +00:00
Daniel Shahaf
9e036e0b0c
'main': Document the second meaning of the 'comment' style.
2020-03-15 18:30:53 +00:00
Daniel Shahaf
74c7ffc9b5
'main': Factor out common logic to after the case/esac.
2020-03-15 18:30:53 +00:00
Daniel Shahaf
8feb06a022
'main': Support parameter elision in command position.
2020-03-15 18:25:13 +00:00
Daniel Shahaf
fdf682a2f9
'main': Expand comment.
2020-03-15 18:14:39 +00:00
Daniel Shahaf
f564d11a41
make test: Re-enable syntax highlighting of TAP output in interactive runs
...
Fixes #692 .
2020-03-15 18:10:18 +00:00
Daniel Shahaf
8072651b6c
editorconfig += Makefile
2020-03-15 18:10:03 +00:00
Daniel Shahaf
9931990b92
tests: Fix the test for alias loops.
...
Before this commit, the command word was highlighted as "unknown-token"
not because alias loops are invalid, as a comment incorrectly claimed,
but because the command word «a» resolved to a «b» that was ineligible
for being expanded as an alias, and there was no function/builtin/etc.
called "b".
Add a function "b" to demonstrate that alias loops are valid. I've also
filed issue #695 about the overloading of "unknown-token".
2020-03-15 17:22:35 +00:00
Daniel Shahaf
525ba90932
tests: Add an XFail test for issue #694 .
2020-03-15 16:06:35 +00:00
Daniel Shahaf
9134cdf8d6
'main': Allow newlines in command position.
...
Fixes #501 .
Fixes #616 (the original form; not the form in
test-data/alias-comment1.zsh which is now considered o be #677 (see
previous commit for details)).
Fixes a latent bug in test-data/always2.zsh.
No user-visible effect, and therefore, no changelog entry.
2020-03-15 15:38:07 +00:00
Daniel Shahaf
e94dc89606
tests: Distinguish issues #616 and #677 .
...
See https://github.com/zsh-users/zsh-syntax-highlighting/issues/677#issuecomment-599225740 for details.
(In particular, there's already another test that calls itself #616.)
2020-03-15 15:35:29 +00:00
Daniel Shahaf
f996d83975
tests: Add cross-references.
2020-03-15 15:24:06 +00:00
Daniel Shahaf
54e1828d5c
'main': Clarify documentation of the :sudo_opt: and :sudo_arg: states.
2020-03-15 14:56:43 +00:00
Daniel Shahaf
c5878ae632
changelog: Update through HEAD.
2020-03-15 14:37:04 +00:00
Daniel Shahaf
498cc7641f
tests: Extend and document the after-a-parse-error aspects of the issue #651 test.
2020-03-15 14:34:25 +00:00
Daniel Shahaf
81267ca313
'main': Highlight pipes inside array assignments as errors
...
Fixes #651 .
2020-03-15 14:27:15 +00:00
Daniel Shahaf
bfd44f5c3f
noop: Add comments.
2020-03-15 14:22:05 +00:00
Daniel Shahaf
3ca93f864f
'main': Highlight literal semicolons in array assignments as errors.
...
Fixes the test added in the penultimate (grandparent) commit.
2020-03-15 14:19:38 +00:00
Daniel Shahaf
a4525a0826
'main': Add infrastructure for treating literal newlines differently to semicolons.
...
Used by the next commit.
2020-03-15 14:19:38 +00:00
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
Daniel Shahaf
37b6f5052f
test harness: Update tests/edit-failed-tests for harness output changes in commit 2b3638a211, "test harness: Tweak quiet-test output".
2020-03-15 13:33:09 +00:00
Daniel Shahaf
a3c1757e47
changelog: Update through HEAD.
2020-03-13 23:13:01 +00: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
8e3578240c
tests harness docs: Add paragraph breaks.
2020-02-28 22:36:57 +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
027f522300
test harness: Honour $expected_mismatch when there are more expected than observed highlights.
...
Required for the next commit.
2020-02-28 22:31:43 +00:00
Daniel Shahaf
932e29a0c7
Tag version 0.7.1.
2020-02-28 21:34:10 +00:00
Daniel Shahaf
ec04a20681
release.md: Update with the step that was missed in 0.7.0.
2020-02-28 21:33:51 +00:00
Daniel Shahaf
cb8d68d00a
Update changelog for the 0.7.1 release.
2020-02-28 21:32:42 +00:00
Daniel Shahaf
04dd78cb00
Update changelog for the 0.7.0 release. (Yes, this should have been committed earlier today.)
2020-02-28 21:29:59 +00:00
Daniel Shahaf
36a3c0f82c
Tag version 0.7.0.
2020-02-28 15:36:43 +00:00
Daniel Shahaf
d65f4f8a35
release.md: Add details about a step.
2020-02-28 15:36:25 +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 https://github.com/zsh-users/zsh-syntax-highlighting/commit/1a55dc8fc28cf1049ba8ff33694d3e56678cad17#commitcomment-37476021
2020-02-25 17:22:55 +00:00
Daniel Shahaf
2b3638a211
test harness: Tweak quiet-test output
...
- Print the test name and data after the plan line
- Split on the plan line rather than on comments
+ That makes tap-filter more suitable to filter TAP output generated by other
TAP producers.
+ However, the filtered output deletes the plan line and adds a blank line in
its stead. This suits our use-case of interactive test runs.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
3414c7c0d2
test harness: Include $PREBUFFER and $BUFFER in the output.
...
For human readers' benefit.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
4a043b4d15
noop: Whitespace changes only.
...
./.editorconfig is already set correctly.
2020-02-22 15:12:24 +00:00
Daniel Shahaf
dc70e89bfd
tests: Support non-arrays in typeset_p().
2020-02-22 15:12:24 +00: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
Daniel Shahaf
4e92449752
changelog: Document #670 as a known issue.
2020-01-25 21:00:40 +00:00
Daniel Shahaf
b73853dd96
changelog: Document #677 as a known issue.
2020-01-24 18:40:51 +00: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
deee22ed42
tests: Don't filter out tests that aborted.
...
Useful in piping Travis CI output through tap-filter manually.
2020-01-24 00:49:51 +00:00
Daniel Shahaf
77c6bf2019
'main': precommands: Remove argumentless options that can't be followed by a command word.
...
Suggested-by: Matthew Martin
(in https://github.com/zsh-users/zsh-syntax-highlighting/commit/e2e97dde9c92bf27d8222482a08e2b77d66ac334#r36941988 )
2020-01-24 00:37:56 +00:00
Daniel Shahaf
27e4789439
docs: Track FreeBSD port rename
...
See https://svnweb.freebsd.org/ports?revision=501751&view=revision
2020-01-23 22:09:33 +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
dfb917020c
Bump copyright years.
2020-01-16 17:19:25 +00:00
Daniel Shahaf
9ed2a46ed2
dev tools: New script to ease opening $EDITOR on failing tests.
...
Has room for improvement; for now, I use it with CTRL-W_f.
2020-01-16 17:19:25 +00:00
Daniel Shahaf
1c6a6d92b0
dev tools: Allow specifying preamble code when generating test cases.
2020-01-16 17:19:25 +00:00
Daniel Shahaf
6b0671b63e
Add .editorconfig file.
...
Vim doesn't honour the modelines by default because they're too far from
the start/end of the file [the default value of the 'modelines' (sic)
option is too small].
2020-01-16 17:19:25 +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