Make Print\ Classes.py language inspecific
This commit is contained in:
parent
02aa6c282e
commit
f095f230e3
1 changed files with 11 additions and 14 deletions
|
@ -1,38 +1,35 @@
|
|||
from pygments.lexers import get_all_lexers, get_lexer_by_name
|
||||
from pygments.formatters import HtmlFormatter
|
||||
import re
|
||||
|
||||
def get_class_definitions(language):
|
||||
def get_class_definitions():
|
||||
try:
|
||||
formatter = HtmlFormatter()
|
||||
class_definitions = formatter.get_style_defs(f".{language}")
|
||||
return class_definitions
|
||||
style_defs = formatter.get_style_defs()
|
||||
return style_defs
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
|
||||
def parse_class_definitions(class_definitions):
|
||||
class_colors = {}
|
||||
pattern = r'\s*\.(.*?) {.*?color: (.*?);'
|
||||
pattern = r'\s*\.(.*?) {.*?color: (.*?);.*?/\* (.*?) \*/'
|
||||
matches = re.findall(pattern, class_definitions)
|
||||
for match in matches:
|
||||
class_name, color = match
|
||||
class_name, color, comment = match
|
||||
if not class_name.startswith("linenos"):
|
||||
class_name = class_name.replace("c .", "")
|
||||
class_colors[class_name] = color
|
||||
class_colors[class_name] = (color, comment.strip())
|
||||
return class_colors
|
||||
|
||||
def main():
|
||||
language = input("Enter the language: ")
|
||||
class_definitions = get_class_definitions(language)
|
||||
class_definitions = get_class_definitions()
|
||||
if class_definitions:
|
||||
class_colors = parse_class_definitions(class_definitions)
|
||||
print("# Define colors for different classes (modify as needed)")
|
||||
print(f"class_colors_{language} = {{")
|
||||
for class_name, color in class_colors.items():
|
||||
print(f" \"{class_name}\": \"{color}\",")
|
||||
print("class_colors = {")
|
||||
for class_name, (color, comment) in class_colors.items():
|
||||
print(f" \"{class_name}\": \"{color}\", # {comment}")
|
||||
print("}")
|
||||
else:
|
||||
print(f"No class definitions found for language '{language}'.")
|
||||
print("No class definitions found.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
Reference in a new issue