mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-26 21:51:05 +01:00
colorize: add README and refactor plugin (#7314)
This commit is contained in:
parent
951e649427
commit
576ada138f
2 changed files with 28 additions and 11 deletions
18
plugins/colorize/README.md
Normal file
18
plugins/colorize/README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# colorize
|
||||||
|
|
||||||
|
With this plugin you can syntax-highlight file contents of over 300 supported languages and other text formats.
|
||||||
|
|
||||||
|
To use it, add colorize to the plugins array of your zshrc file:
|
||||||
|
```
|
||||||
|
plugins=(... colorize)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
* `ccat <file> [files]`: colorize the contents of the file (or files, if more than one are provided). If no arguments are passed it will colorize the standard input or stdin.
|
||||||
|
|
||||||
|
Colorize will highlight the content based on the filename extension. If it can't find a syntax-highlighting method for a given extension, it will try to find one by looking at the file contents. If no highlight method is found it will just cat the file normally, without syntax highlighting.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
You have to install Pygments first: [pygments.org](http://pygments.org/download/)
|
|
@ -1,9 +1,4 @@
|
||||||
# Plugin for highlighting file content
|
# easier alias to use the plugin
|
||||||
# Plugin highlights file content based on the filename extension.
|
|
||||||
# If no highlighting method supported for given extension then it tries
|
|
||||||
# guess it by looking for file content.
|
|
||||||
|
|
||||||
#easier alias to use plugin
|
|
||||||
alias ccat='colorize_via_pygmentize'
|
alias ccat='colorize_via_pygmentize'
|
||||||
|
|
||||||
colorize_via_pygmentize() {
|
colorize_via_pygmentize() {
|
||||||
|
@ -12,16 +7,20 @@ colorize_via_pygmentize() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# pygmentize stdin if no arguments passed
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
pygmentize -g $@
|
pygmentize -g
|
||||||
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# guess lexer from file extension, or
|
||||||
|
# guess it from file contents if unsuccessful
|
||||||
|
local FNAME lexer
|
||||||
for FNAME in $@
|
for FNAME in $@
|
||||||
do
|
do
|
||||||
filename=$(basename "$FNAME")
|
lexer=$(pygmentize -N "$FNAME")
|
||||||
lexer=`pygmentize -N \"$filename\"`
|
if [[ $lexer != text ]]; then
|
||||||
if [ "Z$lexer" != "Ztext" ]; then
|
pygmentize -l "$lexer" "$FNAME"
|
||||||
pygmentize -l $lexer "$FNAME"
|
|
||||||
else
|
else
|
||||||
pygmentize -g "$FNAME"
|
pygmentize -g "$FNAME"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue