I use zsh-syntax-highlighting package and it colorize all files with the same color as directories (path). I think one should have possibility to customize these colors or at least use $LS_COLORS as default. However it seems that I can change only one variable:


Am I missing something?

  • Not a solution, but have you tried to use this: github.com/trapd00r/LS_COLORS ? It's pretty straightforward and you can customize a lot of file extensions in there. – ramonovski Sep 5 '14 at 21:55

This question pushed me to fork zsh-syntax-hightighting and add this feature. I've started from the filetypes project as ramonovski suggested in the comment, but it is very outdated with respect to original zsh-syntax-highlighting, lacks a lot of feature, supports only "256 color codes" in $LS_COLORS, etc.

At the end I've decided to write my own functions, and the result looks like that:

enter image description here

Notice a few things:

  1. Files (basename) and directories (dirname) are colored differently. This is not like standard ls works but I like that better, and to my taste this is just a bug in ls.
  2. All possible file attributes are taken into account, not only file extension *.xxx. So for example null from /dev/ as a character device is yellow here, as in ls command.
  3. Files without 'special' attributes and without extension are in default color (.zshrc on the picture)
  4. Directory names are resolved correctly with tilde

If you like it you can download from github: http://github.com/jimmijj/zsh-syntax-highlighting

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.