blob: 317669108d386897405e70d63e25b97c46f25e13 (
plain)
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
|
#!/usr/bin/env python3
import sys
from pygments import highlight
from pygments.formatters import HtmlFormatter
from pygments.lexers import get_lexer_for_filename, guess_lexer
from pygments.util import ClassNotFound
def main():
filename = sys.argv[-1] if len(sys.argv) > 1 else "stdin"
try:
data = sys.stdin.read()
except Exception:
return
try:
lexer = get_lexer_for_filename(filename)
except ClassNotFound:
try:
lexer = guess_lexer(data)
except ClassNotFound:
sys.stdout.write(f"<pre>{data}</pre>")
return
formatter = HtmlFormatter(style="default", nowrap=True, classprefix="hl-")
try:
sys.stdout.write("<style>.hl- { display: inline; }</style>")
highlight(data, lexer, formatter, sys.stdout)
except BrokenPipeError:
pass
if __name__ == "__main__":
main()
|