/F-Sy-H

🧙‍♂️ Feature-rich Syntax Highlighting for Zsh

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Logo ❮ Zi ❯ - F-Sy-H

Feature-rich Syntax Highlighting for Zsh

《❔ Ask a Question 》 《💡 Search Wiki 》 《💜 Join 》 《🌐 Localize 》

✅ ZUnit ✅ Zsh Parse ⭕ Trunk VIM Visual Studio Code



Related


Installation


Manual

Clone the Repository.

git clone https://github.com/z-shell/F-Sy-H ~/path/to/f-sy-h

And add the following to your `zshrc` file.

source ~/path/to/f-sy-h/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

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
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 quotes.

image could not be loaded

here-strings

image could not be loaded

exec descriptor-variables

Comparing to the project 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


Credits

Trunk Crowdin | Agile localization for tech companie DigitalOcean Referral Badge Cloudflare