New: You can request a feature when donating, even fancy or advanced ones get implemented this way. There are
reports about what is being done with the money received.
Fast Syntax Highlighting (F-Sy-H)
Feature rich syntax highlighting for Zsh.
Table of Contents
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 the git
command almost completely.
Screencast
Installation
Manual
Clone the Repository.
git clone https://github.com/zdharma/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/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/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/fast-syntax-highlighting
Zgen
Add the following to your .zshrc
file in the same place you're doing
your other zgen load
calls in.
zgen load zdharma/fast-syntax-highlighting
Oh-My-Zsh
Clone the Repository.
git clone https://github.com/zdharma/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.
IRC Channel
Channel #zinit@freenode
is a support place for all author's projects. Connect to:
chat.freenode.net:6697 (SSL) or chat.freenode.net:6667
and join #zinit.
Following is a quick access via Webchat