summaryrefslogtreecommitdiff
path: root/tools/docs/lib/enrich_formatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/docs/lib/enrich_formatter.py')
-rw-r--r--tools/docs/lib/enrich_formatter.py70
1 files changed, 0 insertions, 70 deletions
diff --git a/tools/docs/lib/enrich_formatter.py b/tools/docs/lib/enrich_formatter.py
deleted file mode 100644
index bb171567a4ca..000000000000
--- a/tools/docs/lib/enrich_formatter.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python3
-# SPDX-License-Identifier: GPL-2.0
-# Copyright (c) 2025 by Mauro Carvalho Chehab <mchehab@kernel.org>.
-
-"""
-Ancillary argparse HelpFormatter class that works on a similar way as
-argparse.RawDescriptionHelpFormatter, e.g. description maintains line
-breaks, but it also implement transformations to the help text. The
-actual transformations ar given by enrich_text(), if the output is tty.
-
-Currently, the follow transformations are done:
-
- - Positional arguments are shown in upper cases;
- - if output is TTY, ``var`` and positional arguments are shown prepended
- by an ANSI SGR code. This is usually translated to bold. On some
- terminals, like, konsole, this is translated into a colored bold text.
-"""
-
-import argparse
-import re
-import sys
-
-class EnrichFormatter(argparse.HelpFormatter):
- """
- Better format the output, making easier to identify the positional args
- and how they're used at the __doc__ description.
- """
- def __init__(self, *args, **kwargs):
- """Initialize class and check if is TTY"""
- super().__init__(*args, **kwargs)
- self._tty = sys.stdout.isatty()
-
- def enrich_text(self, text):
- """Handle ReST markups (currently, only ``foo``)"""
- if self._tty and text:
- # Replace ``text`` with ANSI SGR (bold)
- return re.sub(r'\`\`(.+?)\`\`',
- lambda m: f'\033[1m{m.group(1)}\033[0m', text)
- return text
-
- def _fill_text(self, text, width, indent):
- """Enrich descriptions with markups on it"""
- enriched = self.enrich_text(text)
- return "\n".join(indent + line for line in enriched.splitlines())
-
- def _format_usage(self, usage, actions, groups, prefix):
- """Enrich positional arguments at usage: line"""
-
- prog = self._prog
- parts = []
-
- for action in actions:
- if action.option_strings:
- opt = action.option_strings[0]
- if action.nargs != 0:
- opt += f" {action.dest.upper()}"
- parts.append(f"[{opt}]")
- else:
- # Positional argument
- parts.append(self.enrich_text(f"``{action.dest.upper()}``"))
-
- usage_text = f"{prefix or 'usage: '} {prog} {' '.join(parts)}\n"
- return usage_text
-
- def _format_action_invocation(self, action):
- """Enrich argument names"""
- if not action.option_strings:
- return self.enrich_text(f"``{action.dest.upper()}``")
-
- return ", ".join(action.option_strings)