
This changes document structure and adds comments for the platform-dependency of regular expressions. Fixes #746.
1.7 KiB
zsh-syntax-highlighting / highlighters / regexp
This is the regexp
highlighter, that highlights user-defined regular
expressions. It's similar to the pattern
highlighter, but allows more complex
patterns.
How to tweak it
To use this highlighter, associate regular expressions with styles in the
ZSH_HIGHLIGHT_REGEXP
associative array, for example in ~/.zshrc
:
-
GNU-Linux
typeset -A ZSH_HIGHLIGHT_REGEXP ZSH_HIGHLIGHT_REGEXP+=('\<sudo\>' fg=123,bold)
-
BSD-based platforms
typeset -A ZSH_HIGHLIGHT_REGEXP ZSH_HIGHLIGHT_REGEXP+=('[[:<:]]sudo[[:>:]]' fg=123,bold)
This will highlight "sudo" only as a complete word, i.e., "sudo cmd", but not "sudoedit".
As in the example, some regex patterns are platform-dependent. Refer to the
manual page of re_format
before applying regular expressions to avoid confusing
results. If portability matters, using only POSIX ERE (extended regular
expressions) could be an option.
The syntax for values is the same as the syntax of "types of highlighting" of
the zsh builtin $zle_highlight
array, which is documented in the zshzle(1)
manual page.
See also: regular expressions tutorial, zsh regexp operator =~
in the zshmisc(1)
manual page, GNU