Matthew Martin
8d4c6355e6
driver: Do not pass widget arguments to _zsh_highlight
...
This avoids a bug in zsh 4.3.12 and prior which affects passing
arguments to an anonymous function.
2018-10-13 21:55:45 -05:00
Daniel Shahaf
56ba7f082d
driver: Clarify comment. No functional change.
2018-10-12 12:35:34 -05:00
Matthew Martin
2cbb3fb24e
driver: Allow for -U in autoloaded function definition
2018-10-12 12:35:34 -05:00
Matthew Martin
f265ef0b9a
driver: Use idiomatic module check
2018-10-12 12:35:34 -05:00
Daniel Shahaf
d0fb0df4ff
driver: Make the shadowing $WIDGET read only.
2018-10-12 12:35:34 -05:00
Daniel Shahaf
f665eec230
driver: Avoid a fork in the common case.
...
Found-by: Matthew Martin
2018-10-12 12:35:34 -05:00
Daniel Shahaf
b5249f17ab
driver: Rewrite without a state variable
...
Suggested-by: m0viefreak
2018-10-12 12:35:32 -05:00
Daniel Shahaf
d2594c1157
noop: Make a whitespace-only change to reduce noise in the next commit.
2018-10-12 12:31:12 -05:00
Daniel Shahaf
d4ab7e51d2
redo _zsh_highlight__function_callable_p
2018-10-12 12:31:12 -05:00
Daniel Shahaf
38477f2a3d
driver: Use a different way of checking whether add-zle-hook-widget is present.
...
Based on code by Bart Schaefer (reference within).
Tested with zsh 5.0.7-5 (debian package) and with 5b4cbcc842c6 (39158,
5.3-to-be of today).
2018-10-12 12:31:12 -05:00
Daniel Shahaf
30c6e70394
driver: Pass zle-line-finish arguments on to _zsh_highlight.
...
(Currently a noop)
2018-10-12 12:31:12 -05:00
Daniel Shahaf
74a27de70d
driver: Hook zle-line-finish.
...
Compare issue #288 .
2018-10-12 12:31:10 -05:00
Daniel Shahaf
85e62a8171
driver: Reimplement using 'add-zle-hook-widget zle-line-pre-redraw'
...
This feature will be released in zsh 5.3. Older zsh's will use the existing
codepath.
2018-10-12 12:30:23 -05:00
Daniel Shahaf
aed99f6a3e
wrappers: Reimplement using Mikachu's zle-line-pre-redraw hook (workers/36650).
2018-10-11 22:04:02 -05:00
Julien Nicoulaud
3a7ddcda0b
#535 : locally enable BARE_GLOB_QUAL option when loading highlighters
2018-09-22 22:50:46 +02:00
Adam Johnson
42d396d819
driver: Exclude yank-pop again ( #183 ).
2018-09-07 18:21:53 +00:00
Bengt Brodersen
db6cac391b
main: Add glob qualifier to work around zsh/macOS bug
...
zsh/macOS bug: http://www.zsh.org/cgi-bin/mla/redirect?WORKERNUMBER=42891
2018-06-03 08:43:02 +02:00
Matthew Martin
2c0c75a8ee
driver, main: Add -z to autoload calls
2018-03-06 11:35:40 -06:00
Matthew Martin
ff85c7e01b
driver: Do not highlight newlines or past BUFFER for zle standout
2018-02-10 13:24:49 -06:00
Matthew Martin
84f0507cf6
driver: Replace eval with ${(P)
2018-02-10 13:24:49 -06:00
Matthew Martin
b07ada1255
driver: Run under emulate -L zsh and add zsyh_user_options
2017-12-16 09:33:51 -06:00
Daniel Shahaf
e4352f98bb
driver: Revert previous commit, unbreaking the build on zsh<5.0.8.
2017-11-05 15:58:58 +00:00
Daniel Shahaf
9d9e9662cf
driver: Correctly escape assoc key pattern
2017-11-05 14:38:05 +00:00
Matthew Martin
a9ce931439
Default possibly unset variables to empty
2017-11-04 20:26:07 -05:00
Daniel Shahaf
a2a899b41b
driver: _zsh_highlight_bind_widgets: Be resilient to NO_UNSET being set in the calling scope.
...
Fixes #449 .
2017-11-02 17:07:10 +00:00
m0viefreak
3c43da5ffe
driver: Improve comment about ^r pattern match bug
...
The bug is not specific to 5.3.1.
2017-07-30 19:08:21 +02:00
m0viefreak
f2ba507bbc
driver: Adjust zsh version for probing for pattern match bug
2017-07-30 19:08:21 +02:00
jsoizo
ad522a0914
driver: Fix printing error message to file when cannot resolve highlighters directory location
...
Fixes #426 .
Review-by: Matthew Martin, me
2017-04-09 16:47:42 +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
be083d7f37
driver: Improve «unhandled ZLE widget 'foo'» error message.
...
Fixes #409 .
2017-03-05 14:38:52 +00:00
Christian Höltje
835fec7f3c
workaround for PAT_STATIC bug in zsh
...
ZSH versions less than 5.3.2 (or 5.4) have a bug that prevents
`history-incremental-pattern-search-backward` for working
correctly (the history stops searching after the first found item).
Closes #407
2017-02-09 17:58:36 -05:00
vinter
aac4a44238
driver: Fix duplicated slash in error message
...
Fixes #400 .
2016-12-16 10:20:04 +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
2dce602727
driver: Be immune to weird aliases in the calling scope.
...
Fixes #390 .
2016-11-11 08:35:19 +00:00
Daniel Shahaf
0a9b347483
driver: Warn just once when a highlighter is missing.
...
The heretofore code warned once per keypress.
2016-09-22 04:10:28 +00:00
Alyssa Ross
da60234fb2
driver: Declare global variables
...
This caused warnings with `setopt warn_create_global`.
2016-08-31 16:26:09 +00:00
Daniel Shahaf
51614ca2c9
'main': Avoid triggering a zsh bug related to hashed commands.
...
This manifested in completion of the form «./foo<TAB>» where there happened to
be a program called 'foo' in $PATH.
Fixes #354 .
Closes #355 .
2016-08-30 02:56:23 +00:00
Daniel Shahaf
11c9081967
*: error messages: Fix quoting.
2016-08-16 19:01:25 +00:00
Daniel Shahaf
c7f7d2ff16
*: Change highlighters' namespace.
...
Fixes #329 .
Merge remote-tracking branch 'danielsh/i329-v1'
* danielsh/i329-v1:
highlighters: Rename entry points.
driver: Rename highlighter entry points
2016-08-16 17:53:01 +00:00
Daniel Shahaf
a3d5dfcbda
driver: Rename highlighter entry points
...
This updates the docs and the driver, in a manner backwards compatible with
existing highlighters. (None of the highlighters are touched by this change,
yet tests continue to pass.)
Part of issue #329 .
2016-08-16 17:51:43 +00:00
Daniel Shahaf
f91a7b885e
driver: Followup to 80148f6c84
: don't squat on the highlighters' namespace.
2016-08-16 17:49:18 +00:00
Daniel Shahaf
f3242cbd6a
driver: Followup to d711563fe1
: actually make the driver reentrant.
...
Re-fixes #305 .
2016-08-16 17:22:39 +00:00
Daniel Shahaf
295d62ec88
driver: Followup to last: make the value more unique.
...
Part of issue #305 .
2016-08-12 09:43:54 +00:00
Daniel Shahaf
d711563fe1
driver: Make it reentrant.
...
This fixes an infinite recursion in zsh without zle-line-pre-redraw [≤5.2] in
the following situation:
% source zsh-syntax-highlighting.zsh
% eval "my-self-insert() { zle -M 'foobar'; ${(q)widgets[self-insert]#*:} \"\$@\" }"
% zle -N self-insert my-self-insert
% source zsh-syntax-highlighting.zsh
Fixes #305 .
2016-08-12 09:19:36 +00:00
m0viefreak
4ad311ec0a
driver: Enable highlighting during isearch under zsh≥5.3.
...
This patch causes a behaviour difference in the [i257] scenario:
- Before this change, the zle_highlight[isearch] is applied and z-sy-h's
highlighting isn't.
- With this change, both zle_highlight[isearch] and z-sy-h's
highlighting are applied, so «echo foo» renders the first word in green
underline (fg=green from ZSH_HIGHLIGHT_STYLES[builtin], underline from
zle_highlight[isearch]).
This patch causes the presuppositional FAQ entry added in
a8fe22d422
to be correct.
This is part of #261 , of which #288 was a spin-off.
[i257] https://github.com/zsh-users/zsh-syntax-highlighting/pull/257#issuecomment-168394665
2016-07-30 20:08:12 +00:00
m0viefreak
a8fe22d422
driver: Don't highlight in isearch
...
zsh version 5.2 and lower don't support ISEARCHMATCH_ACTIVE and
we are unable to re-apply zle_highlight on top. Therefore it is
impossible to see the underlined matched area.
Since that information is more important, completely disable
highlighting in isearch in that case.
To do that, we need to make sure we are actually called when
something changes in isearch.
Trumps #257 .
The FAQ entry presupposes #245 will be fixed (in time for the release) too.
2016-07-29 21:07:48 +00:00
m0viefreak
5bae621900
driver: Always bind zle-line-finish and use it instead of accept-*
...
Special handling for cursor imprint or partial path highlighting
is needed in more cases than accept-*. For example when accepting
a line from isearch, no accept-* widget is invoked.
The proper way is to use zle-line-finish.
Trumps #259 .
Fixes #284 .
2016-07-29 20:41:06 +00:00
m0viefreak
9e569bb0fe
driver: Widget binding: Support binding incomplete/nonexistent widgets
2016-07-29 20:41:06 +00:00
Daniel Shahaf
3409a2e4d2
*: s/echo/print/
...
Just in case one of the interpolated variables contains a backslash.
2016-07-21 04:01:50 +00:00