aboutsummaryrefslogtreecommitdiff
path: root/base/.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'base/.zsh')
-rw-r--r--base/.zsh/fancy-man.zsh39
1 files changed, 32 insertions, 7 deletions
diff --git a/base/.zsh/fancy-man.zsh b/base/.zsh/fancy-man.zsh
index 416b99c..05843dc 100644
--- a/base/.zsh/fancy-man.zsh
+++ b/base/.zsh/fancy-man.zsh
@@ -1,7 +1,32 @@
-export LESS_TERMCAP_mb=$'\E[01;31m'
-export LESS_TERMCAP_md=$'\E[01;34m'
-export LESS_TERMCAP_me=$'\E[0m'
-export LESS_TERMCAP_se=$'\E[0m' # end the info box
-export LESS_TERMCAP_so=$'\E[1;34m' # begin the info box
-export LESS_TERMCAP_ue=$'\E[0m'
-export LESS_TERMCAP_us=$'\E[4;37m'
+if [[ "$OSTYPE" = solaris* ]]
+then
+ if [[ ! -x "$HOME/.bin/nroff" ]]
+ then
+ mkdir -p "$HOME/.bin"
+ cat > "$HOME/.bin/nroff" <<EOF
+#!/bin/sh
+if [ -n "\$_NROFF_U" -a "\$1,\$2,\$3" = "-u0,-Tlp,-man" ]; then
+ shift
+ exec /usr/bin/nroff -u\$_NROFF_U "\$@"
+fi
+#-- Some other invocation of nroff
+exec /usr/bin/nroff "\$@"
+EOF
+chmod +x "$HOME/.bin/nroff"
+ fi
+fi
+
+function man {
+ env \
+ LESS_TERMCAP_mb=$(printf "\e[1;31m") \
+ LESS_TERMCAP_md=$(printf "\e[1;34m") \
+ LESS_TERMCAP_me=$(printf "\e[0m") \
+ LESS_TERMCAP_se=$(printf "\e[0m") \
+ LESS_TERMCAP_so=$(printf "\e[1;34m") \
+ LESS_TERMCAP_ue=$(printf "\e[0m") \
+ LESS_TERMCAP_us=$(printf "\e[4;37m") \
+ PAGER="${commands[less]:-$PAGER}" \
+ _NROFF_U=1 \
+ PATH="$HOME/.bin:$PATH" \
+ man "$@"
+}