[prompt] fix gitster path to reflect git repo

allow optional parameter for short_pwd

Closes #41
This commit is contained in:
Cenk Gündoğan 2016-03-25 22:37:00 +01:00 committed by Adam Goldsmith
parent 3752992562
commit f1e697db6f
2 changed files with 6 additions and 12 deletions

View File

@ -1,8 +1,10 @@
# shortens the pwd for use in prompt # shortens the pwd for use in prompt
local current_dir="${PWD/#${HOME}/~}" local current_dir="${1:-${PWD}}"
local return_dir='~' local return_dir='~'
current_dir="${current_dir/#${HOME}/~}"
# if we aren't in ~ # if we aren't in ~
if [[ ${current_dir} != '~' ]]; then if [[ ${current_dir} != '~' ]]; then
return_dir="${${${${(@j:/:M)${(@s:/:)current_dir}##.#?}:h}%/}//\%/%%}/${${current_dir:t}//\%/%%}" return_dir="${${${${(@j:/:M)${(@s:/:)current_dir}##.#?}:h}%/}//\%/%%}/${${current_dir:t}//\%/%%}"

View File

@ -8,17 +8,9 @@ gst_get_status() {
} }
gst_get_pwd() { gst_get_pwd() {
git_root=${PWD} prompt_short_dir="$(short_pwd)"
while [[ ${git_root} != / && ! -e ${git_root}/.git ]]; do git_root="$(command git rev-parse --show-toplevel 2> /dev/null)" && \
git_root=${git_root:h} prompt_short_dir="${prompt_short_dir#${$(short_pwd $git_root):h}/}"
done
if [[ ${git_root} = / ]]; then
unset git_root
prompt_short_dir="$(short_pwd)"
else
parent=${git_root%\/*}
prompt_short_dir=${"$(short_pwd)"#${parent}/}
fi
print ${prompt_short_dir} print ${prompt_short_dir}
} }