Fish shell like syntax highlighting for Zsh.
Go to file
Daniel Shahaf c015339202 tests: Provide an independent, auto-cleaned working directory to each test.
Fixes zsh-users/zsh-syntax-highlighting#182.
Prerequisite for testing issue #228.

* tests/test-highlighting.zsh
  (run_test): Move functionality to run_test_internal; make run_test be a wrapper
    that handles creating and cleaning up the tempdir.

* tests/README.md: Document the new feature.

* "highlighters/main/test-data/path-space- .zsh"
* highlighters/main/test-data/path-tilde-named.zsh
* highlighters/main/test-data/path.zsh
    Change test data to not depend on being run from the source directory.
2015-11-16 22:54:52 +00:00
highlighters tests: Provide an independent, auto-cleaned working directory to each test. 2015-11-16 22:54:52 +00:00
images Add screenshot. 2015-10-24 10:59:20 +00:00
tests tests: Provide an independent, auto-cleaned working directory to each test. 2015-11-16 22:54:52 +00:00
.gitattributes versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.gitignore .gitignore: Add .pc (quilt dir) for the benefit of downstreams 2015-10-21 02:50:37 +00:00
.revision-hash versionstamp: Set up '.revision-hash' file. 2015-10-19 07:21:20 +00:00
.version Post-release version number bump. 2015-10-20 14:35:21 +00:00
changelog.md changelog: Update through HEAD (c0dafd1d85). 2015-10-30 19:07:30 +00:00
COPYING.md Bump copyright years, part 2. 2015-09-24 16:48:27 +00:00
Makefile 'make install': Allow setting $(SHARE_DIR). 2015-11-16 19:14:19 +00:00
README.md Add screenshot. 2015-10-24 10:59:20 +00:00
release.md release.md: Add an IRC task. 2015-10-20 14:41:55 +00:00
zsh-syntax-highlighting.plugin.zsh Added oh-my-zsh zsh-syntax-highlighting plugin. 2011-01-06 05:47:42 +08:00
zsh-syntax-highlighting.zsh wrapping: Don't add '--' when invoking widgets. 2015-10-28 08:30:05 +02:00

zsh-syntax-highlighting

Fish shell like syntax highlighting for Zsh.

Requirements: zsh 4.3.17+.

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.

Screenshot

How to install

Using packages

In your ~/.zshrc

  • Clone this repository:

      git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
    

    (or download a snapshot)

  • Source the script at the end of ~/.zshrc:

      source /path/to/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    
  • Source ~/.zshrc to take changes into account:

      source ~/.zshrc
    

With oh-my-zsh

  • Download the script or clone this repository in oh-my-zsh plugins directory:

      git clone git://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
    
  • Activate the plugin in ~/.zshrc:

      plugins=( [plugins...] zsh-syntax-highlighting)
    
  • Source ~/.zshrc to take changes into account:

      source ~/.zshrc
    

Note that zsh-syntax-highlighting must be the last plugin sourced,
so make it the last element of the $plugins array.

System-wide installation

Either of the above methods is suitable for a single-user installation, which requires
no special privileges. If, however, you desire to install zsh-syntax-highlighting
system-wide, you may do so by running make install and directing your users to
add source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
in their .zshrcs.

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.

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 highlighters directory
for documentation and configuration settings.