Just because a widget starts with _ does not mean it should be skipped when rebinding. The only reason widgets need to be skipped is when their function name start with _zsh_highlight_widget*, which is checked later. Example: _expand_alias (^Xa) needs to be wrapped. The exclusion of _* was introduced in 186d80054a40262b9db967aeaf483a28027de19f to fix #65, but it is not needed. The relevant exclusion of _zsh_highlight_widget* is already enough due to the case statement.
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.
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.
How are new releases announced?
There is currently no "push" announcements channel. However, the following alternatives exist:
- GitHub's RSS feed of releases: https://github.com/zsh-users/zsh-syntax-highlighting/releases.atom
- An anitya entry: https://release-monitoring.org/project/7552/
How to tweak
Syntax highlighting is done by pluggable highlighter scripts. See the documentation on highlighters for details and configuration settings.