1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # Requires colors autoload.
- # See termcap(5).
- # Set up once, and then reuse. This way it supports user overrides after the
- # plugin is loaded.
- typeset -AHg less_termcap
- # bold & blinking mode
- less_termcap[mb]="${fg_bold[red]}"
- less_termcap[md]="${fg_bold[red]}"
- less_termcap[me]="${reset_color}"
- # standout mode
- less_termcap[so]="${fg_bold[yellow]}${bg[blue]}"
- less_termcap[se]="${reset_color}"
- # underlining
- less_termcap[us]="${fg_bold[green]}"
- less_termcap[ue]="${reset_color}"
- # Handle $0 according to the standard:
- # https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
- 0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
- 0="${${(M)0:#/*}:-$PWD/$0}"
- # Absolute path to this file's directory.
- typeset -g __colored_man_pages_dir="${0:A:h}"
- function colored() {
- local -a environment
- # Convert associative array to plain array of NAME=VALUE items.
- local k v
- for k v in "${(@kv)less_termcap}"; do
- environment+=( "LESS_TERMCAP_${k}=${v}" )
- done
- # Prefer `less` whenever available, since we specifically configured
- # environment for it.
- environment+=( PAGER="${commands[less]:-$PAGER}" )
- # See ./nroff script.
- if [[ "$OSTYPE" = solaris* ]]; then
- environment+=( PATH="${__colored_man_pages_dir}:$PATH" )
- fi
- command env $environment "$@"
- }
- # Colorize man and dman/debman (from debian-goodies)
- function man \
- dman \
- debman {
- colored $0 "$@"
- }
|