summaryrefslogtreecommitdiff
path: root/prompt
diff options
context:
space:
mode:
authorLeonid Volnitsky <Leonid@Volnitsky.com>2008-06-29 13:47:07 +0300
committerLeonid Volnitsky <Leonid@Volnitsky.com>2008-06-29 13:47:07 +0300
commit95afe1e8b78b79be319d04fae59d1b39d7b62bac (patch)
treeee1fb94277e15df1944d32d839c7f8200c92098f /prompt
parentcorrectly works inside .git/ (diff)
downloadgit-prompt-95afe1e8b78b79be319d04fae59d1b39d7b62bac.tar.gz
git-prompt-95afe1e8b78b79be319d04fae59d1b39d7b62bac.tar.bz2
git-prompt-95afe1e8b78b79be319d04fae59d1b39d7b62bac.zip
added VIM session detection
Diffstat (limited to 'prompt')
-rw-r--r--prompt19
1 files changed, 19 insertions, 0 deletions
diff --git a/prompt b/prompt
index e8f9217..56e0090 100644
--- a/prompt
+++ b/prompt
@@ -387,13 +387,32 @@ parse_vcs_dir() {
eval vcs_color="\${${status}_vcs_color}"
# no def: vcs_color=${vcs_color:-$WHITE} # default
+
+ ### VIM ( not yet works for multiple files )
+
+ unset vim_glob vim_file vim_files
+ old_nullglob=`shopt -p nullglob`
+ shopt -s nullglob
+ vim_glob=`echo .*.swp`
+ eval $old_nullglob
+
+ if [[ $vim_glob ]]; then
+ vim_file=${vim_glob#.}
+ vim_file=${vim_file%.swp}
+ # if swap is newer, then unsaved vim session
+ [[ .${vim_file}.swp -nt $vim_file ]] && vim_files=$vim_file
+ fi
+
+
### file list
unset file_list
file_list+=${added_files:+$added_vcs_color$added_files}
file_list+=${modified_files:+$modified_vcs_color$modified_files}
file_list+=${untracked_files:+$untracked_vcs_color$untracked_files}
+ file_list+=${vim_files:+ ${RED}VIM:$vim_files}
file_list=${file_list:+:$file_list}
+
tail_local="($vcs_info$vcs_color${file_list}$vcs_color)"
### fringes (added depended on location)