Add plaintext highlighter, escape ANSI in source
This commit is contained in:
parent
0abafa60e1
commit
56ea7f0e43
2 changed files with 25 additions and 1 deletions
|
@ -3,10 +3,13 @@ from colorama import Fore, Style
|
|||
import sys
|
||||
import re
|
||||
|
||||
patch = sys.stdin.read().replace("\r\n", "\n")
|
||||
ansi_escape = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]')
|
||||
stat_re = re.compile(r'(\+*)(\-*)')
|
||||
lines_re = re.compile(r'@@ (-\d+,\d+ \+\d+,\d+) @@')
|
||||
|
||||
patch = sys.stdin.read().replace("\r\n", "\n")
|
||||
patch = ansi_escape.sub('', patch)
|
||||
|
||||
hit_diff = False
|
||||
for line in patch.split("\n"):
|
||||
if line.startswith("diff "):
|
||||
|
|
21
contrib/plaintext.py
Executable file
21
contrib/plaintext.py
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env python3
|
||||
from colorama import Fore, Style
|
||||
import sys
|
||||
import re
|
||||
|
||||
# TODO: Wrap text to terminal width?
|
||||
|
||||
ansi_escape = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]')
|
||||
# TODO: I guess this might vary from MUA to MUA. I've definitely seen localized
|
||||
# versions in the wild
|
||||
quote_prefix_re = re.compile(r"On [0-9: -]+( (AM|PM))?, .* wrote:")
|
||||
quote_re = re.compile(r">+ ")
|
||||
|
||||
mail = sys.stdin.read().replace("\r\n", "\n")
|
||||
mail = ansi_escape.sub('', mail)
|
||||
|
||||
for line in mail.split("\n"):
|
||||
if quote_re.match(line) or quote_prefix_re.match(line):
|
||||
print(f"{Style.DIM}{Fore.CYAN}{line}{Style.RESET_ALL}")
|
||||
else:
|
||||
print(line)
|
Loading…
Reference in a new issue