DEV Community

Cover image for ✨ ❮ Feature-rich Syntax Highlighting ❯
❮ ZI ❯ for Z-Shell

Posted on • Updated on

✨ ❮ Feature-rich Syntax Highlighting ❯

Logo



Fast-Syntax-Highlighting Themes (Zshell)


Recursive fast-syntax-highlighting, highlights code passed to sh -c



Installation

Post install try: fast-theme -t z-shell. To enable: fast-theme z-shell.


Manual

Clone the Repository.

git clone https://github.com/z-shell/F-Sy-H ~/path/to/fsh
Enter fullscreen mode Exit fullscreen mode

And add the following to your zshrc file.

source ~/path/to/fsh/F-Sy-H.plugin.zsh
Enter fullscreen mode Exit fullscreen mode

ZI

Add the following to your zshrc file.

zi light z-shell/F-Sy-H
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Features


Themes

Switch themes via fast-theme {theme-name}.

image1

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):

image could not be loaded

image could not be loaded


Brackets

image could not be loaded


Conditions

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

image could not be loaded


Strings

Exact highlighting that recognizes quotings.

image could not be loaded


here-strings

image could not be loaded


exec descriptor-variables

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

image could not be loaded


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

image could not be loaded


Function definitions

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

image could not be loaded


Recursive eval and $( ) highlighting

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

image could not be loaded


Chroma functions

Highlighting that is specific for a given command.

alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold" />

The chromas
that are enabled by default can be found
here.


Math-mode highlighting

image could not be loaded


Zcalc highlighting

image could not be loaded


Performance

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


asciicast

Discussion (0)