Add a new function to get the current mercurial bookmark which can be used in the theme prompts for example.
Mercurial plugin
This plugin adds some handy aliases for using Mercurial as well as a few utility and prompt functions that can be used in a theme.
To use it, add mercurial to the plugins array in your zshrc file:
plugins=(... mercurial)
Aliases
| Alias | Command |
|---|---|
hga |
hg add |
hgc |
hg commit |
hgca |
hg commit --amend |
hgb |
hg branch |
hgba |
hg branches |
hgbk |
hg bookmarks |
hgco |
hg checkout |
hgd |
hg diff |
hged |
hg diffmerge |
hgp |
hg push |
hgs |
hg status |
hgsl |
`hg log --limit 20 --template "{node |
hgun |
hg resolve --list |
hgi |
hg incoming |
hgl |
hg pull -u |
hglr |
hg pull --rebase |
hgo |
hg outgoing |
Prompt usage
-
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.For example, for the
robbyrusselltheme 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%}'
You can also redefine additional vars used in the plugin (after Oh My Zsh is sourced):
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]%})"
Display 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