mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-24 23:00:09 +00: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
|
||||
# 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
|
||||
# easier alias to use the plugin
|
||||
alias ccat='colorize_via_pygmentize'
|
||||
|
||||
colorize_via_pygmentize() {
|
||||
|
@ -12,16 +7,20 @@ colorize_via_pygmentize() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
# pygmentize stdin if no arguments passed
|
||||
if [ $# -eq 0 ]; then
|
||||
pygmentize -g $@
|
||||
pygmentize -g
|
||||
return $?
|
||||
fi
|
||||
|
||||
# guess lexer from file extension, or
|
||||
# guess it from file contents if unsuccessful
|
||||
local FNAME lexer
|
||||
for FNAME in $@
|
||||
do
|
||||
filename=$(basename "$FNAME")
|
||||
lexer=`pygmentize -N \"$filename\"`
|
||||
if [ "Z$lexer" != "Ztext" ]; then
|
||||
pygmentize -l $lexer "$FNAME"
|
||||
lexer=$(pygmentize -N "$FNAME")
|
||||
if [[ $lexer != text ]]; then
|
||||
pygmentize -l "$lexer" "$FNAME"
|
||||
else
|
||||
pygmentize -g "$FNAME"
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue