Merge pull request #21 from dritter/dritter/mercurial_show_bookmark

Mercurial: show bookmark in `vcs` segment.
This commit is contained in:
Ben Hilburn 2015-04-05 13:04:32 -07:00
commit fb7f009769
2 changed files with 16 additions and 0 deletions

View File

@ -17,6 +17,7 @@ information in configurable prompt segments.
* being behind / ahead of your remote by some number of commits
* number of stashes (git only)
* conditionally shows remote tracking branch if the name differs from local
* current active bookmark (mercurial only)
* various working tree statuses (e.g., unstaged, staged, etc.,)
* Shows return-code of the last command if it is an error code
* Indicates background jobs with a gear icon
@ -150,6 +151,7 @@ The `vcs` segment uses various symbols to tell you the state of your repository:
* `✚` - There are staged changes in your working copy
* `?` - There are files in your working copy, that are unknown to your repository
* `→` - The name of your branch differs from its tracking branch.
* `☿` - A mercurial bookmark is active.
### Styling

View File

@ -104,6 +104,8 @@ zstyle ':vcs_info:git*+set-message:*' hooks git-untracked git-aheadbehind git-st
zstyle ':vcs_info:hg*:*' branchformat "%b"
# The `get-revision` function must be turned on for dirty-check to work for Hg
zstyle ':vcs_info:hg*:*' get-revision true
zstyle ':vcs_info:hg*:*' get-bookmarks true
zstyle ':vcs_info:hg*+gen-hg-bookmark-string:*' hooks hg-bookmarks
if [[ "$POWERLEVEL9K_SHOW_CHANGESET" == true ]]; then
zstyle ':vcs_info:*' get-revision true
@ -236,6 +238,18 @@ function +vi-git-stash() {
fi
}
function +vi-hg-bookmarks() {
if [[ -n "${hgbmarks[@]}" ]]; then
hook_com[hg-bookmark-string]=" ☿ ${hgbmarks[@]}"
# And to signal, that we want to use the sting we just generated,
# set the special variable `ret' to something other than the default
# zero:
ret=1
return 0
fi
}
function +vi-vcs-detect-changes() {
if [[ -n ${hook_com[staged]} ]] || [[ -n ${hook_com[unstaged]} ]]; then
VCS_WORKDIR_DIRTY=true