mirror of
https://github.com/alecthomas/chroma.git
synced 2025-11-27 22:38:42 +02:00
Update table.py to write changes on README.md
Write the up-to-date list of the supported languages directly on the README.md file in order to avoid manual copy/paste actions.
This commit is contained in:
committed by
Alec Thomas
parent
c788380af6
commit
473ed23c2a
19
table.py
19
table.py
@@ -1,7 +1,11 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
import re
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from subprocess import check_output
|
from subprocess import check_output
|
||||||
|
|
||||||
|
README_FILE = "README.md"
|
||||||
|
|
||||||
|
|
||||||
lines = check_output(["go", "run", "./cmd/chroma/main.go", "--list"]).decode("utf-8").splitlines()
|
lines = check_output(["go", "run", "./cmd/chroma/main.go", "--list"]).decode("utf-8").splitlines()
|
||||||
lines = [line.strip() for line in lines if line.startswith(" ") and not line.startswith(" ")]
|
lines = [line.strip() for line in lines if line.startswith(" ") and not line.startswith(" ")]
|
||||||
lines = sorted(lines, key=lambda l: l.lower())
|
lines = sorted(lines, key=lambda l: l.lower())
|
||||||
@@ -11,5 +15,18 @@ table = defaultdict(list)
|
|||||||
for line in lines:
|
for line in lines:
|
||||||
table[line[0].upper()].append(line)
|
table[line[0].upper()].append(line)
|
||||||
|
|
||||||
|
rows = []
|
||||||
for key, value in table.items():
|
for key, value in table.items():
|
||||||
print("{} | {}".format(key, ", ".join(value)))
|
rows.append("{} | {}".format(key, ", ".join(value)))
|
||||||
|
tbody = "\n".join(rows)
|
||||||
|
|
||||||
|
with open(README_FILE, "r") as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
with open(README_FILE, "w") as f:
|
||||||
|
marker = re.compile(r"(?P<start>:----: \\| --------\n).*?(?P<end>\n\n)", re.DOTALL)
|
||||||
|
replacement = r"\g<start>%s\g<end>" % tbody
|
||||||
|
updated_content = marker.sub(replacement, content)
|
||||||
|
f.write(updated_content)
|
||||||
|
|
||||||
|
print(tbody)
|
||||||
|
|||||||
Reference in New Issue
Block a user