Fish shell like syntax highlighting for Zsh.
Go to file
Julien Nicoulaud 2670c93e05 Make sure functions names match _zsh_highlight_*
Signed-off-by: Julien Nicoulaud <julien.nicoulaud@gmail.com>
2011-02-17 20:58:22 +01:00
contrib Make sure functions names match _zsh_highlight_* 2011-02-17 20:58:22 +01:00
tests Add a mechanism for testing the correctness of the highlighting. 2011-01-10 23:46:27 +01:00
COPYING.md Split off contributors list to a separate file 2011-02-01 21:07:00 +01:00
GREETINGS.md Add nakamuray to the list of contributors 2011-02-16 22:42:18 +01:00
README.md Split off contributors list to a separate file 2011-02-01 21:07:00 +01: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 Make sure functions names match _zsh_highlight_* 2011-02-17 20:58:22 +01:00

zsh-syntax-highlighting Project status

Fish shell like syntax highlighting for Zsh.

Requirements: zsh 4.3.9 or superior.

Try it

Here is a one-liner to try it without installing or modifying anything:

wget --no-check-certificate --output-document=/tmp/zsh-syntax-highlighting.zsh https://github.com/nicoulaj/zsh-syntax-highlighting/raw/master/zsh-syntax-highlighting.zsh && . /tmp/zsh-syntax-highlighting.zsh

Install it

In your ~/.zshrc

  • Download the script or clone this repository:

    git clone git://github.com/nicoulaj/zsh-syntax-highlighting.git
    
  • 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/plugins/
    git clone git://github.com/nicoulaj/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
    

Tweak it

Optionally, you can override the default styles used for highlighting. The styles are declared in the ZSH_HIGHLIGHT_STYLES array. You can override styles this way:

# To differentiate aliases from other command types
ZSH_HIGHLIGHT_STYLES[alias]='fg=magenta,bold'

# To have paths colored instead of underlined
ZSH_HIGHLIGHT_STYLES[path]='fg=cyan'

# To disable highlighting of globbing expressions
ZSH_HIGHLIGHT_STYLES[globbing]='none'

You can tweak the styles used to colorize matching brackets by overriding the ZSH_HIGHLIGHT_MATCHING_BRACKETS_STYLES.

ZSH_HIGHLIGHT_MATCHING_BRACKETS_STYLES=(
  'fg=blue,bold'    # Style for first level of imbrication
  'fg=green,bold'   # Style for second level of imbrication
  'fg=magenta,bold' # etc... Put as many styles as you wish, or leave
  'fg=yellow,bold'  # empty to disable brackets matching.
  'fg=cyan,bold'
)

This must be done after the script is sourced, otherwise your styles will be overwritten. The syntax for declaring styles is documented here.