9.9 KiB
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 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/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.