Skip to content
Snippets Groups Projects
Commit f56a6c68 authored by Frederik Hennig's avatar Frederik Hennig
Browse files

refactored indentation

parent e02732bf
No related merge requests found
Pipeline #57753 passed with stages
in 3 minutes and 25 seconds
......@@ -7,11 +7,10 @@ from os import path
from enum import Enum, auto
from dataclasses import dataclass, replace, asdict, InitVar
from argparse import ArgumentParser
from textwrap import indent
from importlib import util as iutil
from jinja2.filters import do_indent
from .exceptions import SfgException
HEADER_FILE_EXTENSIONS = {'h', 'hpp'}
......@@ -39,7 +38,8 @@ class SfgCodeStyle:
indent_width: int = 2
def indent(self, s: str):
return do_indent(s, self.indent_width, first=True)
prefix = " " * self.indent_width
return indent(s, prefix)
@dataclass
......
......@@ -15,7 +15,7 @@ class SfgContext:
self._code_namespace: str | None = None
# Source Components
self._prelude: list[str] = []
self._prelude: str = ""
self._includes: set[SfgHeaderInclude] = set()
self._definitions: list[str] = []
self._kernel_namespaces = {self._default_kernel_namespace.name: self._default_kernel_namespace}
......@@ -58,12 +58,19 @@ class SfgContext:
# Prelude, Includes, Definitions, Namespace
# ----------------------------------------------------------------------------------------------
def prelude(self) -> Generator[str, None, None]:
@property
def prelude_comment(self) -> str:
"""The prelude is a comment block printed at the top of both generated files."""
yield from self._prelude
return self._prelude
def append_to_prelude(self, code_str: str):
self._prelude.append(code_str)
if self._prelude:
self._prelude += "\n"
self._prelude += code_str
if not code_str.endswith("\n"):
self._prelude += "\n"
def includes(self) -> Generator[SfgHeaderInclude, None, None]:
"""Includes of headers. Public includes are added to the header file, private includes
......
from typing import cast
from jinja2 import Environment, PackageLoader, StrictUndefined
from textwrap import indent
from os import path
......@@ -59,13 +60,7 @@ class BasicCpuEmitter:
def get_prelude_comment(ctx: SfgContext):
prelude_lines = []
for p in ctx.prelude():
prelude_lines += p.splitlines()
prelude_lines += [""] # empty line in-between
prelude_lines = prelude_lines[:-1]
if not prelude_lines:
if not ctx.prelude_comment:
return ""
return "\n".join(["/**"] + [f"* {line}" for line in prelude_lines] + ["*/"])
return "/*\n" + indent(ctx.prelude_comment, "* ", predicate=lambda _: True) + "*/\n"
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment