766b350a7d
As explained in #143 (which was a PR for #99), 'yank-pop' only works when the previous widget has the ZLE_YANK flag, which means wrapping the 'yank' widget breaks the 'yank-pop' widget (makes it a no-op). However, that is a reason against wrapping the 'yank' widget, but not against wrapping the 'yank-pop' widget. Indeed, if 'yank-pop' is wrapped but 'yank' isn't, then yank-pop functions correctly and updates highlighting properly. To unbreak yank-pop, either 'yank' should be excluded from wrapping, or one of the fixes mentioned on issue #183 should be applied. |
||
---|---|---|
highlighters | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.revision-hash | ||
.version | ||
changelog.md | ||
COPYING.md | ||
Makefile | ||
README.md | ||
zsh-syntax-highlighting.plugin.zsh | ||
zsh-syntax-highlighting.zsh |
zsh-syntax-highlighting
Fish shell like syntax highlighting for Zsh.
Requirements: zsh 4.3.17+.
How to install
Using packages
- Arch Linux: community/zsh-syntax-highlighting / AUR/zsh-syntax-highlighting-git
- Gentoo: mv overlay
- Mac OS X / Homebrew: brew install zsh-syntax-highlighting
In your ~/.zshrc
-
Clone this repository:
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
(or download a snapshot)
-
Source the script at the end of
~/.zshrc
:source /path/to/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
-
Source
~/.zshrc
to take changes into account:source ~/.zshrc
With oh-my-zsh
-
Download the script or clone this repository in oh-my-zsh plugins directory:
cd ~/.oh-my-zsh/custom/plugins git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
-
Activate the plugin in
~/.zshrc
:plugins=( [plugins...] zsh-syntax-highlighting)
-
Source
~/.zshrc
to take changes into account:source ~/.zshrc
Note that zsh-syntax-highlighting
must be the last plugin sourced,
so make it the last element of the $plugins
array.
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 highlighters directory for documentation and configuration settings.