zsh-syntax-highlighting/README.md
m0viefreak 56b81a9b66 'driver': Don't highlight in isearch
zsh version 5.2 and lower don't support ISEARCHMATCH_ACTIE 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.
2016-06-20 20:40:51 +02:00

1.9 KiB

zsh-syntax-highlighting

Fish shell-like like syntax highlighting for Zsh.

Requirements: zsh 4.3.17+.

This package provides syntax highlighing for the shell zsh. It enables highlighing of commands whilst they are typed at a zsh prompt into an interactive terminal. This helps in reviewing commands before running them, particularly in catching syntax errors.

Screenshot

How to install

See INSTALL.md.

FAQ

Why must zsh-syntax-highlighting.zsh be sourced at the end of the .zshrc file?

zsh-syntax-highlighting.zsh wraps ZLE widgets. It must be sourced after all custom widgets have been created (i.e., after all zle -N calls and after running compinit). Widgets created later will work, but will not update the syntax highlighting.

Why does syntax highlighting not work while searching history?

In zsh versions before 5.3 is not possible for zsh-syntax-highlighting.zsh to know if an incremental search is currently active and that matched parts of the buffer should be underlined (or otherwise highlighted). Therefore, it is not possible for zsh-syntax-highlighting.zsh to apply syntax highlighting and to underline the matched part of the search. While searching the history, the latter is more important, so syntax highlighting is disabled in this case.

How are new releases announced?

There is currently no "push" announcements channel. However, the following alternatives exist:

How to tweak

Syntax highlighting is done by pluggable highlighter scripts. See the documentation on highlighters for details and configuration settings.