Blame view

themes/josh.zsh-theme 1.13 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
  grey='\e[0;90m'
  
  ZSH_THEME_GIT_PROMPT_PREFIX="%{$grey%}("
  ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
  ZSH_THEME_GIT_PROMPT_DIRTY="%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}"
  ZSH_THEME_GIT_PROMPT_CLEAN="%{$grey%})"
  
  function josh_prompt {
    (( spare_width = ${COLUMNS} ))
    prompt=" "
61aaa7b58   mj   Squashed 'repos/r...
11
    branch=$(git_current_branch)
093a6c34b   mj   Squashed 'repos/r...
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    ruby_version=$(rvm_prompt_info || rbenv_prompt_info)
    path_size=${#PWD}
    branch_size=${#branch}
    ruby_size=${#ruby_version}
    user_machine_size=${#${(%):-%n@%m-}}
    
    if [[ ${#branch} -eq 0 ]]
      then (( ruby_size = ruby_size + 1 ))
    else
      (( branch_size = branch_size + 4 ))
      if [[ -n $(git status -s 2> /dev/null) ]]; then
        (( branch_size = branch_size + 2 ))
      fi
    fi
    
    (( spare_width = ${spare_width} - (${user_machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) ))
  
    while [ ${#prompt} -lt $spare_width ]; do
      prompt=" $prompt"
    done
    
61aaa7b58   mj   Squashed 'repos/r...
33
    prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info || rbenv_prompt_info)%{$reset_color%} $(git_current_branch)"
093a6c34b   mj   Squashed 'repos/r...
34
35
36
37
38
39
40
41
42
    
    echo $prompt
  }
  
  setopt prompt_subst
  
  PROMPT='
  %n@%m $(josh_prompt)
  %(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} '