* upstream/master:
'main': Enable fallback to the 'arg0' style.
'main': Set fallback style for the 'arg0' style.
dev tools: Automagically handle newlines (\n) in $BUFFER.
tests: Also test arguments to an anonymous function.
'main': Directly count spaces to skip, don't leverage proc_buf length
'main': Highlight several more special (non-alphabetic) parameters.
'main': Highlight shell's PID ($$) inside double quotes.
'main': Highlight command substitutions inside double quotes.
'main': Permit subshells to end at command position.
'main': Highlight mismatched foreach/end.
dev tools: Add a TODO to introduce code reuse.
'main': Highlight mismatched do/done.
'main': Yet another test for mismatched braces.
'main' / *_check_path: Precompute $#BUFFER and use it for speed gain
dev tools: Remove a superfluous empty line.
'main': Highlight 'always' blocks.
'main': Don't find command positions within multiline array literals.
dev tools: Stage the copyright block to make diffs smaller.
dev tools: Tolerate invalid input.
'main': Restore compatibility with zsh-4.3.14 and older (after e3182c18de8f).
dev tools: Automate a recurring step: Set year correctly for new tests.
'main': Highlight first command word in named functions defined in the sh syntax when MULTI_FUNC_DEF is set.
'main': More tests for mismstached parentheses and braces.
'main': Highlight mismatched parentheses and braces.
driver: Warn just once when a highlighter is missing.
'main': Support the IGNORE_BRACES option.
'main': Add tests for the IGNORE_BRACES option.
'main': Followup to 51614ca2c994: Run cheaper conditions first.
'brackets': Don't highlight corresponding bracket on accept-line
driver: Declare global variables
'main': Avoid triggering a zsh bug related to hashed commands.
*: error messages: Fix quoting.
highlighters: Rename entry points.
driver: Rename highlighter entry points
driver: Followup to 80148f6c840299f0980f4359ec5307ca63837dff: don't squat on the highlighters' namespace.
driver: Followup to d711563fe1bf8fa6810bc34ac92a2fd3150290ed: actually make the driver reentrant.
noop: Rewrap.
README: Add a reference to upstream's documentation.
README: Rephrase a question non-negatively^W neutrally.
noop: Add comments.
'main': The word after 'sudo' is only a non-command word if it is an option.
'main': Test for redirection earlier.
noop: Restructure code for clarity.
noop: Fix indentation.
driver: Followup to last: make the value more unique.
driver: Make it reentrant.
minor: Fix typo in development usage message.
driver: Enable highlighting during isearch under zsh≥5.3.
driver: Don't highlight in isearch
driver: Always bind zle-line-finish and use it instead of accept-*
driver: Widget binding: Support binding incomplete/nonexistent widgets
dev tools: Extend tests/generate.zsh.
dev tools: Add a script that generates a test-data file.
'main': Enable test for issue #238.
'main': Add test for issue #343, concerning the 'command' precommand.
'main': New test, related to issue #328.
*: s/echo/print/
'main': Highlight a broken symlink as a file.
tests: Add an XFail test for issue #342.
docs: Minor tweak.
docs: State highlighters' designated namespace.
docs: s/myhighlighter/acme/g
driver: Change a variable name to avoid squatting the highlighters' namespace.
tests: Add a regression test for issue #267, concerning highlighting a vi linewise region.
driver: Widget binding: Use ${(k)widgets} instead of $(zle -la)
Support linewise region.
Conflicts:
README.md
zsh-syntax-highlighting.zsh
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.
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
a8fe22d422515a46a4c2e968ff37762c577059bc 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
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.
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.
Merge remote-tracking branch 'danielshahaf/i267-linewise-region-v1'
* danielsh/i267-linewise-region-v1:
tests: Add a regression test for issue #267, concerning highlighting a vi linewise region.
Support linewise region.
Instead, use the %N prompt expando, as suggested by Bart in users/21637.
Avoid the `print -P %N` syntax to save a fork on Cygwin, at the expense
of not supporting zsh's from 2001 through c. 2004 vintages.
Fixes#338.
_zsh_highlight_add_highlight appends to region_highlight $1 $2 and the
next non-null parameter. If there is no non-null parameter, do nothing,
This is so that highlighters can add a style with fallbacks if the most
specific style is not defined. If none of the applicable styles are
defined, do the right thing and don't add an invalid entry to
region_highlight.
The pattern highlighter doesn't use this function as it'd need too large
of an API change.