Fish shell like syntax highlighting for Zsh.
Go to file
Daniel Shahaf 6fe07c0961 'make test': Fix breakage introduced by 4d3da30f8b726c6e0eeb3adda06adc9eaa329b3b:
test failure would not be reflected by the exit code of 'make'.

Setting a shell parameter in the left-hand side of a pipe is not visible to
commands after the pipe, because the left-hand side forks.  (That's true both
in 'sh' used by 'make' and in 'zsh' that runs tests/test-highlighting.zsh, at
least on my system.)  Therefore, move the colorizing hook to where it doesn't
interfere with setting the $something_failed (in tests/test-highlighting.zsh)
and $result (in Makefile) parameters.
2015-10-27 11:59:20 +02:00
highlighters redirections: Test an infix redirection. 2015-10-27 05:20:24 +00:00
images Add screenshot. 2015-10-24 10:59:20 +00:00
tests 'make test': Fix breakage introduced by 4d3da30f8b726c6e0eeb3adda06adc9eaa329b3b: 2015-10-27 11:59:20 +02:00
.gitattributes versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.gitignore .gitignore: Add .pc (quilt dir) for the benefit of downstreams 2015-10-21 02:50:37 +00:00
.revision-hash versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.version Post-release version number bump. 2015-10-20 14:35:21 +00:00
COPYING.md Bump copyright years, part 2. 2015-09-24 16:48:27 +00:00
Makefile 'make test': Fix breakage introduced by 4d3da30f8b726c6e0eeb3adda06adc9eaa329b3b: 2015-10-27 11:59:20 +02:00
README.md Add screenshot. 2015-10-24 10:59:20 +00:00
changelog.md changelog: Update through HEAD (98aee7f8b9). 2015-10-27 07:00:39 +02:00
release.md release.md: Add an IRC task. 2015-10-20 14:41:55 +00:00
zsh-syntax-highlighting.plugin.zsh Added oh-my-zsh zsh-syntax-highlighting plugin. 2011-01-06 05:47:42 +08:00
zsh-syntax-highlighting.zsh regerssion: Look for .version and .revision-hash in the correct place. 2015-10-21 06:55:00 +00:00

README.md

zsh-syntax-highlighting

Fish shell 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

Using packages

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:

      git clone git://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
    
  • 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.

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 .zshrcs.

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:

How to tweak

Syntax highlighting is done by pluggable highlighter scripts, see the highlighters directory for documentation and configuration settings.