aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
Diffstat (limited to '')
l---------man-db1
-rw-r--r--man/Makefile18
-rwxr-xr-xman/colourised-less-for-man22
-rwxr-xr-xman/man (renamed from dmenu/man)5
4 files changed, 46 insertions, 0 deletions
diff --git a/man-db b/man-db
new file mode 120000
index 0000000..7dfdcf7
--- /dev/null
+++ b/man-db
@@ -0,0 +1 @@
+man \ No newline at end of file
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..726047c
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,18 @@
+.POSIX:
+
+install:
+ ../check-installed-shebang colourised-less-for-man
+ ../check-installed-shebang man
+ ../check-in-path dmenu
+ ../check-in-path sed
+ ../check-in-path isfg
+ ../check-in-path less
+ mkdir -p -- ~/.local/bin
+ ln -sf -- ~/.dotfiles/man/man ~/.local/bin/
+ ln -sf -- ~/.dotfiles/man/colourised-less-for-man ~/.local/bin/
+
+uninstall:
+ +! ../check-installed man
+ +! ../check-installed man-db
+ -unlink -- ~/.local/bin/man
+ -unlink -- ~/.local/bin/colourised-less-for-man
diff --git a/man/colourised-less-for-man b/man/colourised-less-for-man
new file mode 100755
index 0000000..e57fa18
--- /dev/null
+++ b/man/colourised-less-for-man
@@ -0,0 +1,22 @@
+#!/bin/dash
+
+colourise () {
+ if test -n "$2"; then
+ from="$(printf "$1"'\n' | sed 's/\[/\\[/g')"
+ to="$(printf '%s\n' "$2" | sed 's/\[/\\[/g')"
+ shift 2
+ sed "s/$from/$to/g" | "$@"
+ else
+ shift 2
+ "$@"
+ fi
+}
+
+sed 's/\x1B\[\(.\)m\x1B\[2\(.\)m/\x1B\[2\2m\x1B\[\1m/g' | \
+colourise "\033[4m" "${LESS_TERMCAP_us}" \
+colourise "\033[24m" "${LESS_TERMCAP_ue}" \
+colourise "\033[1m" "${LESS_TERMCAP_md}" \
+colourise "\033[22m" "${LESS_TERMCAP_me}" \
+colourise "\033[7m" "${LESS_TERMCAP_so}" \
+colourise "\033[27m" "${LESS_TERMCAP_se}" \
+less "$@"
diff --git a/dmenu/man b/man/man
index 1b29656..bcd9481 100755
--- a/dmenu/man
+++ b/man/man
@@ -26,6 +26,11 @@ else
fi
export LESS_TERMCAP_se="$(printf '\033[0m')"
+# The above stopped working
+if test -z "$MANPAGER"; then
+ export MANPAGER=colourised-less-for-man
+fi
+
# Display, open new terminal if in the background
if isfg; then