From ccf94b7df09799feb201d1a59928932fda4e24f4 Mon Sep 17 00:00:00 2001 From: David Runge Date: Fri, 31 Oct 2014 18:30:03 +0100 Subject: zsh: Adding config files for zprezto, zsh settings and prompts, to comply with the way zprezto gets started --- .zsh.prompts/prompt_steeef_simplified_setup | 98 +++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .zsh.prompts/prompt_steeef_simplified_setup (limited to '.zsh.prompts/prompt_steeef_simplified_setup') diff --git a/.zsh.prompts/prompt_steeef_simplified_setup b/.zsh.prompts/prompt_steeef_simplified_setup new file mode 100644 index 0000000..14b16da --- /dev/null +++ b/.zsh.prompts/prompt_steeef_simplified_setup @@ -0,0 +1,98 @@ +# +# A theme based on Steve Losh's Extravagant Prompt with vcs_info integration. +# +# Authors: +# Steve Losh +# Bart Trojanowski +# Brian Carper +# steeef_simplified +# Sorin Ionescu +# +# Screenshots: +# http://i.imgur.com/HyRvv.png +# + +function prompt_steeef_simplified_precmd { + # Check for untracked files or updated submodules since vcs_info does not. + if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then + branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c${_prompt_steeef_simplified_colors[4]}●%f)" + else + branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c)" + fi + + zstyle ':vcs_info:*:prompt:*' formats "${branch_format}" + + vcs_info 'prompt' + + if (( $+functions[python-info] )); then + python-info + fi + + # Get ruby information + if (( $+functions[ruby-info] )); then + ruby-info + fi +} + +function prompt_steeef_simplified_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_steeef_simplified_precmd + + # Use extended color pallete if available. + if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then + _prompt_steeef_simplified_colors=( + "%F{81}" # Turquoise + "%F{166}" # Orange + "%F{135}" # Purple + "%F{161}" # Hotpink + "%F{118}" # Limegreen + ) + else + _prompt_steeef_simplified_colors=( + "%F{cyan}" + "%F{yellow}" + "%F{magenta}" + "%F{red}" + "%F{green}" + ) + fi + + # Formats: + # %b - branchname + # %u - unstagedstr (see below) + # %c - stagedstr (see below) + # %a - action (e.g. rebase-i) + # %R - repository path + # %S - path in the repository + local branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c)" + local action_format="(${_prompt_steeef_simplified_colors[5]}%a%f)" + local unstaged_format="${_prompt_steeef_simplified_colors[2]}●%f" + local staged_format="${_prompt_steeef_simplified_colors[5]}●%f" + + # Set vcs_info parameters. + zstyle ':vcs_info:*' enable bzr git hg svn + zstyle ':vcs_info:*:prompt:*' check-for-changes true + zstyle ':vcs_info:*:prompt:*' unstagedstr "${unstaged_format}" + zstyle ':vcs_info:*:prompt:*' stagedstr "${staged_format}" + zstyle ':vcs_info:*:prompt:*' actionformats "${branch_format}${action_format}" + zstyle ':vcs_info:*:prompt:*' formats "${branch_format}" + zstyle ':vcs_info:*:prompt:*' nvcsformats "" + + # Set python-info parameters. + zstyle ':prezto:module:python:info:virtualenv' format '(%v)' + + # Define prompts. + PROMPT="${_prompt_steeef_simplified_colors[3]}%n%f@${_prompt_steeef_simplified_colors[2]}%m%f ${_prompt_steeef_simplified_colors[5]}%~%f "'${vcs_info_msg_0_}'"$ " + RPROMPT='%F{blue}${ruby_info[version]}' +} + +prompt_steeef_simplified_setup "$@" + -- cgit v1.2.3-70-g09d2