From 471b46312ffbd11e8ff53690981f147ab102ed2f Mon Sep 17 00:00:00 2001 From: Nuri Jung Date: Fri, 3 Jul 2020 15:10:57 +0900 Subject: [PATCH] Add general example and remove details This adds a general, platform independent example before the more detailed example. Also removes details about the reason of the platform dependency of some non-standard regular expressions, and replaces it with a hyperlink to the related Zsh document. --- docs/highlighters/regexp.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/highlighters/regexp.md b/docs/highlighters/regexp.md index fd95d5c..3767190 100644 --- a/docs/highlighters/regexp.md +++ b/docs/highlighters/regexp.md @@ -10,6 +10,18 @@ patterns. To use this highlighter, associate regular expressions with styles in the `ZSH_HIGHLIGHT_REGEXP` associative array, for example in `~/.zshrc`: +```zsh +typeset -A ZSH_HIGHLIGHT_REGEXP +ZSH_HIGHLIGHT_REGEXP+=('^rm .*' fg="red",bold) +``` + +This will highlight the whole line starting with `rm` (for all operating systems, +in contrast to the below example). + +Some regex patterns are [subject to the host platform][MAN_ZSH_REGEX], especially +the kernel. To highlight `sudo` only as a complete word, i.e., `sudo cmd`, but +not `sudoedit`: + * GNU-Linux ```zsh @@ -24,12 +36,7 @@ To use this highlighter, associate regular expressions with styles in the 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)][POSIX_ERE] could be an option. +Both would give the same results, but do not work on each other's system. 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)` @@ -38,7 +45,7 @@ manual page][zshzle-Character-Highlighting]. See also: [regular expressions tutorial][perlretut], zsh regexp operator `=~` in [the `zshmisc(1)` manual page][zshmisc-Conditional-Expressions] -[POSIX_ERE]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04 +[MAN_ZSH_REGEX]: http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fregex-Module [zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting [perlretut]: http://perldoc.perl.org/perlretut.html [zshmisc-Conditional-Expressions]: http://zsh.sourceforge.net/Doc/Release/Conditional-Expressions.html#Conditional-Expressions