From 715ddb860287d5eea3d4126a9b9d5a2da88dd0a7 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 8 Jan 2023 12:55:37 +0100 Subject: Modularize template --- src/wsdiff.py | 203 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 100 insertions(+), 103 deletions(-) diff --git a/src/wsdiff.py b/src/wsdiff.py index 2c5dbb5..b83c523 100644 --- a/src/wsdiff.py +++ b/src/wsdiff.py @@ -40,17 +40,21 @@ from pygments.lexer import RegexLexer from pygments.lexers import get_lexer_by_name, guess_lexer_for_filename, get_all_lexers, LEXERS from pygments import token +DIFF_STYLE_TOGGLE = r''' +
+
+ Split view + +
+
+
+
+
+
+
+''' -HTML_TEMPLATE = r''' - - - - - $title - - - - - - - -
-
- Split view - -
-
-
-
-
-
-
- -
-$body -
+ document.getElementById('js-controls').style = 'display: flex'; +''' + +HTML_TEMPLATE = r''' + + + + + $title + + + + + + + + $diff_style_toggle + +
+ $body +
''' @@ -513,22 +524,6 @@ span.clearbg { } ''' -class SexprLexer(RegexLexer): - name = 'KiCad S-Expression' - aliases = ['sexp'] - filenames = ['*.kicad_mod', '*.kicad_sym'] - - tokens = { - 'root': [ - (r'\s+', token.Whitespace), - (r'[()]', token.Punctuation), - (r'([+-]?\d+\.\d+)(?=[)\s])', token.Number), - (r'(-?\d+)(?=[)\s])', token.Number), - (r'"((?:[^"]|\\")*)"(?=[)\s])', token.String), - (r'([^()"\s]+)(?=[)\s])', token.Name), - ] - } - from pygments.formatter import Formatter from pygments.token import STANDARD_TYPES @@ -674,6 +669,9 @@ def cli(): print(string.Template(HTML_TEMPLATE).substitute( title=pagetitle, pygments_css=syntax_css, + main_css=MAIN_CSS, + diff_style_toggle=DIFF_STYLE_TOGGLE, + diff_style_script=DIFF_STYLE_SCRIPT, body='$body'), file=args.output) sys.exit(0) @@ -717,14 +715,10 @@ def cli(): if args.lexer: lexer = get_lexer_by_name(lexer) else: - if new.suffix.lower() in ('.kicad_mod', '.kicad_mod', '.kicad_pcb', '.kicad_sch')\ - or new.name == 'sym_lib_table': - lexer = SexprLexer() - else: - try: - lexer = guess_lexer_for_filename(new, new_text) - except: - lexer = get_lexer_by_name('text') + try: + lexer = guess_lexer_for_filename(new, new_text) + except: + lexer = get_lexer_by_name('text') diff_blocks.append(html_diff_block(old_text, new_text, suffix, lexer, hide_filename=args.nofilename)) body = '\n'.join(diff_blocks) @@ -735,6 +729,9 @@ def cli(): print(string.Template(HTML_TEMPLATE).substitute( title=pagetitle, pygments_css=syntax_css, + main_css=MAIN_CSS, + diff_style_toggle=DIFF_STYLE_TOGGLE, + diff_style_script=DIFF_STYLE_SCRIPT, body=body), file=args.output) if args.open: -- cgit