Last Updated: May 15, 2019
·
20.6K
· robb

Syntax highlighting for zsh

Nobody in their right mind would code without syntax highlighting, so why have it any different in your shell?

This handy zsh plugin gives you the syntax highlighting fish users have come to love.

Snazzy shell
This is what my terminal looks like with snazzy syntax highlighting

Here is how to use it:

First, clone it where you store your dotfiles. I track my dotfiles using git so I created a submodule for the zsh-syntax-highlighting repository on github.

Next, source the plugin, I do it like so:

source ~/.dotfiles/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh

Optionally. color the highlighting to your liking, I chose these options:

# Enable highlighters
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)

# Override highlighter colors
ZSH_HIGHLIGHT_STYLES[default]=none
ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=009
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=009,standout
ZSH_HIGHLIGHT_STYLES[alias]=fg=white,bold
ZSH_HIGHLIGHT_STYLES[builtin]=fg=white,bold
ZSH_HIGHLIGHT_STYLES[function]=fg=white,bold
ZSH_HIGHLIGHT_STYLES[command]=fg=white,bold
ZSH_HIGHLIGHT_STYLES[precommand]=fg=white,underline
ZSH_HIGHLIGHT_STYLES[commandseparator]=none
ZSH_HIGHLIGHT_STYLES[hashed-command]=fg=009
ZSH_HIGHLIGHT_STYLES[path]=fg=214,underline
ZSH_HIGHLIGHT_STYLES[globbing]=fg=063
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=white,underline
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=none
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=063
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=063
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=009
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=009
ZSH_HIGHLIGHT_STYLES[assign]=none

If you're interested in more of my prompt, you can check it out on GitHub together with the rest of my dotfiles.

3 Responses
Add your response

Nice one. Thank you!

over 1 year ago ·

Thanks, looks awesome!!!

over 1 year ago ·

I also recommend using antigen.

over 1 year ago ·