Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zdharma-continuum/fast-syntax-highlighting

Feature-rich syntax highlighting for ZSH
https://github.com/zdharma-continuum/fast-syntax-highlighting

syntax-highlighting zinit zsh

Last synced: 24 days ago
JSON representation

Feature-rich syntax highlighting for ZSH

Awesome Lists containing this project

README

        

# Fast Syntax Highlighting (F-Sy-H) [![Gitter][gitter-image]][gitter-link]

Feature rich syntax highlighting for Zsh.


image could not be loaded

### Table of Contents

- [News](#news)
- [Installation](#installation)
- [Features](#features)
- [Performance](#performance)

### Other Contents

- [License](https://github.com/zdharma-continuum/fast-syntax-highlighting/blob/master/LICENSE)
- [Changelog](https://github.com/zdharma-continuum/fast-syntax-highlighting/blob/master/CHANGELOG.md)
- [Theme Guide](https://github.com/zdharma-continuum/fast-syntax-highlighting/blob/master/THEME_GUIDE.md)
- [Chroma Guide](https://github.com/zdharma-continuum/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/zdharma-continuum/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 zdharma-continuum/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://zdharma-continuum.org/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" \
zdharma-continuum/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 zdharma-continuum/fast-syntax-highlighting
```

### Fig

[Fig](https://fig.io) adds apps, shortcuts, and autocomplete to your existing terminal.

Install `fast-syntax-highlighting` in just one click.

### Zgen

Add the following to your `.zshrc` file in the same place you're doing your other `zgen load` calls in.

```zsh
zgen load zdharma-continuum/fast-syntax-highlighting
```

### Oh-My-Zsh

Clone the Repository.

```zsh
git clone https://github.com/zdharma-continuum/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/zdharma-continuum/fast-syntax-highlighting/tree/master/%E2%86%92chroma) that are
enabled by default can be found
[here](https://github.com/zdharma-continuum/fast-syntax-highlighting/blob/master/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

[gitter-image]: https://badges.gitter.im/zdharma-continuum/community.svg
[gitter-link]: https://gitter.im/zdharma-continuum/community