Add description of highlighting style for files to highlighter/main/README.md

This commit is contained in:
jimmijj 2014-09-26 19:26:10 +00:00
parent 03822157ac
commit d69a3685fc

View File

@ -7,6 +7,7 @@ This is the ***main*** highlighter, that highlights:
* Options
* Arguments
* Paths
* Files
* Strings
How to activate it
@ -28,6 +29,7 @@ This highlighter defines the following styles:
* `builtin` - shell builtin commands
* `function` - functions
* `command` - commands
* `command_prefix` - command prefixes
* `precommand` - precommands (i.e. exec, builtin, ...)
* `commandseparator` - command separation tokens
* `hashed-command` - hashed commands
@ -58,3 +60,28 @@ To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, for
ZSH_HIGHLIGHT_STYLES[globbing]='none'
The syntax for declaring styles is [documented here](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC135).
By default files are colored in the same fashion as `ls` command, namely by comparing file attributes and extension with the content of LS_COLORS environment variable. To override this behaviour change the value of ZSH_HIGHLIGHT_STYLES[file] in ~/.zshrc:
# To have all files in one color irrespectively of attributes and extensions
ZSH_HIGHLIGHT_STYLES[file]='fg=green'
# To disable higlighting for all files
ZSH_HIGHLIGHT_STYLES[file]='none'
# To use $LS_COLORS use 'default', or just don't set ZSH_HIGHLIGHT_STYLES[file] at all
ZSH_HIGHLIGHT_STYLES[file]='default'
It is also possible to change the color for one single file attribute/extenstion. To achieve this modify ZSH_HIGHLIGHT_FILES in ~/.zshrc:
# To set color for executables
ZSH_HIGHLIGHT_FILES[ex]='fg=119'
# To set color for files with sticky bit
ZSH_HIGHLIGHT_FILES[st]='fg=7,bg=4'
# To set color for files with pdf extenstion
ZSH_HIGHLIGHT_FILES[*.pdf]='fg=34'
Note that LS_COLORS uses ANSI color codes (not names as 'green') and so does ZSH_HIGHLIGHT_FILES by default, but ZSH_HIGHLIGHT_FILES[*.pdf]='fg=green' is possible too. However if you set color code by hand you must guarantee that your terminal is capable to display that color properly. In above examples 256 color palette is used. In case of doubt it is better to set ZSH_HIGHLIGHT_STYLES[file]='default' and change LS_COLORS via ~/.dircolors file. If ~/.dircolors files doesn't exist one can generae it by `dircolor` command.