F-Sy-H
F-Sy-H copied to clipboard
⚙️ Feature-rich Syntax Highlighting for Zsh
Feature-rich Syntax Highlighting for Zsh
《❔》Ask a Question 《💡》Search Wiki 《💜》Join 《🌐》Localize
Related
- License
- Changelog
- Theme Guide
- Chroma Guide
Installation
Manual
Clone the Repository.
git clone https://github.com/z-shell/F-Sy-H ~/path/to/fsh
And add the following to your `zshrc` file.
source ~/path/to/fsh/F-Sy-H.plugin.zsh
ZI
Add the following to your `zshrc` file.
zi light z-shell/F-Sy-H
Here's an example of how to load the plugin together with a few other popular ones with the use of turbo mode
i.e.: speeding up the Zsh startup by loading the plugin right after the first prompt, in background:
zi wait lucid for \
atinit"ZI[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
z-shell/F-Sy-H \
blockf \
zsh-users/zsh-completions \
atload"!_zsh_autosuggest_start" \
zsh-users/zsh-autosuggestions
Zinit
Add the following to your `zshrc` file.
zinit light z-shell/F-Sy-H
Antigen
Add the following to your `zshrc` file.
antigen bundle z-shell/F-Sy-H --branch=main
Zgen
Add the following to your .zshrc
file in the same place you're doing your other zgen load
calls in.
zgen load z-shell/F-Sy-H . main
Oh-My-Zsh
Clone the Repository.
git clone https://github.com/z-shell/F-Sy-H.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/F-Sy-H
And add F-Sy-H
to your plugin list.
Features
Themes
Switch themes via fast-theme {theme-name}
.
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/theme.png)
Run fast-theme -t {theme-name}
option to obtain the snippet above.
Run fast-theme -l
to list available themes.
Variables
Compared to the project zsh-users/zsh-syntax-highlighting
(the
upper line):
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/parameter.png)
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/in_string.png)
Brackets
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/brackets.gif)
Conditions
Comparing to the project zsh-users/zsh-syntax-highlighting
(the
upper line):
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/cplx_cond.png)
Strings
Exact highlighting that recognizes quotes.
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/ideal-string.png)
here-strings
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/herestring.png)
exec
descriptor-variables
Comparing to the project upper line):
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/execfd_cmp.png)
for-loops and alternate syntax (brace {`/`}
blocks)
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/for-loop-cmp.png)
Function definitions
Comparing to the project zsh-users/zsh-syntax-highlighting
(the
upper 2 lines):
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/function.png)
Recursive eval
and $( )
highlighting
Comparing to the project zsh-users/zsh-syntax-highlighting
(the
upper line):
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/eval_cmp.png)
Chroma functions
Highlighting that is specific for a given command.
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/git_chroma.png)
The chromas that are enabled by default can be found here.
Math-mode highlighting
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/math.gif)
Zcalc highlighting
![image could not be loaded](https://raw.githubusercontent.com/z-shell/F-Sy-H/main/docs/images/zcalc.png)
Performance
Performance differences can be observed in this Asciinema recording,where a `10 kB` function is being edited.
Credits