summaryrefslogtreecommitdiff
path: root/plugins/colored-man-pages
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/colored-man-pages')
-rw-r--r--plugins/colored-man-pages/README.md15
-rw-r--r--plugins/colored-man-pages/colored-man-pages.plugin.zsh36
2 files changed, 51 insertions, 0 deletions
diff --git a/plugins/colored-man-pages/README.md b/plugins/colored-man-pages/README.md
new file mode 100644
index 000000000..d9f6acb2a
--- /dev/null
+++ b/plugins/colored-man-pages/README.md
@@ -0,0 +1,15 @@
+# Colored man pages plugin
+
+This plugin adds colors to man pages.
+
+To use it, add `colored-man-pages` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... colored-man-pages)
+```
+
+You can also try to color other pages by prefixing the respective command with `colored`:
+
+```zsh
+colored git help clone
+```
diff --git a/plugins/colored-man-pages/colored-man-pages.plugin.zsh b/plugins/colored-man-pages/colored-man-pages.plugin.zsh
new file mode 100644
index 000000000..f74105d40
--- /dev/null
+++ b/plugins/colored-man-pages/colored-man-pages.plugin.zsh
@@ -0,0 +1,36 @@
+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 colored() {
+ command env \
+ LESS_TERMCAP_mb=$(printf "\e[1;31m") \
+ LESS_TERMCAP_md=$(printf "\e[1;31m") \
+ LESS_TERMCAP_me=$(printf "\e[0m") \
+ LESS_TERMCAP_se=$(printf "\e[0m") \
+ LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
+ LESS_TERMCAP_ue=$(printf "\e[0m") \
+ LESS_TERMCAP_us=$(printf "\e[1;32m") \
+ PAGER="${commands[less]:-$PAGER}" \
+ _NROFF_U=1 \
+ PATH="$HOME/bin:$PATH" \
+ "$@"
+}
+
+function man() {
+ colored man "$@"
+}