summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-01-10 15:31:37 -0800
committerJakub Kicinski <kuba@kernel.org>2026-01-12 13:29:30 -0800
commit101a7d57d518c0c9e9eefc3768909ae02b96b3ef (patch)
treee3828a3911c21330a473f6d0d1023ddea574ee79
parent21eb90fb5fbc939eb68262efc0e916293d8299d2 (diff)
downloadlinux-101a7d57d518c0c9e9eefc3768909ae02b96b3ef.tar.gz
linux-101a7d57d518c0c9e9eefc3768909ae02b96b3ef.zip
tools: ynl: cli: wrap the doc text if it's long
We already use textwrap when printing "doc" section about an attribute, but only to indent the text. Switch to using fill() to split and indent all the lines. While at it indent the text by 2 more spaces, so that it doesn't align with the name of the attribute. Before (I'm drawing a "box" at ~60 cols here, in an attempt for clarity): | - irq-suspend-timeout: uint | | The timeout, in nanoseconds, of how long to suspend irq| |processing, if event polling finds events | After: | - irq-suspend-timeout: uint | | The timeout, in nanoseconds, of how long to suspend | | irq processing, if event polling finds events | Tested-by: Gal Pressman <gal@nvidia.com> Acked-by: Stanislav Fomichev <sdf@fomichev.me> Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Link: https://patch.msgid.link/20260110233142.3921386-3-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rwxr-xr-xtools/net/ynl/pyynl/cli.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/net/ynl/pyynl/cli.py b/tools/net/ynl/pyynl/cli.py
index aa50d42e35ac..dc84619e5518 100755
--- a/tools/net/ynl/pyynl/cli.py
+++ b/tools/net/ynl/pyynl/cli.py
@@ -10,6 +10,7 @@ import json
import os
import pathlib
import pprint
+import shutil
import sys
import textwrap
@@ -101,7 +102,11 @@ def print_attr_list(ynl, attr_names, attr_set, indent=2):
attr_info += f" -> {nested_set_name}"
if attr.yaml.get('doc'):
- doc_text = textwrap.indent(attr.yaml['doc'], prefix + ' ')
+ doc_prefix = prefix + ' ' * 4
+ term_width = shutil.get_terminal_size().columns
+ doc_text = textwrap.fill(attr.yaml['doc'], width=term_width,
+ initial_indent=doc_prefix,
+ subsequent_indent=doc_prefix)
attr_info += f"\n{doc_text}"
print(attr_info)