Fish shell like syntax highlighting for Zsh.
Go to file
Daniel Shahaf e5acdf0ba5 'main': Simplify alias handling.
$last_alias isn't needed; there's no reason to treat loops of length 2
(alias a=b b=a) differently to loops of length 1 (alias a=a), length 3
(alias a=b b=c c=a), or length N.

The «(( $+seen_alias[$arg] ))» check is redundant as of the last commit:
the enclosing condition ensures that $res is "alias", which implies that
«(( $+seen_alias[$arg] ))» is false.
2019-12-27 09:24:01 +00:00
docs main: Drop X_ from X_ZSH_HIGHLIGHT_DIRS_BLACKLIST 2019-07-24 07:27:54 -05:00
highlighters 'main': Simplify alias handling. 2019-12-27 09:24:01 +00:00
images README: Add a third image. 2016-10-20 01:02:27 +00:00
tests docs: Enable Syntax Highlighting for Code Snippits 2019-01-13 16:12:41 +08:00
.gitattributes versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.gitignore docs: Create all.md 2015-11-24 00:22:26 -06:00
.revision-hash versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.travis.yml tests: use zshusers/zsh image with tags (see zsh-users/zsh-docker#16) 2019-05-25 13:59:59 +02:00
.version Post-release version number bump. 2017-08-29 06:05:57 +00:00
changelog.md docs: Enable Syntax Highlighting for Code Snippits 2019-01-13 16:12:41 +08:00
COPYING.md 'main': Add a regression test for issue #474. 2018-01-01 05:05:10 +00:00
HACKING.md docs: Enable Syntax Highlighting for Code Snippits 2019-01-13 16:12:41 +08:00
INSTALL.md docs: Fix void-linux link 2019-01-31 18:27:34 -06:00
Makefile #440: Identify the output. 2017-08-09 18:42:35 +00:00
README.md docs: fix typos 2018-05-26 09:39:25 -04:00
release.md release.md: Document that release tags should be signed. 2019-08-01 15:02:07 +00:00
zsh-syntax-highlighting.plugin.zsh driver: Stop requiring function_argzero. 2016-06-10 15:18:46 +00:00
zsh-syntax-highlighting.zsh driver: adjust region end for vi command mode 2019-10-17 21:18:56 +00:00

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

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.zsh wraps ZLE widgets. It must be sourced after all
custom widgets have been created (i.e., after all zle -N calls and after
running compinit). Widgets created later will work, but will not update the
syntax highlighting.

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.