Commit Graph

383 Commits

Author SHA1 Message Date
Daniel Shahaf
c808d2187a wrapping: Don't add '--' when invoking widgets.
It's the widget's caller's responsibility, not ours, to add '--' where due.  If
we do it, two instances of '--' might result.  (I haven't been able to provoke
this problem.)

If this commit causes problems, the cause would be widget-callers that don't
pass '--' although they should.
2015-10-28 08:30:05 +02:00
Daniel Shahaf
7e6d960a08 noop: Break out a helper function. 2015-10-28 08:30:05 +02:00
Daniel Shahaf
feec9f58c9 Followup to last: Fix issue number in comment. 2015-10-27 13:38:40 +02:00
Daniel Shahaf
ed6d229b1c Add XFail test for issue #208, 'precommand modifiers at non-command-word position'. 2015-10-27 12:33:11 +02:00
Daniel Shahaf
fb5ce43799 noop: Rename a local variable for clarity. 2015-10-27 11:59:25 +02:00
Daniel Shahaf
6fe07c0961 'make test': Fix breakage introduced by 4d3da30f8b726c6e0eeb3adda06adc9eaa329b3b:
test failure would not be reflected by the exit code of 'make'.

Setting a shell parameter in the left-hand side of a pipe is not visible to
commands after the pipe, because the left-hand side forks.  (That's true both
in 'sh' used by 'make' and in 'zsh' that runs tests/test-highlighting.zsh, at
least on my system.)  Therefore, move the colorizing hook to where it doesn't
interfere with setting the $something_failed (in tests/test-highlighting.zsh)
and $result (in Makefile) parameters.
2015-10-27 11:59:20 +02:00
Daniel Shahaf
4513eaea71 'make perf': New target. 2015-10-27 09:47:09 +02:00
Daniel Shahaf
9816fcf055 redirections: Test an infix redirection. 2015-10-27 05:20:24 +00:00
Daniel Shahaf
871af68082 sudo: Extend test to cover all codepaths. 2015-10-27 05:09:13 +00:00
Daniel Shahaf
7d45f3e3ec changelog: Update through HEAD (98aee7f8b9). 2015-10-27 07:00:39 +02:00
Daniel Shahaf
98aee7f8b9 Remove path_approx.
Fixes zsh-users/zsh-syntax-highlighting#187.
Adds a test for zsh-users/zsh-syntax-highlighting#204.
2015-10-27 04:29:05 +00:00
Daniel Shahaf
4d3da30f8b 'make test': Colorize output.
Color is only added when "make test"'s stdout is a tty.
2015-10-26 14:31:21 +00:00
Daniel Shahaf
557bb7e0c6 'make test': Allow specifying the zsh binary to use. 2015-10-26 14:18:54 +00:00
Daniel Shahaf
57624bb9f6 Add screenshot.
preview-smaller.png is derived from preview.png by 50% downscaling.

Prior art: 66c18e6b71
2015-10-24 10:59:20 +00:00
Daniel Shahaf
663c760cc9 minor: test harness: Convert some global failure modes to TAP "Bail out" mode. 2015-10-23 05:34:15 +00:00
Daniel Shahaf
20d106bd4d noop: Associate an XFAIL test with its issue. 2015-10-23 04:57:05 +00:00
Daniel Shahaf
d66113c1ed Add XFAIL test for issue #205, "';' highlighted as unknown-token". 2015-10-23 04:56:02 +00:00
Daniel Shahaf
728ed66ff9 Fix copyright year.
Followup to b2ac98b981.
2015-10-23 04:53:06 +00:00
Daniel Shahaf
8b8b19d91f test harness: Fix a bug with empty actual or expected results.
Fixes zsh-users/zsh-syntax-highlighting#217.
2015-10-23 04:48:16 +00:00
Daniel Shahaf
a18a7427fd README: Document 'make install'.
Fixes zsh-users/zsh-syntax-highlighting#218.
2015-10-23 04:45:18 +00:00
Daniel Shahaf
187371a459 chamgelog: Update through HEAD 2015-10-23 04:44:39 +00:00
Daniel Shahaf
c4a9fe9379 test harness: Exit 1 if a 'todo' test passed. 2015-10-23 04:30:00 +00:00
Daniel Shahaf
11c060ab76 test harness: Fix a bug whereby 'todo' state would propagate to all subsequent test points.
Update expectations on the subshell test (which triggered this bug, since it has
a passing test point following a 'todo' test point).
2015-10-23 04:26:51 +00:00
Daniel Shahaf
b2ac98b981 Fix issue #216: test failure with HOME=/nonexistent.
Make the test pass by setting explicitly the global state (existing $HOME) it
depends on.  Test another value of the global state (a non-existing $HOME).
2015-10-23 03:51:06 +00:00
Antony Lee
22c8736e2b Add XFAIL test for issue #160, "subshells highlighted incorrectly". 2015-10-23 03:31:00 +00:00
Matthew Martin
d99aa58aaa test harness: Run each test as a single subshell.
That allows tests to be completely independent of each other, so tests that
change global state — such as modify environment variables, define functions or
aliases, or hash commands — will not affect other tests, without needing an
explicit cleanup step.

