/zsh-syntax-highlighting

Fish shell like syntax highlighting for Zsh.

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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.

Some examples:

Before: Screenshot #1.1
After:  Screenshot #1.2

Before: Screenshot #2.1
After:  Screenshot #2.2

Before: Screenshot #3.1
After:  Screenshot #3.2

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.

Does syntax highlighting work during incremental history search?

Yes!

If you're using history-incremental-search-backward (by default bound to Ctrl+R in zsh's emacs keymap) then it works with zsh version 5.3 and newer.

If you're using history-incremental-pattern-search-backward, then syntax highlighting works in zsh 5.3.2 and newer due to a bug in zsh.

Under zsh 5.2 and older, the zsh-default underlining of the matched portion of the buffer remains available, but zsh-syntax-highlighting's additional highlighting is unavailable. (Those versions of zsh do not provide enough information to allow computing the highlighting correctly.)

See issue #288 for details.

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.