2011-06-13 04:57:14 +08:00
zsh-syntax-highlighting
=======================
2010-12-26 01:47:12 +08:00
2011-02-02 04:02:45 +08:00
**[Fish shell](http://www.fishshell.com) like syntax highlighting for [Zsh ](http://www.zsh.org ).**
2011-01-06 06:07:22 +08:00
2013-12-24 19:40:35 +08:00
*Requirements: zsh 4.3.17+.*
2010-12-26 01:47:12 +08:00
2015-10-20 22:56:10 +08:00
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.
2015-10-24 17:43:25 +08:00
[![Screenshot ](images/preview-smaller.png )](images/preview.png)
2010-12-30 23:35:55 +08:00
2011-06-13 04:57:14 +08:00
How to install
--------------
2010-12-26 05:10:50 +08:00
2011-12-04 02:36:21 +08:00
### Using packages
2014-01-09 09:21:35 +08:00
* Arch Linux: [community/zsh-syntax-highlighting ](https://www.archlinux.org/packages/zsh-syntax-highlighting ) / [AUR/zsh-syntax-highlighting-git ](https://aur.archlinux.org/packages/zsh-syntax-highlighting-git )
2011-12-04 02:36:21 +08:00
* Gentoo: [mv overlay ](http://gpo.zugaina.org/app-shells/zsh-syntax-highlighting )
2015-09-06 03:21:52 +08:00
* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting ](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/zsh-syntax-highlighting.rb )
2011-12-04 02:36:21 +08:00
2011-01-02 00:34:35 +08:00
### In your ~/.zshrc
2010-12-26 05:10:50 +08:00
2015-09-01 01:26:57 +08:00
* Clone this repository:
2010-12-26 05:10:50 +08:00
2011-07-21 18:45:21 +08:00
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
2010-12-26 05:10:50 +08:00
2015-09-01 01:26:57 +08:00
(or [download a snapshot ](https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.tar.gz ))
2011-01-06 06:11:24 +08:00
* Source the script **at the end** of `~/.zshrc` :
2010-12-26 01:47:12 +08:00
2011-06-13 04:57:14 +08:00
source /path/to/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
2010-12-30 23:35:55 +08:00
2011-01-02 00:34:35 +08:00
* Source `~/.zshrc` to take changes into account:
2010-12-30 23:35:55 +08:00
2011-06-13 04:57:14 +08:00
source ~/.zshrc
2010-12-30 23:35:55 +08:00
2011-01-02 00:34:35 +08:00
### With oh-my-zsh
2010-12-30 23:35:55 +08:00
2011-01-02 00:34:35 +08:00
* Download the script or clone this repository in [oh-my-zsh ](http://github.com/robbyrussell/oh-my-zsh ) plugins directory:
2015-10-20 06:10:24 +08:00
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
2011-01-02 00:34:35 +08:00
2015-10-18 20:46:20 +08:00
* Activate the plugin in `~/.zshrc` :
2011-01-02 00:34:35 +08:00
2011-06-13 04:57:14 +08:00
plugins=( [plugins...] zsh-syntax-highlighting)
2011-01-02 00:34:35 +08:00
* Source `~/.zshrc` to take changes into account:
2013-02-27 09:59:53 +08:00
2011-06-13 04:57:14 +08:00
source ~/.zshrc
2011-01-02 00:34:35 +08:00
2015-10-18 20:46:20 +08:00
Note that `zsh-syntax-highlighting` must be the last plugin sourced,
so make it the last element of the `$plugins` array.
2011-01-06 06:07:22 +08:00
2015-10-23 12:45:18 +08:00
### System-wide installation
Either of the above methods is suitable for a single-user installation, which requires
no special privileges. If, however, you desire to install zsh-syntax-highlighting
system-wide, you may do so by running `make install` and directing your users to
add `source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh`
in their `.zshrc` s.
2015-01-26 17:08:31 +08:00
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
2015-09-25 02:45:35 +08:00
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.
2015-01-26 17:08:31 +08:00
2015-09-25 06:58:22 +08:00
### 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/
2011-06-13 04:57:14 +08:00
How to tweak
------------
2011-01-06 06:07:22 +08:00
2013-02-27 09:59:53 +08:00
Syntax highlighting is done by pluggable highlighter scripts, see the [highlighters directory ](highlighters )
2011-06-13 04:57:14 +08:00
for documentation and configuration settings.