0772ddd346
* Don't override user defined styles * Better modularisation of highlighters * Allow to define which highlighters are activated * Allow to define the order in which they are defined * Minor performance optimizations * Fixed some variables leak * Improve documentation * Brackets highlighter: use ZSH_HIGHLIGHT_STYLES instead of a specific array |
||
---|---|---|
.. | ||
test-data | ||
main-highlighter.zsh | ||
README.md |
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
- aliasesbuiltin
- shell builtin commandsfunction
- functionscommand
- commandshashed-command
- hashed commandspath
- pathsglobbing
- globbing expressionshistory-expansion
- history expansion expressionssingle-hyphen-option
- single hyphen optionsdouble-hyphen-option
- double hyphen optionsback-quoted-argument
- backquoted expressionssingle-quoted-argument
- single quoted argumentsdouble-quoted-argument
- double quoted argumentsdollar-double-quoted-argument
- dollar double quoted argumentsback-double-quoted-argument
- back double quoted argumentsassign
- variable assignmentsdefault
- 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.