https://github.com/zsh-users/zsh-syntax-highlighting
Fish shell like syntax highlighting for Zsh.
https://github.com/zsh-users/zsh-syntax-highlighting
screenshot shell syntax-highlighting zsh zsh-syntax-highlighting
Last synced: 6 days ago
JSON representation
Fish shell like syntax highlighting for Zsh.
- Host: GitHub
- URL: https://github.com/zsh-users/zsh-syntax-highlighting
- Owner: zsh-users
- License: bsd-3-clause
- Created: 2010-12-25T17:28:55.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-11-21T15:11:08.000Z (5 months ago)
- Last Synced: 2025-04-01T07:33:46.237Z (13 days ago)
- Topics: screenshot, shell, syntax-highlighting, zsh, zsh-syntax-highlighting
- Language: Shell
- Homepage: github.com/zsh-users/zsh-syntax-highlighting
- Size: 1.49 MB
- Stars: 20,913
- Watchers: 136
- Forks: 1,338
- Open Issues: 195
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: COPYING.md
Awesome Lists containing this project
- orm-awesome - zsh-syntax-highlighting
- awesome - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
- awesome-resources - **zsh-syntax-highlighting**
- toolbox - zsh-syntax-highlighting - Syntax highlighting in the shell. I like that it shows the command in red when it does not exist. (Terminal)
- terminals-are-sexy - zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shells / ZSH)
- awesome-starred-test - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
- awesome-starts - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (shell)
- awesome-github-star - zsh-syntax-highlighting - users | 17771 | (Shell)
- fucking-terminals-are-sexy - zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shells / ZSH)
- awesome-web-dev - zsh-syntax-highlighting
- StarryDivineSky - zsh-users/zsh-syntax-highlighting
- jimsghstars - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
- awesome-rainmana - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
- my-awesome - zsh-users/zsh-syntax-highlighting - highlighting,zsh,zsh-syntax-highlighting pushed_at:2024-11 star:20.9k fork:1.3k Fish shell like syntax highlighting for Zsh. (Shell)
- awesome - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
- awesome - zsh-users/zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh. (Shell)
README
zsh-syntax-highlighting [![Build Status][build-status-image]][build-status]
=======================**[Fish shell][fish]-like syntax highlighting for [Zsh][zsh].**
*Requirements: zsh 4.3.11+.*
[fish]: https://fishshell.com/
[zsh]: https://www.zsh.org/This package provides syntax highlighting for the shell zsh. It enables
highlighting of commands whilst they are typed at a zsh prompt into an
interactive terminal. This helps in reviewing commands before running
them, particularly in catching syntax errors.Some examples:
Before: [](images/before1.png)
After: [](images/after1.png)Before: [](images/before2.png)
After: [](images/after2.png)Before: [](images/before3.png)
After: [](images/after3.png)Before: [](images/before4-smaller.png)
After: [](images/after4-smaller.png)How to install
--------------See [INSTALL.md](INSTALL.md).
FAQ
---### Why must `zsh-syntax-highlighting.zsh` be sourced at the end of the `.zshrc` file?
zsh-syntax-highlighting works by hooking into the Zsh Line Editor (ZLE) and
computing syntax highlighting for the command-line buffer as it stands at the
time z-sy-h's hook is invoked.In zsh 5.2 and older,
`zsh-syntax-highlighting.zsh` hooks into ZLE by wrapping ZLE widgets. It must
be sourced after all custom widgets have been created (i.e., after all `zle -N`
calls and after running `compinit`) in order to be able to wrap all of them.
Widgets created after z-sy-h is sourced will work, but will not update the
syntax highlighting.In zsh newer than 5.8 (not including 5.8 itself),
zsh-syntax-highlighting uses the `add-zle-hook-widget` facility to install
a `zle-line-pre-redraw` hook. Hooks are run in order of registration,
therefore, z-sy-h must be sourced (and register its hook) after anything else
that adds hooks that modify the command-line buffer.### Does syntax highlighting work during incremental history search?
Highlighting the command line during an incremental history search (by default bound to
to Ctrl+R in zsh's emacs keymap) requires zsh 5.4 or newer.Under zsh versions older than 5.4, the zsh-default [underlining][zshzle-Character-Highlighting]
of the matched portion of the buffer remains available, but zsh-syntax-highlighting's
additional highlighting is unavailable. (Those versions of zsh do not provide
enough information to allow computing the highlighting correctly.)See issues [#288][i288] and [#415][i415] for details.
[zshzle-Character-Highlighting]: https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting
[i288]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/288
[i415]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/415### How are new releases announced?
There is currently no "push" announcements channel. However, the following
alternatives exist:- GitHub's RSS feed of releases: https://github.com/zsh-users/zsh-syntax-highlighting/releases.atom
- An anitya entry: https://release-monitoring.org/project/7552/How to tweak
------------Syntax highlighting is done by pluggable highlighter scripts. See the
[documentation on highlighters](docs/highlighters.md) for details and
configuration settings.[build-status]: https://github.com/zsh-users/zsh-syntax-highlighting/actions
[build-status-image]: https://github.com/zsh-users/zsh-syntax-highlighting/workflows/Tests/badge.svg