Go to file
Daniel Shahaf 26a82113b0 'main': Highlight 'sudo' correctly when it's not installed.
No test because _zsh_highlight_main__type() falls back to 'type -w' which runs
'rehash' implicitly, so on systems where 'sudo' is installed it's not possible
to simulate its being absent.

Test by forcing _zsh_highlight_main__type() to return 'none' when the
argument is [[ $1 == 'sudo' ]], and: (1) Run 'make test' and confirm
that all tests either pass, or fail and the first test point that fails
is one that expects "sudo" at command position to be highlighted as
'command'; (2) In an interactive zsh, 'sudo' at command position is
highlighted as an error.
2017-12-07 00:00:13 +00:00
docs 'main': Introduce style fallback for the command word. 2016-09-28 13:25:05 +00:00
highlighters 'main': Highlight 'sudo' correctly when it's not installed. 2017-12-07 00:00:13 +00:00
images README: Add a third image. 2016-10-20 01:02:27 +00:00
tests tests: Add ability to skip tests 2017-11-06 07:08:53 -06: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 CI: customize IRC notifcation message 2017-09-28 19:07:24 +02:00
.version Post-release version number bump. 2017-08-29 06:05:57 +00:00
changelog.md Tag version 0.6.0-rc1. 2017-07-31 17:31:25 +00:00
COPYING.md Bump copyright years. 2016-04-30 02:11:17 +00:00
HACKING.md dev docs: Document a useful tab completion setting. 2016-06-03 08:46:30 +00:00
INSTALL.md docs: Point to repology for finding packages. 2017-12-06 22:32:31 +00:00
Makefile #440: Identify the output. 2017-08-09 18:42:35 +00:00
README.md Typo 2017-11-29 17:53:23 +01:00
release.md release.md: Make a little more copy-pasteable. 2017-08-30 07:32:56 +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: Revert previous commit, unbreaking the build on zsh<5.0.8. 2017-11-05 15:58:58 +00:00

zsh-syntax-highlighting Build Status

Fish shell-like syntax highlighting for Zsh.

Requirements: zsh 4.3.11+.

This package provides syntax highlighing for the shell zsh. It enables highlighing 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.