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.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#
 | 
						|
# A simple theme inspired by the Sorin and PeepCode themes.
 | 
						|
#
 | 
						|
# Authors:
 | 
						|
#   Daniel Møller Kristensen <damoekri@icloud.com>
 | 
						|
#
 | 
						|
# Screenshots:
 | 
						|
#   http://i.imgur.com/AX9HnPF.png
 | 
						|
#
 | 
						|
 | 
						|
# Load dependencies.
 | 
						|
pmodload 'helper'
 | 
						|
 | 
						|
prompt_damoekri_precmd() {
 | 
						|
  setopt LOCAL_OPTIONS
 | 
						|
  unsetopt XTRACE KSH_ARRAYS
 | 
						|
 | 
						|
  # Format PWD.
 | 
						|
  _prompt_damoekri_pwd=$(prompt-pwd)
 | 
						|
 | 
						|
  # Get Git repository information.
 | 
						|
  if (( $+functions[git-info] )); then
 | 
						|
    git-info
 | 
						|
  fi
 | 
						|
 | 
						|
  # Get Ruby version information.
 | 
						|
  if (( $+functions[ruby-info] )); then
 | 
						|
    ruby-info
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
function prompt_damoekri_setup {
 | 
						|
  setopt LOCAL_OPTIONS
 | 
						|
  unsetopt XTRACE KSH_ARRAYS
 | 
						|
  prompt_opts=(cr percent sp subst)
 | 
						|
 | 
						|
  # Load required functions.
 | 
						|
  autoload -Uz add-zsh-hook
 | 
						|
 | 
						|
  # Add hook for calling git-info and ruby-info before each command.
 | 
						|
  add-zsh-hook precmd prompt_damoekri_precmd
 | 
						|
 | 
						|
  # Tell prezto we can manage this prompt
 | 
						|
  zstyle ':prezto:module:prompt' managed 'yes'
 | 
						|
 | 
						|
  # Set editor-info parameters.
 | 
						|
  zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f'
 | 
						|
 | 
						|
  # Set git-info parameters.
 | 
						|
  zstyle ':prezto:module:git:info' verbose 'yes'
 | 
						|
  zstyle ':prezto:module:git:info:action' format ':%F{magenta}%s%f'
 | 
						|
  zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f'
 | 
						|
  zstyle ':prezto:module:git:info:clean' format ' %F{green}✔%f'
 | 
						|
  zstyle ':prezto:module:git:info:dirty' format ' %F{red}✗%f'
 | 
						|
  zstyle ':prezto:module:git:info:commit' format '%F{blue}%.7c%f'
 | 
						|
  zstyle ':prezto:module:git:info:position' format '%F{blue}%p%f'
 | 
						|
  zstyle ':prezto:module:git:info:keys' format \
 | 
						|
    'rprompt' ' $(coalesce "%b" "%p" "%c")%s%C%D'
 | 
						|
 | 
						|
  # Set ruby-info parameters.
 | 
						|
  zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f'
 | 
						|
 | 
						|
  # Define prompts.
 | 
						|
  PROMPT='%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} '
 | 
						|
  RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}'
 | 
						|
}
 | 
						|
 | 
						|
prompt_damoekri_setup "$@"
 | 
						|
# vim: ft=zsh
 |