This enables testing path-tilde-home with and without $HOME set, which is part
of issue #216.

While at it, convert the test harness to TAP.  This fixes issue #180 by adding
support for "not ok 42 # TODO" output.

This commit assumes that 'grep' supports POSIX-compliant -q and -v flags.

Patch-by: Matthew Martin <phy1729@gmail.com>
2015-10-23 03:31:00 +00:00
Daniel Shahaf
083c47b007 regerssion: Look for .version and .revision-hash in the correct place.
Fixes zsh-users/zsh-syntax-highlighting#215.
2015-10-21 06:55:00 +00:00
Daniel Shahaf
30f2f1f144 .gitignore: Add .pc (quilt dir) for the benefit of downstreams 2015-10-21 02:50:37 +00:00
Daniel Shahaf
8631cc1061 README.md += overview description paragraph
Based on text by Carsten Hey <carsten@debian.org>.
2015-10-20 14:56:26 +00:00
Daniel Shahaf
cae87016c6 release.md: Add an IRC task. 2015-10-20 14:41:55 +00:00
Daniel Shahaf
cac3d95269 release.md: Document tag process more clearly. 2015-10-20 14:37:14 +00:00
Daniel Shahaf
b5c30ae526 Post-release version number bump. 2015-10-20 14:35:21 +00:00
Daniel Shahaf
fee52920ae Tag version 0.3.0. 2015-10-20 14:34:59 +00:00
Daniel Shahaf
58b0047c81 changelog: Update through HEAD 2015-10-20 14:32:43 +00:00
Daniel Shahaf
a73b33fc13 release.md: Create tags the way they've always been created. 2015-10-20 14:32:43 +00:00
Daniel Shahaf
c687bddea3 Drop unnecessary shebang lines, part 2.
Follow-up to the last commit.

E: zsh-syntax-highlighting: missing-dep-for-interpreter zsh => zsh | zsh-beta (usr/share/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh)
W: zsh-syntax-highlighting: executable-not-elf-or-script usr/share/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh
2015-10-20 12:06:07 +00:00
Daniel Shahaf
c30301d474 Drop unnecessary shebang lines.
All these files should be sourced, not executed; and Debian's lintian complains:

W: zsh-syntax-highlighting: script-not-executable usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
2015-10-20 11:49:51 +00:00
Daniel Shahaf
0a7035170a versioning: Expose .revision-hash as $ZSH_HIGHLIGHT_REVISION.
Currently, this only works in installed trees and exported tarballs; the
parameter is left unset when running directly from a git worktree.
2015-10-20 03:07:04 +00:00
Daniel Shahaf
85500ec151 README.md: install with oh-my-zsh in a single command 2015-10-20 00:38:43 +00:00
Daniel Shahaf
bb9c407c95 'make install': Tweak to work with one-shell-per-logical-line 'make' implementations,
Tested with 'bmake -B'.

Found-by: Carsten Hey
2015-10-20 00:35:50 +00:00
Vítor Galvão
6f7bf8c0f4 README.md: install with oh-my-zsh in a single command 2015-10-20 01:30:52 +01:00
Matthew Martin
72b1abd17d Makefile: declare PHONY targets 2015-10-20 00:26:43 +00:00
Daniel Shahaf
3576df29aa Don't leak $REPLY into global scope.
Fixes issue #213.
2015-10-20 00:21:11 +00:00
Daniel Shahaf
bde1c83af1 'make test': Pass -f to zsh to minimize environmental variation. 2015-10-19 14:26:01 +00:00
Daniel Shahaf
4604deb652 dev: Document the release process (first draft). 2015-10-19 13:59:30 +00:00
Daniel Shahaf
f48f5400c1 Revert "Do wrap the 'yank' widget, because that works."
This reverts commit 8e7c26f489.

Currently, after a 'yank', paste highlighting (via $YANK_ACTIVE in zsh 5.1.1)
is applied but other highlighting (e.g., string highlighting when the yanked
text is «"foo» as a new word) is not.

See issue #183 for context.

Conflicts:
	zsh-syntax-highlighting.zsh
2015-10-19 13:40:51 +00:00
Daniel Shahaf
379ab0d34e 'make install': Install .version and .revision-hash. 2015-10-19 13:36:14 +00:00
Daniel Shahaf
766b350a7d Wrap yank-pop.
As explained in #143 (which was a PR for #99), 'yank-pop' only works when the
previous widget has the ZLE_YANK flag, which means wrapping the 'yank' widget
breaks the 'yank-pop' widget (makes it a no-op).  However, that is a reason
against wrapping the 'yank' widget, but not against wrapping the 'yank-pop'
widget.  Indeed, if 'yank-pop' is wrapped but 'yank' isn't, then yank-pop
functions correctly and updates highlighting properly.

To unbreak yank-pop, either 'yank' should be excluded from wrapping, or one of
the fixes mentioned on issue #183 should be applied.
2015-10-19 08:34:08 +00:00
Daniel Shahaf
fe4e893ce5 changelog: Extend 'suffix aliases' entry. 2015-10-19 08:05:58 +00:00
Daniel Shahaf
e0bb30a153 changelog: Add changelog for 0.2.1..HEAD (0.3.0-dev). 2015-10-19 08:02:27 +00:00