author | Mikael Berthe <mikael@lilotux.net> |
Sun, 15 Jul 2012 01:13:18 +0200 | |
changeset 7 | c032d39eafcf |
parent 0 | functions/zshrc_vcsinfo@7215ca490221 |
child 21 | 77f885aba914 |
permissions | -rw-r--r-- |
0
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
1 |
# |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
2 |
# MiKael, 2012-07-10 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
3 |
# Sources: |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
4 |
# https://github.com/whiteinge/dotfiles/blob/master/.zsh_shouse_prompt |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
5 |
# http://git.rolinh.ch/index.php?p=dotfiles.git |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
6 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
7 |
# {{{ |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
8 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
9 |
autoload -Uz vcs_info |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
10 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
11 |
zstyle ':vcs_info:*' enable git hg |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
12 |
zstyle ':vcs_info:(hg*|git*):*' get-revision true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
13 |
zstyle ':vcs_info:(hg*|git*):*' check-for-changes true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
14 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
15 |
zstyle ':vcs_info:hg*' formats "(%B%s%{${reset_color}%})[%i%u %b %m]" # rev+changes branch misc |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
16 |
#zstyle ':vcs_info:hg*' actionformats "(%s|%{$fg[red]%}%a%{$fg[white]%})[%i%u %b %m]" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
17 |
zstyle ':vcs_info:hg*' actionformats "%{$fg[red]%}%a %{${reset_color}%}[%i%u %{$fg[blue]%}%b%{${reset_color}%}%m]" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
18 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
19 |
zstyle ':vcs_info:hg*:*' get-bookmarks true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
20 |
zstyle ':vcs_info:hg*:*' get-mq true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
21 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
22 |
zstyle ':vcs_info:hg*:*' get-unapplied true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
23 |
zstyle ':vcs_info:hg*:*' patch-format "mq(%g):%n/%c %p" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
24 |
zstyle ':vcs_info:hg*:*' nopatch-format "mq(%g):%n/%c %p" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
25 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
26 |
zstyle ':vcs_info:hg*:*' unstagedstr "%{$fg_bold[red]%}+%{${reset_color}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
27 |
zstyle ':vcs_info:hg*:*' hgrevformat "%r" # only show local rev. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
28 |
zstyle ':vcs_info:hg*:*' branchformat "%b" # only show branch |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
29 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
30 |
zstyle ':vcs_info:git*' formats "(%B%s%{${reset_color}%}) %12.12i %c%u %b%m" # hash changes branch misc |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
31 |
#zstyle ':vcs_info:git*' formats "%c%u %b%m" # hash changes branch misc |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
32 |
zstyle ':vcs_info:git*' actionformats "(%s|%{$fg[white]%}%a) %12.12i %c%u %b%m" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
33 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
34 |
zstyle ':vcs_info:git*:*' stagedstr "%{$fg[green]%}S%{${reset_color}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
35 |
zstyle ':vcs_info:git*:*' unstagedstr "%{$fg[red]%}U%{${reset_color}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
36 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
37 |
# zstyle ':vcs_info:hg:*:-all-' command fakehg |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
38 |
# zstyle ':vcs_info:*+*:*' debug true |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
39 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
40 |
zstyle ':vcs_info:hg*+set-hgrev-format:*' hooks hg-hashfallback |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
41 |
zstyle ':vcs_info:hg*+set-message:*' hooks mq-vcs |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
42 |
#zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
43 |
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked git-st |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
44 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
45 |
### Dynamically set hgrevformat based on if the local rev is available |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
46 |
# We don't always know the local revision, e.g. if use-simple is set |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
47 |
# Truncate long hash to 12-chars but also allow for multiple parents |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
48 |
function +vi-hg-hashfallback() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
49 |
if [[ -z ${hook_com[localrev]} ]] ; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
50 |
local -a parents |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
51 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
52 |
parents=( ${(s:+:)hook_com[hash]} ) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
53 |
parents=( ${(@r:12:)parents} ) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
54 |
hook_com[rev-replace]="${(j:+:)parents}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
55 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
56 |
ret=1 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
57 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
58 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
59 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
60 |
### Show when mq itself is under version control |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
61 |
function +vi-mq-vcs() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
62 |
# if [[ -d ${hook_com[base]}/.hg/patches/.hg ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
63 |
# hook_com[hg-mqpatch-string]="mq:${hook_com[hg-mqpatch-string]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
64 |
# fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
65 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
66 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
67 |
# Show remote ref name and number of commits ahead-of or behind |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
68 |
function +vi-git-st() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
69 |
local ahead behind remote |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
70 |
local -a gitstatus |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
71 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
72 |
# Are we on a remote-tracking branch? |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
73 |
remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} \ |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
74 |
--symbolic-full-name --abbrev-ref 2>/dev/null)} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
75 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
76 |
if [[ -n ${remote} ]] ; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
77 |
# for git prior to 1.7 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
78 |
# ahead=$(git rev-list origin/${hook_com[branch]}..HEAD | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
79 |
ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
80 |
(( $ahead )) && gitstatus+=( "%{$fg[green]%}+${ahead}%{${reset_color}%}" ) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
81 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
82 |
# for git prior to 1.7 |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
83 |
# behind=$(git rev-list HEAD..origin/${hook_com[branch]} | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
84 |
behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
85 |
(( $behind )) && gitstatus+=( "%{$fg[red]%}-${behind}%{${reset_color}%}" ) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
86 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
87 |
#hook_com[branch]="${hook_com[branch]} [${remote} ${(j:/:)gitstatus}]" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
88 |
hook_com[branch]="[%{$fg[blue]%}${hook_com[branch]}%{${reset_color}%}]" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
89 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
90 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
91 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
92 |
# Show count of stashed changes |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
93 |
function +vi-git-stash() { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
94 |
local -a stashes |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
95 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
96 |
if [[ -s ${hook_com[base]}/.git/refs/stash ]] ; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
97 |
stashes=$(git stash list 2>/dev/null | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
98 |
#hook_com[misc]+=" (${stashes} stashed)" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
99 |
hook_com[misc]+="(%{$fg[red]%}${stashes} %{${reset_color}%}stashed)" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
100 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
101 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
102 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
103 |
# Show count of untracked files |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
104 |
function +vi-git-untracked(){ |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
105 |
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \ |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
106 |
git status --porcelain | grep '??' &> /dev/null ; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
107 |
# This will show the marker if there are any untracked files in repo. |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
108 |
# If instead you want to show the marker only if there are untracked |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
109 |
# files in $PWD, use: |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
110 |
#[[ -n $(git ls-files --others --exclude-standard) ]] ; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
111 |
local nb_untracked=$(git status --porcelain | grep "\? \?" | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
112 |
local nb_up=$(git status --porcelain | grep "M" | wc -l) |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
113 |
hook_com[staged]+="%{${reset_color}%}$nb_untracked%{$fg[red]%}N %{${reset_color}%}$nb_up" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
114 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
115 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
116 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
117 |
# }}} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
118 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
119 |
# {{{ Prompts |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
120 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
121 |
setopt transient_rprompt |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
122 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
123 |
# Others prompts |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
124 |
PS2="%{$fg_no_bold[yellow]%}%_>%{${reset_color}%} " |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
125 |
PS3="%{$fg_no_bold[yellow]%}?#%{${reset_color}%} " |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
126 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
127 |
# }}} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
128 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
129 |
# {{{ precmd() |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
130 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
131 |
function __precmd_vcsinfo { |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
132 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
133 |
vcs_info |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
134 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
135 |
local deco="%{${fg_no_bold[white]}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
136 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
137 |
if [[ -O "$PWD" ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
138 |
local path_color="${fg_no_bold[magenta]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
139 |
elif [[ -w "$PWD" ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
140 |
local path_color="${fg_no_bold[blue]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
141 |
else |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
142 |
local path_color="${fg_bold[red]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
143 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
144 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
145 |
if [[ $UID -eq 0 ]]; then |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
146 |
local user_color="${fg_bold[red]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
147 |
else |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
148 |
local user_color="${fg_bold[default]}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
149 |
fi |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
150 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
151 |
local return_code="%(?..${deco}!%{${fg_bold[red]}%}%?${deco}! %{${reset_color}%})" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
152 |
#local cwd="%{${path_color}%}%32<...<%~" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
153 |
local cwd="%{${path_color}%}%~%{${reset_color}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
154 |
local sign="%(!.%{${fg_bold[red]}%}.${deco})%#" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
155 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
156 |
PS1="${cwd} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
157 |
${return_code}%D{%m%d %H:%M} [%B%n%b] %{%{$fg[red]%}%}%m%{${reset_color}%}${sign}%{${reset_color}%} " |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
158 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
159 |
# Prompt on the right, displayed when in a VCS repository |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
160 |
RPS1="${vcs_info_msg_0_}%{${reset_color}%}" |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
161 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
162 |
setopt prompt_subst |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
163 |
} |
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
164 |
|
7215ca490221
Re-import repository after cleanup from personal stuff (see description)
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
165 |
# }}} |