DEV Community

Cover image for Feature-rich Syntax Highlighting For Zsh
Sall
Sall

Posted on • Updated on • Originally published at github.com

Feature-rich Syntax Highlighting For Zsh

Logo

❮ ZI ❯ Feature-rich Syntax Highlighting

For more please see:


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.

image could not be loaded

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)