fast-syntax-highlighting
fast-syntax-highlighting copied to clipboard
Feature-rich syntax highlighting for ZSH
Fast Syntax Highlighting (F-Sy-H) 
Feature rich syntax highlighting for Zsh.

Table of Contents
- News
- Installation
- Features
- Performance
Other Contents
News
- 15-06-2019
- A new architecture for defining the highlighting for specific commands: it now uses abstract definitions
instead of top-down, regular code. The first effect is the highlighting for the
git
command it is now maximally faithful, it follows thegit
command almost completely. Screencast
- A new architecture for defining the highlighting for specific commands: it now uses abstract definitions
instead of top-down, regular code. The first effect is the highlighting for the
Installation
Manual
Clone the Repository.
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting ~/path/to/fsh
And add the following to your zshrc
file.
source ~/path/to/fsh/fast-syntax-highlighting.plugin.zsh
Zinit
Add the following to your zshrc
file.
zinit light zdharma-continuum/fast-syntax-highlighting
Here's an example of how to load the plugin together with a few other popular ones with the use of Turbo, i.e.: speeding up the Zsh startup by loading the plugin right after the first prompt, in background:
zinit wait lucid for \
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
zdharma-continuum/fast-syntax-highlighting \
blockf \
zsh-users/zsh-completions \
atload"!_zsh_autosuggest_start" \
zsh-users/zsh-autosuggestions
Antigen
Add the following to your zshrc
file.
antigen bundle zdharma-continuum/fast-syntax-highlighting
Fig
Fig adds apps, shortcuts, and autocomplete to your existing terminal.
Install fast-syntax-highlighting
in just one click.
Zgen
Add the following to your .zshrc
file in the same place you're doing your other zgen load
calls in.
zgen load zdharma-continuum/fast-syntax-highlighting
Oh-My-Zsh
Clone the Repository.
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
And add fast-syntax-highlighting
to your plugin list.
Features
Themes
Switch themes via fast-theme {theme-name}
.

Run fast-theme -t {theme-name}
option to obtain the snippet above.
Run fast-theme -l
to list available themes.
Variables
Comparing to the project zsh-users/zsh-syntax-highlighting
(the upper line):


Brackets

Conditions
Comparing to the project zsh-users/zsh-syntax-highlighting
(the upper line):

Strings
Exact highlighting that recognizes quotings.

here-strings

exec
descriptor-variables
Comparing to the project zsh-users/zsh-syntax-highlighting
(the upper line):

for-loops and alternate syntax (brace {
/}
blocks)

Function definitions
Comparing to the project zsh-users/zsh-syntax-highlighting
(the upper 2 lines):

Recursive eval
and $( )
highlighting
Comparing to the project zsh-users/zsh-syntax-highlighting
(the upper line):

Chroma functions
Highlighting that is specific for a given command.

The chromas that are enabled by default can be found here.
Math-mode highlighting

Zcalc highlighting

Performance
Performance differences can be observed in this Asciinema recording, where a 10 kB
function is being edited.