From 065734a628d4f9c27e32f2d3506b0918ab14442f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Fri, 18 Feb 2022 10:05:43 +0100 Subject: [PATCH] finer macro selection --- PyTeX/format/auto_format.py | 2 +- PyTeX/format/default_macros.py | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/PyTeX/format/auto_format.py b/PyTeX/format/auto_format.py index 6130870..6ffacc7 100644 --- a/PyTeX/format/auto_format.py +++ b/PyTeX/format/auto_format.py @@ -48,7 +48,7 @@ def formatter_from_file_extension( allow_infile_config=allow_infile_config ) if default_macros: - formatter.macros = get_default_macros(formatter.config.tex_flavour) + formatter.macros = get_default_macros(formatter.config.tex_flavour, formatter.config.tex_type) return formatter diff --git a/PyTeX/format/default_macros.py b/PyTeX/format/default_macros.py index dbdbd40..f30da1c 100644 --- a/PyTeX/format/default_macros.py +++ b/PyTeX/format/default_macros.py @@ -1,5 +1,5 @@ from .macros import * -from .enums import TeXFlavour, Argument +from .enums import TeXFlavour, Argument, TeXType def make_simple_macro(name: str, arg): @@ -12,7 +12,7 @@ def make_simple_macro(name: str, arg): ) -def get_default_macros(tex_flavour: TeXFlavour): +def get_default_macros(tex_flavour: TeXFlavour, tex_type: TeXType): both = [ make_simple_macro('!', FormatterProperty.file_prefix), make_simple_macro('name', FormatterProperty.name), @@ -28,14 +28,16 @@ def get_default_macros(tex_flavour: TeXFlavour): make_simple_macro('repocommit', FormatterProperty.repo_commit), make_simple_macro('repodirty', FormatterProperty.repo_dirty), make_simple_macro('sourcename', FormatterProperty.source_file_name), - make_simple_macro('outtype', FormatterProperty.tex_out_type), - ImplementationBeginMacro(), - ImplementationEndMacro(), ConfigEndMacro(), ConfigBeginMacro(), + ] + docstrip = [ + make_simple_macro('outtype', FormatterProperty.tex_out_type), MacroCodeBeginMacro(), MacroCodeEndMacro(), GuardMacro(), + ImplementationBeginMacro(), + ImplementationEndMacro(), ] tex2 = [ ArgumentMacro( @@ -97,9 +99,14 @@ def get_default_macros(tex_flavour: TeXFlavour): ) ) ] + macros = both if tex_flavour == TeXFlavour.LaTeX2e: - return tex2 + both + macros += tex2 elif tex_flavour == TeXFlavour.LaTeX3: - return tex3 + both + macros += tex3 else: raise NotImplementedError + if tex_type == TeXType.TeXDocstrip: + macros += docstrip + + return macros