Merge pull request #476 from mimoralea/mimoralea-pretty-cat-plugin

Replace cat with pigmentize to add syntax highlighting if possible defaulting back to cat
pull/502/head
Nils Winkler 2015-06-10 07:28:41 +01:00
commit 03b796ee60
1 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,32 @@
cite about-plugin
about-plugin 'pygmentize instead of cat to terminal if possible'
if [ -z $(which pygmentize) ]
then
echo "Pygments is required to use this plugin"
echo "Install it by doing 'pip install Pygments' as the superuser"
fi
# get the full paths to binaries
CAT_BIN=$(which cat)
LESS_BIN=$(which less)
# pigmentize cat and less outputs
cat()
{
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'
for var;
do
pygmentize "$var" 2>/dev/null || "$CAT_BIN" "$var";
done
}
less()
{
about 'it 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'
pygmentize "$*" | "$LESS_BIN" -R
}