mirror of
https://github.com/alecthomas/chroma.git
synced 2025-03-17 20:58:08 +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:
parent
c788380af6
commit
473ed23c2a
19
table.py
19
table.py
@ -1,7 +1,11 @@
|
||||
#!/usr/bin/env python3
|
||||
import re
|
||||
from collections import defaultdict
|
||||
from subprocess import check_output
|
||||
|
||||
README_FILE = "README.md"
|
||||
|
||||
|
||||
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 = sorted(lines, key=lambda l: l.lower())
|
||||
@ -11,5 +15,18 @@ table = defaultdict(list)
|
||||
for line in lines:
|
||||
table[line[0].upper()].append(line)
|
||||
|
||||
rows = []
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user