You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Daniel Shahaf 56b4433461 CI += zsh 5.8.1 2 years ago
.github/workflows CI += zsh 5.8.1 2 years ago
docs docs: Add `regexp` to the list of built-in highlighters 3 years ago
highlighters main: New test for issue #854 2 years ago
images Highlight redirections by default, and add that to the examples in README. 4 years ago
tests Merge remote-tracking branch 'origin/master' into feature/redrawhook 4 years ago
.editorconfig editorconfig: Fix Makefile settings 4 years ago
.gitattributes versionstamp: Set up '.revision-hash' file. 9 years ago
.gitignore docs: Create all.md 8 years ago
.revision-hash versionstamp: Set up '.revision-hash' file. 9 years ago
.version Post-release version number bump. 4 years ago
COPYING.md Bump copyright years. 4 years ago
HACKING.md docs,CI: Switch to Libera.Chat 3 years ago
INSTALL.md docs: Add resource link for NetBSD operating system 3 years ago
Makefile make test: Re-enable syntax highlighting of TAP output in interactive runs 4 years ago
README.md docs: Use SSL for the link to zsh's homepage. 3 years ago
changelog.md changelog: Document #712 under the last tag, 0.8.0-alpha1-pre-redrawhook. 4 years ago
release.md driver: Bump the in-development is-at-least checks so they return false on zsh 5.8.1, released yesterday. 2 years ago
zsh-syntax-highlighting.plugin.zsh driver: Stop requiring function_argzero. 8 years ago
zsh-syntax-highlighting.zsh driver: Bump the in-development is-at-least checks so they return false on zsh 5.8.1, released yesterday. 2 years ago

README.md

zsh-syntax-highlighting Build Status

Fish shell-like syntax highlighting for Zsh.

Requirements: zsh 4.3.11+.

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: Screenshot #1.1
After:  Screenshot #1.2

Before: Screenshot #2.1
After:  Screenshot #2.2

Before: Screenshot #3.1
After:  Screenshot #3.2

Before: Screenshot #4.1
After:  Screenshot #4.2

How to install

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

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 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 and #415 for details.

How are new releases announced?

There is currently no "push" announcements channel. However, the following alternatives exist:

How to tweak

Syntax highlighting is done by pluggable highlighter scripts. See the documentation on highlighters for details and configuration settings.