# fast-syntax-highlighting **Repository Path**: zdharma/fast-syntax-highlighting ## Basic Information - **Project Name**: fast-syntax-highlighting - **Description**: Feature-rich Syntax Highlighting for Zsh. - **Primary Language**: Shell - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: https://z.digitalclouds.dev/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-05 - **Last Updated**: 2022-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: syntax-highlighting, Zsh, zsh-plugin, syntax-themes, fast-syntax-highlighting ## README

(F-Sy-H)

Feature rich syntax highlighting for Zsh.

image could not be loaded [![Zunit CI](https://github.com/z-shell/fast-syntax-highlighting/actions/workflows/zunit.yml/badge.svg)](https://github.com/z-shell/fast-syntax-highlighting/actions/workflows/zunit.yml)
---
Table of Contents - [Related](#related) - [News](#news) - [Installation](#installation) - [Manual](#manual) - [Zinit](#zinit) - [Antigen](#antigen) - [Zgen](#zgen) - [Oh-My-Zsh](#oh-my-zsh) - [Features](#features) - [Themes](#themes) - [Variables](#variables) - [Brackets](#brackets) - [Conditions](#conditions) - [Strings](#strings) - [here-strings](#here-strings) - [`exec` descriptor-variables](#exec-descriptor-variables) - [for-loops and alternate syntax (brace `{`/`}` blocks)](#for-loops-and-alternate-syntax-brace--blocks) - [Function definitions](#function-definitions) - [Recursive `eval` and `$( )` highlighting](#recursive-eval-and---highlighting) - [Chroma functions](#chroma-functions) - [Math-mode highlighting](#math-mode-highlighting) - [Zcalc highlighting](#zcalc-highlighting) - [Performance](#performance)
# Related - [License](https://github.com/z-shell/fast-syntax-highlighting/blob/master/LICENSE) - [Changelog](https://github.com/z-shell/fast-syntax-highlighting/blob/master/CHANGELOG.md) - [Theme Guide](https://github.com/z-shell/fast-syntax-highlighting/blob/master/THEME_GUIDE.md) - [Chroma Guide](https://github.com/z-shell/fast-syntax-highlighting/blob/master/CHROMA_GUIDE.adoc) # 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 the `git` command almost completely. [Screencast](https://asciinema.org/a/253411) # Installation ### Manual Clone the Repository. ```zsh git clone https://github.com/z-shell/fast-syntax-highlighting ~/path/to/fsh ``` And add the following to your `zshrc` file. ```zsh source ~/path/to/fsh/fast-syntax-highlighting.plugin.zsh ``` ### Zinit Add the following to your `zshrc` file. ```zsh zinit light z-shell/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](https://z-shell.github.io/zinit/wiki/INTRODUCTION/#turbo_mode_zsh_62_53), i.e.: speeding up the Zsh startup by loading the plugin right after the first prompt, in background: ```zsh zinit wait lucid for \ atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \ z-shell/fast-syntax-highlighting \ blockf \ zsh-users/zsh-completions \ atload"!_zsh_autosuggest_start" \ zsh-users/zsh-autosuggestions ``` ### Antigen Add the following to your `zshrc` file. ```zsh antigen bundle z-shell/fast-syntax-highlighting ``` ### Zgen Add the following to your `.zshrc` file in the same place you're doing your other `zgen load` calls in. ```zsh zgen load z-shell/fast-syntax-highlighting ``` ### Oh-My-Zsh Clone the Repository. ```zsh git clone https://github.com/z-shell/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}`.
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 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](https://github.com/z-shell/fast-syntax-highlighting/tree/main/chroma) that are enabled by default can be found [here](https://github.com/z-shell/fast-syntax-highlighting/blob/main/fast-highlight#L166). ### 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