Syntax highlighting/colorizing cat

前端 未结 18 1921
不思量自难忘°
不思量自难忘° 2020-12-02 03:39

Is there a method to colorize the output of cat, the way grep does.

For grep, in most consoles it displays a colored output hi

18条回答
  •  情歌与酒
    2020-12-02 04:29

    source-highlight

    Maybe it's possible to find interesting source-highlight released under GNU: a package different from highlight.

    Excerpt from apt-cache show source-highlight:

    Description-en: convert source code to syntax highlighted document.
    This program, given a source file, produces a document with syntax highlighting.
    It supports syntax highlighting for over 100 file formats ...
    For output, the following formats are supported: HTML, XHTML, LaTeX, Texinfo, ANSI color escape sequences, and DocBook

    I did some alias (Cat and PCat, see below) and this is their output

    Screen Example

    You can install on Debian based with

    sudo apt-get install source-highlight
    

    and add it as alias e.g. in your .bash_aliases with something like the line below.

    alias Cat='source-highlight --out-format=esc -o STDOUT -i'  
    Cat myfile.c # or myfile.xml ...
    

    Or you can do a similar alias (without the -iat the end to have the possibility to pipe in)

    alias PCat='source-highlight --out-format=esc -o STDOUT '
    tail myfile.sh | PCat     # Note the absence of the `-i`
    

    Among the options that it's possible to read from man source-highlight the -s underlines that is possible to select, or force, the highlighting by command line or to leave to the program this duty:

    -s, --src-lang=STRING source language (use --lang-list to get the complete list). If not specified, the source language will be guessed from the file extension.

    --lang-list list all the supported language and associated language definition file

提交回复
热议问题