Go to file
Daniel Shahaf a0b5bc6c71 Fix bug in previous commit (d330b49b33)
'local' is a reserved word in zsh 5.1 but not in earlier versions [1].
Therefore, under zsh older than 5.1, quoting is required.

This manifested as random «builtin=''» in emitted to the terminal, and
commands (such as 'echo') highlighted as errors (in red).

[1] https://github.com/zsh-users/zsh/blob/master/README#L46
    (the section "Incompatibilites between 5.0.8 and 5.1")
2015-09-07 01:26:11 +00:00
highlighters Fix bug in previous commit (d330b49b33) 2015-09-07 01:26:11 +00:00
tests tests: exit non-zero upon failure 2015-09-05 09:27:51 +00:00
.gitignore Ignore zwc files 2011-09-06 19:15:09 +02:00
COPYING.md Split off contributors list to a separate file 2011-02-01 21:07:00 +01:00
README.md docs: Document homebrew package name. 2015-09-05 19:21:52 +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 Preserve $? of wrapped widgets. 2015-09-05 21:44:11 +00:00

zsh-syntax-highlighting

Fish shell like syntax highlighting for Zsh.

Requirements: zsh 4.3.17+.

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:

      cd ~/.oh-my-zsh/custom/plugins
      git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
    
  • Activate the plugin in ~/.zshrc (in last position):

      plugins=( [plugins...] zsh-syntax-highlighting)
    
  • Source ~/.zshrc to take changes into account:

      source ~/.zshrc
    

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

How to tweak

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