If not on the tip it's often useful to know where we are exactly. This commit brings this feature. If on the tip, then just the branch name is displayed, but if not, then it's displayed like that: `branchname@id`. |
||
|---|---|---|
| .. | ||
| mercurial.plugin.zsh | ||
| README.md | ||
Mercurial plugin
Usage
Update .zshrc:
-
Add name to the list of plugins, e.g.
plugins=(... mercurial ...)(that is pretty obvious). -
Switch to a theme which uses
hg_prompt_info.Or, customize the
$PROMPTvariable of your current theme to contain current folder mercurial repo info. This can be done by putting a custom version of the theme in$ZSH_CUSTOMor by changing$PROMPTin.zshrcafter loading the theme.The
robbyrusselltheme is used by default, so you need to modify$PROMPTvar by adding$(hg_prompt_info)after$(git_prompt_info), so it looks like this:PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(hg_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' -
Initialize additional vars used in plugin. So in short put next in .zshrc:
ZSH_THEME_HG_PROMPT_PREFIX="%{$fg_bold[magenta]%}hg:(%{$fg[red]%}" ZSH_THEME_HG_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_HG_PROMPT_DIRTY="%{$fg[magenta]%}) %{$fg[yellow]%}✗%{$reset_color%}" ZSH_THEME_HG_PROMPT_CLEAN="%{$fg[magenta]%})"
What's inside?
Adds handy aliases:
general
hgc-hg commithgb-hg branchhgba-hg brancheshgbk-hg bookmarkshgco-hg checkouthgd-hg diffhged-hg diffmerge
pull and update
hgi-hg incominghgl-hg pull -uhglr-hg pull --rebasehgo-hg outgoinghgp-hg pushhgs-hg statushgsl-hg log --limit 20 --template "{node|short} | {date|isodatesec} | {author|user}: {desc|strip|firstline}\n"
this is the 'git commit --amend' equivalent
hgca-hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip
list unresolved files (since hg does not list unmerged files in the status command)
hgun-hg resolve --list
Displays repo branch and directory status in prompt
This is the same as git plugin does.
Note: Additional changes to .zshrc, or using a theme designed to use hg_prompt_info, are required in order for this to work.
Mantainers
ptrv - original creator
oshybystyi - created this README and know how most of code works