Fish style syntax highlighting for Zsh.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 687 commits behind zsh-users:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
highlighters
tests
COPYING.md
GREETINGS.md
README.md
zsh-syntax-highlighting.plugin.zsh
zsh-syntax-highlighting.zsh

README.md

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.