Syntax highlighting with less, trouble with lexer

I have installed python-pygments and using it for syntax highlighting with less as described by mankoff hereI put a function in my .bashrc

cless () { pygmentize -f terminal "$1" | less -R
}

it is enabling syntax highlighting with less. But when I am going to open a file like /etc/fstab or /etc/apt/apt.conf a error saying

Error: no lexer for filename '/etc/apt/apt.conf' found

I found option to show pygmentize the lexer with -l at this manpage. But what will be the appropriate lexer for such files? and how to use it?

0

2 Answers

Buried in pygmentize --help:

If -g is passed, attempt to guess the lexer from the file contents, or pass through as plain text if this fails (this can work for stdin).

Simply change your code to:

cless () { pygmentize -gf terminal "$1" | less -R
}
0

To have syntax highlight on Ubuntu/Debian first install

apt install source-highlight

Then you may want to add this two environment variables to ~/.bashrc

export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Tip: Also notice v on less open the file on default editor (defined by select-editor command) that maybe have syntax highlight. Here it is how to add compatibility to a lot of file types in nano.

Reference

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like