diff options
Diffstat (limited to 'plugins/mercurial')
| -rw-r--r-- | plugins/mercurial/README.md | 3 | ||||
| -rw-r--r-- | plugins/mercurial/mercurial.plugin.zsh | 35 | 
2 files changed, 24 insertions, 14 deletions
diff --git a/plugins/mercurial/README.md b/plugins/mercurial/README.md index 80ea2de31..756964896 100644 --- a/plugins/mercurial/README.md +++ b/plugins/mercurial/README.md @@ -30,7 +30,8 @@ plugins=(... mercurial)  | `hgl`  | `hg pull -u`                                                                                                |  | `hglr` | `hg pull --rebase`                                                                                          |  | `hgo`  | `hg outgoing`                                                                                               | - +| `hglg` | `hg log --stat -v`                                                                                          | +| `hglgp`| `hg log --stat -p -v`                                                                                       |  ## Prompt usage  - Switch to a theme which uses `hg_prompt_info` diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh index f13430476..e098664c0 100644 --- a/plugins/mercurial/mercurial.plugin.zsh +++ b/plugins/mercurial/mercurial.plugin.zsh @@ -17,39 +17,42 @@ alias hgi='hg incoming'  alias hgl='hg pull -u'  alias hglr='hg pull --rebase'  alias hgo='hg outgoing' +alias hglg='hg log --stat -v' +alias hglgp='hg log --stat  -p -v'  function in_hg() { -  if [[ -d .hg ]] || $(hg summary > /dev/null 2>&1); then +  if $(hg branch > /dev/null 2>&1); then      echo 1    fi  }  function hg_get_branch_name() { -  if [ $(in_hg) ]; then -    echo $(hg branch) +  branch=`hg branch 2>/dev/null` +  if [ $? -eq 0 ]; then +    echo $branch    fi +  unset branch  }  function hg_prompt_info { -  if [ $(in_hg) ]; then -    _DISPLAY=$(hg_get_branch_name) +  _DISPLAY=`hg branch 2>/dev/null` +  if [ $? -eq 0 ]; then      echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_HG_PROMPT_PREFIX\  $ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_PROMPT_BASE_COLOR$(hg_dirty)$ZSH_THEME_HG_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR" -    unset _DISPLAY    fi +  unset _DISPLAY  }  function hg_dirty_choose { -  if [ $(in_hg) ]; then -    hg status 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]' +  hg status -mar 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]' +  if [ $? -eq 0 ]; then      if [ $pipestatus[-1] -eq 0 ]; then        # Grep exits with 0 when "One or more lines were selected", return "dirty".        echo $1 -    else -      # Otherwise, no lines were found, or an error occurred. Return clean. -      echo $2 +      return      fi    fi +  echo $2  }  function hg_dirty { @@ -57,9 +60,15 @@ function hg_dirty {  }  function hgic() { -    hg incoming "$@" | grep "changeset" | wc -l +  hg incoming "$@" | grep "changeset" | wc -l  }  function hgoc() { -    hg outgoing "$@" | grep "changeset" | wc -l +  hg outgoing "$@" | grep "changeset" | wc -l +} + +function hg_get_bookmark_name() { +  if [ $(in_hg) ]; then +    echo $(hg id -B) +  fi  }  | 
