mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# 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}" )
 | 
						|
  environment+=( GROFF_NO_SGR=1 )
 | 
						|
 | 
						|
  # 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 "$@"
 | 
						|
}
 |