mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 07:29:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						||
# A simple theme that displays only relevant information.
 | 
						||
#
 | 
						||
# Authors:
 | 
						||
#   Julien Nicoulaud <julien.nicoulaud@gmail.com>
 | 
						||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
						||
#
 | 
						||
# Features:
 | 
						||
#   - One line.
 | 
						||
#   - VCS information in the right prompt.
 | 
						||
#   - Only shows the path on the left prompt by default.
 | 
						||
#   - Crops the path to a defined length and only shows the path relative to
 | 
						||
#     the current VCS repository root.
 | 
						||
#   - Uses a different color depending on if the last command succeeded/failed.
 | 
						||
#   - Shows user@hostname if connected through SSH.
 | 
						||
#   - Shows if logged in as root or not.
 | 
						||
#
 | 
						||
# Screenshots:
 | 
						||
#   http://i.imgur.com/Xe1bu.png
 | 
						||
#
 | 
						||
 | 
						||
function prompt_nicoulaj_precmd {
 | 
						||
  vcs_info
 | 
						||
}
 | 
						||
 | 
						||
function prompt_nicoulaj_setup {
 | 
						||
  setopt LOCAL_OPTIONS
 | 
						||
  unsetopt XTRACE KSH_ARRAYS
 | 
						||
  prompt_opts=(cr percent subst)
 | 
						||
 | 
						||
  # Load required functions.
 | 
						||
  autoload -Uz add-zsh-hook
 | 
						||
  autoload -Uz vcs_info
 | 
						||
 | 
						||
  # Add hook for calling vcs_info before each command.
 | 
						||
  add-zsh-hook precmd prompt_nicoulaj_precmd
 | 
						||
 | 
						||
  # Customizable parameters.
 | 
						||
  local max_path_chars=30
 | 
						||
  local user_char='❯'
 | 
						||
  local root_char='❯❯❯'
 | 
						||
  local success_color='%F{071}'
 | 
						||
  local failure_color='%F{124}'
 | 
						||
  local vcs_info_color='%F{242}'
 | 
						||
 | 
						||
  # Set vcs_info parameters.
 | 
						||
  zstyle ':vcs_info:*' enable bzr git hg svn
 | 
						||
  zstyle ':vcs_info:*' check-for-changes true
 | 
						||
  zstyle ':vcs_info:*' unstagedstr '!'
 | 
						||
  zstyle ':vcs_info:*' stagedstr '+'
 | 
						||
  zstyle ':vcs_info:*' actionformats "%S" "%r/%s/%b %u%c (%a)"
 | 
						||
  zstyle ':vcs_info:*' formats "%S" "%r/%s/%b %u%c"
 | 
						||
  zstyle ':vcs_info:*' nvcsformats "%~" ""
 | 
						||
 | 
						||
  # Define prompts.
 | 
						||
  PROMPT="%(?.${success_color}.${failure_color})${SSH_TTY:+[%n@%m]}%B%${max_path_chars}<...<"'${vcs_info_msg_0_%%.}'"%<<%(!.${root_char}.${user_char})%b%f "
 | 
						||
  RPROMPT="${vcs_info_color}"'${vcs_info_msg_1_}'"%f"
 | 
						||
}
 | 
						||
 | 
						||
prompt_nicoulaj_setup "$@"
 | 
						||
 |