forked from HariSekhon/DevOps-Bash-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pygmentize.sh
executable file
·74 lines (68 loc) · 1.51 KB
/
pygmentize.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env bash
# vim:ts=4:sts=4:sw=4:et
#
# Author: Hari Sekhon
# Date: 2019-11-02 21:50:00 +0000 (Sat, 02 Nov 2019)
#
# https://github.com/HariSekhon/DevOps-Bash-tools
#
# License: see accompanying Hari Sekhon LICENSE file
#
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
#
# https://www.linkedin.com/in/HariSekhon
#
#set -euo pipefail
#[ -n "${DEBUG:-}" ] && set -x
# idea from https://superuser.com/questions/117841/when-reading-a-file-with-less-or-more-how-can-i-get-the-content-in-colors
if [ $# -gt 0 ]; then
case "$1" in
*.ad[asb]|\
*.asm|\
*.awk|\
*.axp|\
*.diff|\
*.ebuild|\
*.eclass|\
*.groff|\
*.hh|\
*.inc|\
*.java|\
*.js|\
*.lsp|\
*.l|\
*.m4|\
*.pas|\
*.patch|\
*.php|\
*.pl|\
*.pm|\
*.pod|\
*.pov|\
*.ppd|\
*.py|\
*.p|\
*.rb|\
*.sh|\
*.sql|\
*.xml|\
*.xps|\
*.xsl|\
*.[ch]pp|\
*.[ch]xx|\
*.[ch]\
) pygmentize -f 256 "$1"
;;
.bash*) pygmentize -f 256 -l sh "$1"
;;
*)
if grep -q '#!.*bash' "$1" 2> /dev/null; then
pygmentize -f 256 -l sh "$1"
else
exit 1
fi
esac
else
pygmentize -f 256 -g
fi
exit 0