Daniel Møller Kristensen
12 years ago
committed by
Sorin Ionescu
1 changed files with 76 additions and 0 deletions
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
# |
||||
# 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' |
||||
|
||||
function prompt_damoekri_pwd { |
||||
local pwd="${PWD/#$HOME/~}" |
||||
|
||||
if [[ "$pwd" == (#m)[/~] ]]; then |
||||
_prompt_damoekri_pwd="$MATCH" |
||||
unset MATCH |
||||
else |
||||
_prompt_damoekri_pwd="${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}/${pwd:t}" |
||||
fi |
||||
} |
||||
|
||||
function prompt_damoekri_precmd { |
||||
setopt LOCAL_OPTIONS |
||||
unsetopt XTRACE KSH_ARRAYS |
||||
|
||||
# Format PWD. |
||||
prompt_damoekri_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 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 |
||||
|
||||
# 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 "$@" |
Loading…
Reference in new issue