This repository has been archived on 2024-05-23. You can view files and clone it, but cannot push or open issues or pull requests.
C-Sy-G/Print Classes.py

39 lines
1.3 KiB
Python

from pygments.lexers import get_all_lexers, get_lexer_by_name
from pygments.formatters import HtmlFormatter
import re
def get_class_definitions(language):
try:
formatter = HtmlFormatter()
class_definitions = formatter.get_style_defs(f".{language}")
return class_definitions
except Exception as e:
print(f"Error: {e}")
def parse_class_definitions(class_definitions):
class_colors = {}
pattern = r'\s*\.(.*?) {.*?color: (.*?);'
matches = re.findall(pattern, class_definitions)
for match in matches:
class_name, color = match
if not class_name.startswith("linenos"):
class_name = class_name.replace("c .", "")
class_colors[class_name] = color
return class_colors
def main():
language = input("Enter the language: ")
class_definitions = get_class_definitions(language)
if class_definitions:
class_colors = parse_class_definitions(class_definitions)
print("# Define colors for different classes (modify as needed)")
print("class_colors = {")
for class_name, color in class_colors.items():
print(f" \"{class_name}\": \"{color}\",")
print("}")
else:
print(f"No class definitions found for language '{language}'.")
if __name__ == "__main__":
main()