diff --git a/highlighters/main/README.md b/highlighters/main/README.md index df0c195..2aa9054 100644 --- a/highlighters/main/README.md +++ b/highlighters/main/README.md @@ -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.