zsh-syntax-highlighting/highlighters/main
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Daniel Shahaf 2c5acaefa9 Refactoring, no functional change
The new function will be used in the next commit.
2015-01-27 10:23:58 +00:00
..
test-data Fix #121: sudo syntax highlighting incorrectly 2013-09-28 19:33:34 -06:00
main-highlighter.zsh Refactoring, no functional change 2015-01-27 10:23:58 +00:00
README.md #155: document path_prefix/path_approx 2013-08-09 09:56:28 +02:00

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 / errors
  • reserved-word - shell reserved words
  • alias - aliases
  • builtin - shell builtin commands
  • function - functions
  • command - commands
  • precommand - precommands (i.e. exec, builtin, ...)
  • commandseparator - command separation tokens
  • hashed-command - hashed commands
  • path - paths
  • path_prefix - path prefixes
  • path_approx - approximated paths
  • globbing - globbing expressions
  • history-expansion - history expansion expressions
  • single-hyphen-option - single hyphen options
  • double-hyphen-option - double hyphen options
  • back-quoted-argument - backquoted expressions
  • single-quoted-argument - single quoted arguments
  • double-quoted-argument - double quoted arguments
  • dollar-double-quoted-argument - dollar double quoted arguments
  • back-double-quoted-argument - back double quoted arguments
  • assign - variable assignments
  • 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:

# 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 here.