32 lines
1.0 KiB
Bash
32 lines
1.0 KiB
Bash
# shellcheck shell=bash
|
|
cite about-plugin
|
|
about-plugin 'pygmentize instead of cat to terminal if possible'
|
|
|
|
if _command_exists pygmentize
|
|
then
|
|
# pigmentize cat and less outputs - call them ccat and cless to avoid that
|
|
# especially cat'ed output in scripts gets mangled with pygemtized meta characters
|
|
function ccat()
|
|
{
|
|
about 'runs either pygmentize or cat on each file passed in'
|
|
param '*: files to concatenate (as normally passed to cat)'
|
|
example 'cat mysite/manage.py dir/text-file.txt'
|
|
local file
|
|
: "${BASH_IT_CCAT_STYLE:=default}"
|
|
|
|
for file in "$@"
|
|
do
|
|
pygmentize -f 256 -O style="$BASH_IT_CCAT_STYLE" -g "$file" 2>/dev/null || command cat "$file";
|
|
done
|
|
}
|
|
|
|
function cless()
|
|
{
|
|
about 'pigments the file passed in and passes it to less for pagination'
|
|
param '$1: the file to paginate with less'
|
|
example 'less mysite/manage.py'
|
|
: "${BASH_IT_CLESS_STYLE:=default}"
|
|
pygmentize -f 256 -O style="$BASH_IT_CLESS_STYLE" -g "$@" | command less -R
|
|
}
|
|
fi
|