mirror of
https://github.com/zsh-users/zsh-syntax-highlighting.git
synced 2025-02-13 10:05:31 +08:00
![]() It's really annoying to have partial paths appear the same as paths to complete files. However, it is still nice to be able to highlight them. Full paths are now bold while partial paths use plain underline. |
||
---|---|---|
.. | ||
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
- commandsprecommand
- precommands (i.e. exec, builtin, ...)commandseparator
- command separation tokenshashed-command
- hashed commandspath
- paths which existpartial-path
- partial paths (prefixes of existing files)globbing
- 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.