You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

42 lines
532 B

#!/bin/sh
exec 2>&1
tmp_f=
if [ $# -eq 0 ]; then
tmp_f="${TMPDIR:-/tmp}/colorize.$$"
trap "rm -f '$tmp_f'" INT TERM
cat > "$tmp_f"
set -- "$tmp_f"
fi
if [ -t 1 ]; then
if env | grep -q '^PAGER=$'; then
PAGER=cat
elif [ -z "$PAGER" ]; then
PAGER="less -R"
fi
else
PAGER=cat
fi
for f; do
l=
eval t=$(file -i - < "$f" | cut -d' ' -f2-)
case "$t" in
application/xml)
l=xml
;;
text/x-shellscript)
l=sh
;;
esac
pygmentize ${l:+-l $l} "$f"
done | $PAGER
if [ -n "$tmp_f" ]; then
rm -f "$tmp_f"
fi