These tests are based on the patches contributed in those issues:
commit 9d9df4fe80 (upstream/pr/167)
Author: Miciah Masters <miciah.masters@gmail.com>
AuthorDate: Thu Apr 23 20:28:24 2015 -0400
Commit: Miciah Dashiel Butler Masters <mmasters@redhat.com>
CommitDate: Thu Apr 23 20:28:24 2015 -0400
Highlight comments
M highlighters/main/main-highlighter.zsh
A highlighters/main/test-data/comments.zsh
commit d94f1a037f (upstream/pr/163)
Author: sonnym <michaud.sonny@gmail.com>
AuthorDate: Fri Mar 6 18:27:57 2015 -0500
Commit: sonnym <michaud.sonny@gmail.com>
CommitDate: Fri Mar 6 21:16:27 2015 -0500
highlight comments when interactive_comments is on
M highlighters/main/main-highlighter.zsh
A highlighters/main/test-data/comment-embedded.zsh
A highlighters/main/test-data/comment-leading.zsh
Patch-by: sonnym <michaud.sonny@gmail.com>
Patch-by: Miciah Masters <miciah.masters@gmail.com>
(corrected and refreshed for harness changes by me)
zsh-syntax-highlighting / highlighters / main
This is the main highlighter, that highlights:
- Commands
- Options
- Arguments
- Paths
- Strings
How to activate it
To activate it, add it to ZSH_HIGHLIGHT_HIGHLIGHTERS:
ZSH_HIGHLIGHT_HIGHLIGHTERS=( [...] main)
This highlighter is active by default.
How to tweak it
This highlighter defines the following styles:
unknown-token- unknown tokens / errorsreserved-word- shell reserved wordsalias- aliasessuffix-alias- suffix aliases (requires zsh 5.1.1 or newer)builtin- shell builtin commandsfunction- functionscommand- commandsprecommand- precommands (i.e. exec, builtin, ...)commandseparator- command separation tokenshashed-command- hashed commandspath- pathspath_prefix- path prefixesglobbing- globbing expressions (*.txt)history-expansion- history expansion expressions (!fooand^foo^bar)single-hyphen-option- single hyphen options (-o)double-hyphen-option- double hyphen options (--option)back-quoted-argument- backquoted expressions (`foo`)single-quoted-argument- single quoted arguments ('foo')double-quoted-argument- double quoted arguments ("foo")dollar-quoted-argument- dollar quoted arguments ($'foo')dollar-double-quoted-argument- dollar double quoted arguments ($foo inside "")back-double-quoted-argument- back double quoted arguments (\x inside "")back-dollar-quoted-argument- back dollar quoted arguments (\x inside $'')assign- variable assignmentsredirection- redirection operators (<,>, etc)default- parts of the buffer that do not match anything
To override one of those styles, change its entry in ZSH_HIGHLIGHT_STYLES, for example in ~/.zshrc:
# Declare the variable
typeset -A ZSH_HIGHLIGHT_STYLES
# To differentiate aliases from other command types
ZSH_HIGHLIGHT_STYLES[alias]='fg=magenta,bold'
# To have paths colored instead of underlined
ZSH_HIGHLIGHT_STYLES[path]='fg=cyan'
# To disable highlighting of globbing expressions
ZSH_HIGHLIGHT_STYLES[globbing]='none'
The syntax for declaring styles is documented in the zshzle(1) manual
page.