From 82d066ffe3dc263672b8a3fb8178a5294aeb9fb8 Mon Sep 17 00:00:00 2001 From: pennae Date: Fri, 10 Feb 2023 07:45:25 +0100 Subject: [PATCH] nixos-render-docs: refactor option docs restrictions move the restrictions we care about into a mixin class. a few more restrictions will appear soon and a few new converters as well, the renderers of which need not have these restrictions already baked in by accident (like the manpage renderer does right now). --- .../nix/nixos-render-docs/src/nixos_render_docs/options.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py index 1c0bb77d876..908c98c8d71 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py @@ -171,7 +171,7 @@ class BaseConverter(Converter): @abstractmethod def finalize(self) -> str: raise NotImplementedError() -class OptionsDocBookRenderer(DocBookRenderer): +class OptionDocsRestrictions: def heading_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: raise RuntimeError("md token not supported in options doc", token) @@ -179,6 +179,7 @@ class OptionsDocBookRenderer(DocBookRenderer): env: MutableMapping[str, Any]) -> str: raise RuntimeError("md token not supported in options doc", token) +class OptionsDocBookRenderer(OptionDocsRestrictions, DocBookRenderer): # TODO keep optionsDocBook diff small. remove soon if rendering is still good. def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: @@ -287,7 +288,7 @@ class DocBookConverter(BaseConverter): return "\n".join(result) -class OptionsManpageRenderer(ManpageRenderer): +class OptionsManpageRenderer(OptionDocsRestrictions, ManpageRenderer): pass class ManpageConverter(BaseConverter):