Blame view

themes/ys.zsh-theme 2.05 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  # Clean, simple, compatible and meaningful.
  # Tested on Linux, Unix and Windows under ANSI colors.
  # It is recommended to use with a dark background and the font Inconsolata.
  # Colors: black, red, green, yellow, *blue, magenta, cyan, and white.
  # 
  # http://ysmood.org/wp/2013/03/my-ys-terminal-theme/
  # Mar 2013 ys
  
  # Machine name.
  function box_name {
      [ -f ~/.box-name ] && cat ~/.box-name || echo $HOST
  }
  
  # Directory info.
  local current_dir='${PWD/#$HOME/~}'
56a5793ce   mj   Squashed 'repos/r...
16
17
18
19
20
21
  # VCS
  YS_VCS_PROMPT_PREFIX1=" %{$fg[white]%}on%{$reset_color%} "
  YS_VCS_PROMPT_PREFIX2=":%{$fg[cyan]%}"
  YS_VCS_PROMPT_SUFFIX="%{$reset_color%}"
  YS_VCS_PROMPT_DIRTY=" %{$fg[red]%}x"
  YS_VCS_PROMPT_CLEAN=" %{$fg[green]%}o"
093a6c34b   mj   Squashed 'repos/r...
22
23
  # Git info.
  local git_info='$(git_prompt_info)'
56a5793ce   mj   Squashed 'repos/r...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  ZSH_THEME_GIT_PROMPT_PREFIX="${YS_VCS_PROMPT_PREFIX1}git${YS_VCS_PROMPT_PREFIX2}"
  ZSH_THEME_GIT_PROMPT_SUFFIX="$YS_VCS_PROMPT_SUFFIX"
  ZSH_THEME_GIT_PROMPT_DIRTY="$YS_VCS_PROMPT_DIRTY"
  ZSH_THEME_GIT_PROMPT_CLEAN="$YS_VCS_PROMPT_CLEAN"
  
  # HG info
  local hg_info='$(ys_hg_prompt_info)'
  ys_hg_prompt_info() {
  	# make sure this is a hg dir
  	if [ -d '.hg' ]; then
  		echo -n "${YS_VCS_PROMPT_PREFIX1}hg${YS_VCS_PROMPT_PREFIX2}"
  		echo -n $(hg branch 2>/dev/null)
  		if [ -n "$(hg status 2>/dev/null)" ]; then
  			echo -n "$YS_VCS_PROMPT_DIRTY"
  		else
  			echo -n "$YS_VCS_PROMPT_CLEAN"
  		fi
  		echo -n "$YS_VCS_PROMPT_SUFFIX"
  	fi
  }
093a6c34b   mj   Squashed 'repos/r...
44
45
46
47
48
49
50
51
52
53
54
  
  # Prompt format: 
   # USER at MACHINE in DIRECTORY on git:BRANCH STATE [TIME] 
   $ 
  PROMPT="
  %{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \
  %{$fg[cyan]%}%n \
  %{$fg[white]%}at \
  %{$fg[green]%}$(box_name) \
  %{$fg[white]%}in \
  %{$terminfo[bold]$fg[yellow]%}${current_dir}%{$reset_color%}\
56a5793ce   mj   Squashed 'repos/r...
55
  ${hg_info}\
093a6c34b   mj   Squashed 'repos/r...
56
57
58
59
60
61
62
63
64
65
66
67
  ${git_info} \
  %{$fg[white]%}[%*]
  %{$terminfo[bold]$fg[red]%}$ %{$reset_color%}"
  
  if [[ "$USER" == "root" ]]; then
  PROMPT="
  %{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \
  %{$bg[yellow]%}%{$fg[cyan]%}%n%{$reset_color%} \
  %{$fg[white]%}at \
  %{$fg[green]%}$(box_name) \
  %{$fg[white]%}in \
  %{$terminfo[bold]$fg[yellow]%}${current_dir}%{$reset_color%}\
56a5793ce   mj   Squashed 'repos/r...
68
  ${hg_info}\
093a6c34b   mj   Squashed 'repos/r...
69
70
71
72
  ${git_info} \
  %{$fg[white]%}[%*]
  %{$terminfo[bold]$fg[red]%}$ %{$reset_color%}"
  fi