From 12a89f956099ac2bf61d39a44e14e60af8334cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Wed, 9 Feb 2022 19:25:25 +0100 Subject: [PATCH] add mode to tex formatters --- PyTeX/format/enums.py | 7 +++++++ PyTeX/format/tex_formatter.py | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/PyTeX/format/enums.py b/PyTeX/format/enums.py index 3df3feb..bab9470 100644 --- a/PyTeX/format/enums.py +++ b/PyTeX/format/enums.py @@ -3,6 +3,13 @@ from enum import Enum from typing import Optional +class FormatterMode(Enum): + normal = 0 + drop = 1 + macrocode = 2 + macrocode_drop = 3 + + class NamingScheme(Enum): prepend_author = 'prepend_author' clean = 'clean' diff --git a/PyTeX/format/tex_formatter.py b/PyTeX/format/tex_formatter.py index 6deb74b..5fb755e 100644 --- a/PyTeX/format/tex_formatter.py +++ b/PyTeX/format/tex_formatter.py @@ -5,6 +5,7 @@ from abc import ABC, abstractmethod from .formatting_config import FormattingConfig from .macros import Macro from .pytex_formatter import PyTeXFormatter +from .enums import * class LineStream: @@ -61,6 +62,7 @@ class TexFormatter(PyTeXFormatter, ABC): super().__init__(*args, **kwargs) self._macros: List[Macro] = [] self._line_stream: Optional[LineStream] = None + self._mode = FormatterMode.normal def open_output_stream(self, build_dir: Path, filename: str) -> None: """ @@ -127,7 +129,8 @@ class TexFormatter(PyTeXFormatter, ABC): def write_line(self, line: str): if self._output_file is None: raise NotImplementedError - self._output_file.write(line) + if not self._mode == FormatterMode.drop or self._mode == FormatterMode.macrocode_drop: + self._output_file.write(line) def format_pre_header(self) -> None: pass