]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
doc: viewman: a new helper to quickly view formatted man pages
authorPádraig Brady <P@draigBrady.com>
Tue, 30 Dec 2025 14:37:45 +0000 (14:37 +0000)
committerPádraig Brady <P@draigBrady.com>
Wed, 21 Jan 2026 13:51:39 +0000 (13:51 +0000)
Use like: man/viewman ls

* man/viewman: Generate man page on the fly, and view.

man/viewman [new file with mode: 0755]

diff --git a/man/viewman b/man/viewman
new file mode 100755 (executable)
index 0000000..7fb8fed
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# Generate and view man page with less, for passed command name
+
+# Note to get man to behave like this you can also:
+# export MANROFFOPT=-P-i
+# export LESS=-R
+# export MANPAGER=less
+
+unset GROFF_NO_SGR
+unset HELP_NO_MARKUP
+
+hdir=$(dirname "$0")
+
+CONFIG_HEADER="$hdir"/../lib/config.h
+
+grep '^#define BOLD_MAN_REFS 1' $CONFIG_HEADER > /dev/null &&
+  BOLD_REFS=--bold-refs
+
+man="$1"; cmd="$1"
+test "$1" = 'test' && cmd='['
+test "$1" = '[' && man='test'
+test "$1" = 'install' && cmd='ginstall'
+test "$1" = 'ginstall' && man='install'
+
+"$hdir"/help2man \
+  --include="$hdir"/../man/$man.x \
+  $BOLD_REFS \
+  --loose-indent \
+  "$hdir"/../src/$cmd |
+preconv | # convert utf-8 chars like in Author names to groff compat
+groff -Tutf8 -man -P-i -rLL=${MANWIDTH:-$COLUMNS}n |
+less -R