mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 07:29:09 +00:00 
			
		
		
		
	This is a new variable that will need to be set on all new prompts and is not backwards compatible with custom prompts that are not prezto managed, but use prezto's editor-info functionality. Updated the README.md with additional information for themes.
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#
 | 
						|
# A simple theme that displays:
 | 
						|
#   - Python virtual environment.
 | 
						|
#   - Git branch.
 | 
						|
#   - Git state.
 | 
						|
#   - Last command exit state (smiley/X).
 | 
						|
#
 | 
						|
# Authors:
 | 
						|
#   Nadav Shatz <nadavshatz@gmail.com>
 | 
						|
#
 | 
						|
# Screenshots:
 | 
						|
#   http://i.imgur.com/ijycV6n.png
 | 
						|
#
 | 
						|
 | 
						|
# Load dependencies.
 | 
						|
pmodload 'helper'
 | 
						|
 | 
						|
function prompt_smiley_precmd {
 | 
						|
  unsetopt XTRACE KSH_ARRAYS
 | 
						|
 | 
						|
  # Get Git repository information.
 | 
						|
  if (( $+functions[git-info] )); then
 | 
						|
    git-info
 | 
						|
  fi
 | 
						|
 | 
						|
  # Get Python environment information.
 | 
						|
  if (( $+functions[python-info] )); then
 | 
						|
    python-info
 | 
						|
  fi
 | 
						|
 | 
						|
  # Get Ruby version information.
 | 
						|
  if (( $+functions[ruby-info] )); then
 | 
						|
    ruby-info
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
function prompt_smiley_setup {
 | 
						|
  unsetopt XTRACE KSH_ARRAYS
 | 
						|
  prompt_opts=(cr percent sp subst)
 | 
						|
 | 
						|
  # Add hook for calling git-info before each command.
 | 
						|
  add-zsh-hook precmd prompt_smiley_precmd
 | 
						|
 | 
						|
  # Tell prezto we can manage this prompt
 | 
						|
  zstyle ':prezto:module:prompt' managed 'yes'
 | 
						|
 | 
						|
  # Set editor-info parameters.
 | 
						|
  zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b'
 | 
						|
 | 
						|
  # Set python-info parameters.
 | 
						|
  zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f '
 | 
						|
 | 
						|
  # Set ruby-info parameters.
 | 
						|
  zstyle ':prezto:module:ruby:info:version' format '%F{yellow}[%v]%f '
 | 
						|
 | 
						|
  # Set git-info parameters.
 | 
						|
  zstyle ':prezto:module:git:info' verbose 'yes'
 | 
						|
  zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
 | 
						|
  zstyle ':prezto:module:git:info:dirty' format '%%B%F{red} ±%f%%b'
 | 
						|
  zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)'
 | 
						|
 | 
						|
  # Define prompts.
 | 
						|
  PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info:+${(e)git_info[prompt]}} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) '
 | 
						|
  RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}'
 | 
						|
  SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
 | 
						|
}
 | 
						|
 | 
						|
prompt_smiley_setup "$@"
 | 
						|
# vim: ft=zsh
 |