contrib/zsh_completion
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 27 Oct 2007 16:27:55 +0400
changeset 5483 0c43f87baba3
parent 5309 e21644bbf01e
permissions -rw-r--r--
Fix file-changed-to-dir and dir-to-file commits (issue660). Allow adding to dirstate files that clash with previously existing but marked for removal. Protect from reintroducing clashes by revert. This change doesn't address related issues with update. Current workaround is to do "clean" update by manually removing conflicting files/dirs from working directory.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     1
#compdef hg
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     2
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     3
# Zsh completion script for mercurial.  Rename this file to _hg and copy
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     4
# it into your zsh function path (/usr/share/zsh/site-functions for
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     5
# instance)
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     6
#
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     7
# Copyright (C) 2005 Steve Borho
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
     8
# Copyright (C) 2006 Brendan Cully <brendan@kublai.com>
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
     9
#
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    10
# This is free software; you can redistribute it and/or modify it under
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    11
# the terms of the GNU General Public License as published by the Free
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    12
# Software Foundation; either version 2 of the License, or (at your
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    13
# option) any later version.
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    14
#
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    15
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
    16
local curcontext="$curcontext" state line
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    17
typeset -A _hg_cmd_globals
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    18
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    19
_hg() {
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    20
  local cmd _hg_root
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    21
  integer i=2
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    22
  _hg_cmd_globals=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    23
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    24
  while (( i < $#words ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    25
  do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    26
    case "$words[$i]" in
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    27
      -R|--repository)
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
    28
        eval _hg_root="$words[$i+1]"
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    29
        _hg_cmd_globals+=("$words[$i]" "$_hg_root")
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    30
        (( i += 2 ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    31
        continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    32
      ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    33
      -R*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    34
        _hg_cmd_globals+="$words[$i]"
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
    35
        eval _hg_root="${words[$i]#-R}"
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    36
       (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    37
       continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    38
      ;;
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    39
      --cwd|--config)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    40
        # pass along arguments to hg completer
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    41
        _hg_cmd_globals+=("$words[$i]" "$words[$i+1]")
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    42
        (( i += 2 ))
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    43
        continue
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
    44
      ;;
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    45
      -*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    46
        # skip option
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    47
        (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    48
        continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    49
      ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    50
    esac
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    51
    if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    52
    then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    53
      cmd="$words[$i]"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    54
      words[$i]=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    55
      (( CURRENT-- ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    56
    fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    57
    (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    58
  done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    59
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    60
  if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    61
  then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    62
    _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    63
    ':mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    64
    return
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    65
  fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    66
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    67
  # resolve abbreviations and aliases
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    68
  if ! (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    69
  then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    70
    local cmdexp
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    71
    (( $#_hg_cmd_list )) || _hg_get_commands
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    72
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    73
    cmdexp=$_hg_cmd_list[(r)${cmd}*]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    74
    if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    75
    then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    76
      # might be nice to rewrite the command line with the expansion
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    77
      cmd="$cmdexp"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    78
    fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    79
    if [[ -n $_hg_alias_list[$cmd] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    80
    then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    81
      cmd=$_hg_alias_list[$cmd]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    82
    fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    83
  fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    84
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    85
  curcontext="${curcontext%:*:*}:hg-${cmd}:"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    86
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    87
  zstyle -s ":completion:$curcontext:" cache-policy update_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    88
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    89
  if [[ -z "$update_policy" ]]
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    90
  then
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    91
    zstyle ":completion:$curcontext:" cache-policy _hg_cache_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    92
  fi
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
    93
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    94
  if (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    95
  then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
    96
    _hg_cmd_${cmd}
3597
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
    97
  else
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
    98
    # complete unknown commands normally
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
    99
    _arguments -s -w : $_hg_global_opts \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   100
      '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   101
  fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   102
}
3491
459e7cd943d4 zsh: complete according to the -R option if specified
Brendan Cully <brendan@kublai.com>
parents: 3490
diff changeset
   103
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   104
_hg_cache_policy() {
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   105
  typeset -a old
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   106
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   107
  # cache for a minute
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   108
  old=( "$1"(mm+10) )
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   109
  (( $#old )) && return 0
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   110
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   111
  return 1
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   112
}
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   113
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   114
_hg_get_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   115
  typeset -ga _hg_cmd_list
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   116
  typeset -gA _hg_alias_list
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   117
  local hline cmd cmdalias
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   118
  _call_program help hg --verbose help | while read -A hline
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   119
  do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   120
    cmd="$hline[1]"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   121
    case $cmd in
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   122
      *:)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   123
        cmd=${cmd%:}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   124
        _hg_cmd_list+=($cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   125
      ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   126
      *,)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   127
        cmd=${cmd%,}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   128
        _hg_cmd_list+=($cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   129
        integer i=2
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   130
        while (( i <= $#hline ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   131
        do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   132
          cmdalias=${hline[$i]%(:|,)}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   133
          _hg_cmd_list+=($cmdalias)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   134
          _hg_alias_list+=($cmdalias $cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   135
          (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   136
        done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   137
      ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   138
    esac
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   139
  done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   140
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   141
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   142
_hg_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   143
  (( $#_hg_cmd_list )) || _hg_get_commands
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
   144
  _describe -t commands 'mercurial command' _hg_cmd_list
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   145
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   146
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   147
_hg_revrange() {
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   148
  compset -P 1 '*:'
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   149
  _hg_tags "$@"
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   150
}
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   151
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   152
_hg_tags() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   153
  typeset -a tags
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   154
  local tag rev
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   155
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   156
  _hg_cmd tags 2> /dev/null | while read tag rev
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   157
  do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   158
    tags+=($tag)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   159
  done
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
   160
  (( $#tags )) && _describe -t tags 'tags' tags
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   161
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   162
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   163
_hg_files() {
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   164
  if [[ -n "$_hg_root" ]]
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   165
  then
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   166
    [[ -d "$_hg_root/.hg" ]] || return
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   167
    case "$_hg_root" in
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   168
      /*)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   169
        _files -W $_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   170
      ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   171
      *)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   172
        _files -W $PWD/$_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   173
      ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   174
    esac
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   175
  else
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   176
    _files
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   177
  fi
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   178
}
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   179
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   180
_hg_status() {
3875
729f354f3f09 zsh: better fix for partial completions
Steve Borho <steve@borho.org>
parents: 3806
diff changeset
   181
  [[ -d $PREFIX ]] || PREFIX=$PREFIX:h
3806
45a751d73080 zsh: fix completions with relative paths
Steve Borho <steve@borho.org>
parents: 3805
diff changeset
   182
  status_files=(${(ps:\0:)"$(_hg_cmd status -0n$1 ./$PREFIX 2>/dev/null)"})
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   183
}
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   184
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   185
_hg_unknown() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   186
  typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   187
  _hg_status u
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   188
  _wanted files expl 'unknown files' _multi_parts / status_files
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   189
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   190
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   191
_hg_missing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   192
  typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   193
  _hg_status d
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   194
  _wanted files expl 'missing files' _multi_parts / status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   195
}
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   196
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   197
_hg_modified() {
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   198
  typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   199
  _hg_status m
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   200
  _wanted files expl 'modified files' _multi_parts / status_files
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   201
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   202
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   203
_hg_config() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   204
    typeset -a items
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   205
    local line
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   206
    items=(${${(%f)"$(_hg_cmd showconfig)"}%%\=*})
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   207
    (( $#items )) && _describe -t config 'config item' items
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   208
}
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   209
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   210
_hg_addremove() {
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
   211
  _alternative 'files:unknown files:_hg_unknown' \
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
   212
    'files:missing files:_hg_missing'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   213
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   214
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   215
_hg_ssh_urls() {
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   216
  if [[ -prefix */ ]]
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   217
  then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   218
    if zstyle -T ":completion:${curcontext}:files" remote-access
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   219
    then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   220
      local host=${PREFIX%%/*}
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   221
      typeset -a remdirs
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   222
      compset -p $(( $#host + 1 ))
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   223
      local rempath=${(M)PREFIX##*/}
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   224
      local cacheid="hg:${host}-${rempath//\//_}"
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   225
      cacheid=${cacheid%[-_]}
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   226
      compset -P '*/'
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   227
      if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   228
      then
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   229
        remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}" 2> /dev/null)"}##*/}%/})
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   230
        _store_cache "$cacheid" remdirs
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
   231
      fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   232
      _describe -t directories 'remote directory' remdirs -S/
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   233
    else
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   234
      _message 'remote directory'
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   235
    fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   236
  else
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   237
    if compset -P '*@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   238
    then
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   239
      _hosts -S/
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   240
    else
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   241
      _alternative 'hosts:remote host name:_hosts -S/' \
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   242
        'users:user:_users -S@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
   243
    fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   244
  fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   245
}
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   246
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   247
_hg_urls() {
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   248
  if compset -P bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   249
  then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   250
    _files
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   251
  elif compset -P ssh://
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   252
  then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   253
    _hg_ssh_urls
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   254
  elif [[ -prefix *: ]]
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   255
  then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   256
    _urls
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   257
  else
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   258
    local expl
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   259
    compset -S '[^:]*'
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   260
    _wanted url-schemas expl 'URL schema' compadd -S '' - \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   261
      http:// https:// ssh:// bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   262
  fi
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   263
}
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   264
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   265
_hg_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   266
  typeset -a paths pnames
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   267
  _hg_cmd paths 2> /dev/null | while read -A pnames
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   268
  do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   269
    paths+=($pnames[1])
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   270
  done
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   271
  (( $#paths )) && _describe -t path-aliases 'repository alias' paths
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   272
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   273
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   274
_hg_remote() {
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   275
  _alternative 'path-aliases:repository alias:_hg_paths' \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
   276
    'directories:directory:_files -/' \
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
   277
    'urls:URL:_hg_urls'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   278
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   279
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   280
_hg_clone_dest() {
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   281
  _alternative 'directories:directory:_files -/' \
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   282
    'urls:URL:_hg_urls'
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   283
}
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   284
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   285
# Common options
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   286
_hg_global_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   287
    '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   288
    '--cwd[change working directory]:new working directory:_files -/'
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   289
    '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   290
    '(--verbose -v)'{-v,--verbose}'[enable additional output]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   291
    '(--quiet -q)'{-q,--quiet}'[suppress output]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   292
    '(--help -h)'{-h,--help}'[display help and exit]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   293
    '--debug[debug mode]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   294
    '--debugger[start debugger]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   295
    '--traceback[print traceback on exception]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   296
    '--time[time how long the command takes]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   297
    '--profile[profile]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   298
    '--version[output version information and exit]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   299
)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   300
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   301
_hg_pat_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   302
  '*'{-I+,--include}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   303
  '*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   304
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   305
_hg_diff_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   306
  '(--text -a)'{-a,--text}'[treat all files as text]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   307
  '(--git -g)'{-g,--git}'[use git extended diff format]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   308
  "--nodates[don't include dates in diff headers]")
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   309
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   310
_hg_dryrun_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   311
  '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   312
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   313
_hg_style_opts=(
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   314
  '--style[display using template map file]:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   315
  '--template[display with template]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   316
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   317
_hg_commit_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   318
  '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   319
  '(-e --edit -l --logfile --message -m)'{-m+,--message}'[use <text> as commit message]:message:'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   320
  '(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   321
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   322
_hg_remote_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   323
  '(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   324
  '--remotecmd[specify hg command to run on the remote side]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   325
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   326
_hg_cmd() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   327
  _call_program hg hg "$_hg_cmd_globals[@]" "$@"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   328
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   329
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   330
_hg_cmd_add() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   331
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   332
  '*:unknown files:_hg_unknown'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   333
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   334
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   335
_hg_cmd_addremove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   336
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   337
  '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   338
  '*:unknown or missing files:_hg_addremove'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   339
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   340
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   341
_hg_cmd_annotate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   342
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   343
  '(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   344
  '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   345
  '(--text -a)'{-a,--text}'[treat all files as text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   346
  '(--user -u)'{-u,--user}'[list the author]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   347
  '(--date -d)'{-d,--date}'[list the date]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   348
  '(--number -n)'{-n,--number}'[list the revision number (default)]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   349
  '(--changeset -c)'{-c,--changeset}'[list the changeset]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   350
  '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   351
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   352
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   353
_hg_cmd_archive() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   354
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   355
  '--no-decode[do not pass files through decoders]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   356
  '(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   357
  '(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   358
  '(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   359
  '*:destination:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   360
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   361
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   362
_hg_cmd_backout() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   363
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   364
    '--merge[merge with old dirstate parent after backout]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   365
    '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   366
    '--parent[parent to choose when backing out merge]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   367
    '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   368
    '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   369
    '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   370
    '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   371
}
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   372
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   373
_hg_cmd_bundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   374
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   375
  '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   376
  '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_tags' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   377
  ':output file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   378
  ':destination repository:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   379
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   380
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   381
_hg_cmd_cat() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   382
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   383
  '(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   384
  '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   385
  '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   386
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   387
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   388
_hg_cmd_clone() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   389
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   390
  '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   391
  '(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   392
  '--uncompressed[use uncompressed transfer (fast over LAN)]' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   393
  ':source repository:_hg_remote' \
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
   394
  ':destination:_hg_clone_dest'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   395
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   396
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   397
_hg_cmd_commit() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   398
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3629
adbf440a81e0 zsh: typo in commit completion
Brendan Cully <brendan@kublai.com>
parents: 3605
diff changeset
   399
  '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   400
  '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
4448
2d3379c598c1 Fix issue 563: error in _hg_commit in the contrib/zsh_completion script.
Henri Precheur <henry@precheur.org>
parents: 3875
diff changeset
   401
  '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   402
  '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   403
  '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   404
  '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   405
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   406
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   407
_hg_cmd_copy() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   408
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   409
  '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   410
  '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   411
  '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   412
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   413
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   414
_hg_cmd_diff() {
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   415
  typeset -A opt_args
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   416
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   417
  '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   418
  '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   419
  '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   420
  '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   421
  '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   422
  '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   423
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   424
  if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   425
  then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   426
    if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   427
    then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   428
      _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   429
    else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   430
      _hg_modified
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   431
    fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   432
  fi
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   433
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   434
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   435
_hg_cmd_export() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   436
  _arguments -s -w : $_hg_global_opts $_hg_diff_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   437
  '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   438
  '--switch-parent[diff against the second parent]' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   439
  '*:revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   440
}
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   441
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   442
_hg_cmd_grep() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   443
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   444
  '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   445
  '--all[print all revisions with matches]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   446
  '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   447
  '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   448
  '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   449
  '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   450
  '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   451
  '(--user -u)'{-u,--user}'[print user who committed change]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   452
  '1:search pattern:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   453
  '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   454
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   455
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   456
_hg_cmd_heads() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   457
  _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   458
  '(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_tags'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   459
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   460
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   461
_hg_cmd_help() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   462
  _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   463
  '*:mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   464
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   465
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   466
_hg_cmd_identify() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   467
  _arguments -s -w : $_hg_global_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   468
  '(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_tags' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   469
  '(--num -n)'{-n+,--num}'[show local revision number]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   470
  '(--id -i)'{-i+,--id}'[show global revision id]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   471
  '(--branch -b)'{-b+,--branch}'[show branch]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   472
  '(--tags -t)'{-t+,--tags}'[show tags]'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   473
}
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   474
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   475
_hg_cmd_import() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   476
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   477
  '(--strip -p)'{-p+,--strip}'[directory strip option for patch (default: 1)]:count:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   478
  '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   479
  '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   480
  '*:patch:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   481
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   482
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   483
_hg_cmd_incoming() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   484
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   485
  '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   486
  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   487
  '(--patch -p)'{-p,--patch}'[show patch]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   488
  '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   489
  '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   490
  '--bundle[file to store the bundles into]:bundle file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   491
  ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   492
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   493
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   494
_hg_cmd_init() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   495
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   496
  ':dir:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   497
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   498
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   499
_hg_cmd_locate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   500
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   501
  '(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   502
  '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   503
  '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   504
  '*:search pattern:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   505
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   506
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   507
_hg_cmd_log() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   508
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   509
  '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   510
  '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   511
  '(--copies -C)'{-C,--copies}'[show copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   512
  '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   513
  '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   514
  '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   515
  '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   516
  '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   517
  '(--patch -p)'{-p,--patch}'[show patch]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   518
  '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   519
  '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   520
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   521
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   522
_hg_cmd_manifest() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   523
  _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   524
  ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   525
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   526
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   527
_hg_cmd_outgoing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   528
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   529
  '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   530
  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   531
  '(--patch -p)'{-p,--patch}'[show patch]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   532
  '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   533
  '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   534
  ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   535
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   536
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   537
_hg_cmd_parents() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   538
  _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   539
  '(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_tags' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   540
  ':last modified file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   541
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   542
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   543
_hg_cmd_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   544
  _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   545
  ':path:_hg_paths'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   546
}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   547
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   548
_hg_cmd_pull() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   549
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   550
  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   551
  '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   552
  '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   553
  ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   554
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   555
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   556
_hg_cmd_push() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   557
  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   558
  '(--force -f)'{-f,--force}'[force push]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   559
  '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   560
  ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   561
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   562
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   563
_hg_cmd_remove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   564
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   565
  '(--after -A)'{-A,--after}'[record remove that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   566
  '(--force -f)'{-f,--force}'[remove file even if modified]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   567
  '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   568
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   569
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   570
_hg_cmd_rename() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   571
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   572
  '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   573
  '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   574
  '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   575
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   576
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   577
_hg_cmd_revert() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   578
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   579
  '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   580
  '(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   581
  '--no-backup[do not save backup copies of files]' \
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   582
  '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   583
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   584
  if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   585
  then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   586
    if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   587
    then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   588
      _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   589
    else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   590
      typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   591
      _hg_status mard
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   592
      _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   593
    fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
   594
  fi
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   595
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   596
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   597
_hg_cmd_serve() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   598
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   599
  '(--accesslog -A)'{-A+,--accesslog}'[name of access log file]:log file:_files' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   600
  '(--errorlog -E)'{-E+,--errorlog}'[name of error log file]:log file:_files' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   601
  '(--daemon -d)'{-d,--daemon}'[run server in background]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   602
  '(--port -p)'{-p+,--port}'[listen port]:listen port:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   603
  '(--address -a)'{-a+,--address}'[interface address]:interface address:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   604
  '(--name -n)'{-n+,--name}'[name to show in web pages]:repository name:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   605
  '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   606
  '--style[web template style]:style' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   607
  '--stdio[for remote clients]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   608
  '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   609
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   610
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   611
_hg_cmd_showconfig() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   612
  _arguments -s -w : $_hg_global_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   613
  '(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   614
  ':config item:_hg_config'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   615
}
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   616
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   617
_hg_cmd_status() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   618
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   619
  '(--all -A)'{-A,--all}'[show status of all files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   620
  '(--modified -m)'{-m,--modified}'[show only modified files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   621
  '(--added -a)'{-a,--added}'[show only added files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   622
  '(--removed -r)'{-r,--removed}'[show only removed files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   623
  '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   624
  '(--clean -c)'{-c,--clean}'[show only files without changes]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   625
  '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   626
  '(--ignored -i)'{-i,--ignored}'[show ignored files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   627
  '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   628
  '(--copies -C)'{-C,--copies}'[show source of copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   629
  '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   630
  '--rev[show difference from revision]:revision:_hg_tags' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   631
  '*:files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   632
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   633
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   634
_hg_cmd_tag() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   635
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   636
  '(--local -l)'{-l,--local}'[make the tag local]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   637
  '(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   638
  '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   639
  '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   640
  '(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   641
  ':tag name:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   642
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   643
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   644
_hg_cmd_tip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   645
  _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   646
  '(--patch -p)'{-p,--patch}'[show patch]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   647
}
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
   648
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   649
_hg_cmd_unbundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   650
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   651
  '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   652
  ':files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   653
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   654
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   655
_hg_cmd_update() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   656
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   657
  '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   658
  '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   659
  ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   660
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   661
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   662
# bisect extension
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   663
_hg_cmd_bisect() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   664
  _arguments -s -w : $_hg_global_opts ':evaluation:(help init reset next good bad)'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   665
}
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
   666
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   667
# HGK
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   668
_hg_cmd_view() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   669
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   670
  '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   671
  ':revision range:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   672
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   673
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   674
# MQ
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   675
_hg_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   676
  typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
   677
  patches=($(_hg_cmd qseries 2>/dev/null))
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   678
  (( $#patches )) && _describe -t hg-patches 'patches' patches
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   679
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   680
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   681
_hg_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   682
  typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
   683
  patches=($(_hg_cmd qapplied 2>/dev/null))
3535
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
   684
  if (( $#patches ))
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
   685
  then
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
   686
    patches+=(qbase qtip)
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
   687
    _describe -t hg-applied-patches 'applied patches' patches
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
   688
  fi
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   689
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   690
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   691
_hg_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   692
  typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
   693
  patches=($(_hg_cmd qunapplied 2>/dev/null))
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   694
  (( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   695
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   696
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   697
_hg_qguards() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   698
  typeset -a guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   699
  local guard
3529
fe9c1e886b5e zsh: complete qguard with +/- guard prefixes
Brendan Cully <brendan@kublai.com>
parents: 3527
diff changeset
   700
  compset -P "+|-"
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
   701
  _hg_cmd qselect -s 2>/dev/null | while read guard
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   702
  do
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   703
    guards+=(${guard#(+|-)})
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   704
  done
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   705
  (( $#guards )) && _describe -t hg-guards 'guards' guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   706
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   707
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   708
_hg_qseries_opts=(
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   709
  '(--summary -s)'{-s,--summary}'[print first line of patch header]')
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   710
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   711
_hg_cmd_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   712
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   713
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   714
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   715
_hg_cmd_qdelete() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   716
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   717
  '(--keep -k)'{-k,--keep}'[keep patch file]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   718
  '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   719
  '*:unapplied patch:_hg_qunapplied'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   720
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   721
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   722
_hg_cmd_qdiff() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   723
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   724
  '*:pattern:_hg_files'
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   725
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   726
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   727
_hg_cmd_qfold() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   728
  _arguments -s -w : $_hg_global_opts $_h_commit_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   729
  '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   730
  '*:unapplied patch:_hg_qunapplied'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   731
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   732
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   733
_hg_cmd_qguard() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   734
  _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   735
  '(--list -l)'{-l,--list}'[list all patches and guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   736
  '(--none -n)'{-n,--none}'[drop all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   737
  ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   738
  '*:guards:_hg_qguards'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   739
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   740
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   741
_hg_cmd_qheader() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   742
  _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   743
  ':patch:_hg_qseries'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   744
}
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
   745
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   746
_hg_cmd_qimport() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   747
  _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   748
  '(--existing -e)'{-e,--existing}'[import file in patch dir]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   749
  '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   750
  '(--force -f)'{-f,--force}'[overwrite existing files]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
   751
  '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   752
  '*:patch:_files'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   753
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   754
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   755
_hg_cmd_qnew() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   756
  _arguments -s -w : $_hg_global_opts $_hg_commit_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   757
  '(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   758
  ':patch:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   759
}
1368
d1d605d1e839 Fix completion function for 'hg pull'. Fix truncation bug and remove tabs.
Steve Borho <steve@borho.org>
parents: 1365
diff changeset
   760
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   761
_hg_cmd_qnext() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   762
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   763
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   764
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   765
_hg_cmd_qpop() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   766
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   767
  '(--all -a :)'{-a,--all}'[pop all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   768
  '(--name -n)'{-n+,--name}'[queue name to pop]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   769
  '(--force -f)'{-f,--force}'[forget any local changes]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   770
  ':patch:_hg_qapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   771
}
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   772
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   773
_hg_cmd_qprev() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   774
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   775
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   776
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   777
_hg_cmd_qpush() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   778
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   779
  '(--all -a :)'{-a,--all}'[apply all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   780
  '(--list -l)'{-l,--list}'[list patch name in commit text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   781
  '(--merge -m)'{-m+,--merge}'[merge from another queue]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   782
  '(--name -n)'{-n+,--name}'[merge queue name]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   783
  '(--force -f)'{-f,--force}'[apply if the patch has rejects]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   784
  ':patch:_hg_qunapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   785
}
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   786
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   787
_hg_cmd_qrefresh() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   788
  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   789
  '(--git -g)'{-g,--git}'[use git extended diff format]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   790
  '(--short -s)'{-s,--short}'[short refresh]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
   791
  '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   792
}
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
   793
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   794
_hg_cmd_qrename() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   795
  _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   796
  ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   797
  ':destination:'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   798
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   799
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   800
_hg_cmd_qselect() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   801
  _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   802
  '(--none -n :)'{-n,--none}'[disable all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   803
  '(--series -s :)'{-s,--series}'[list all guards in series file]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   804
  '--pop[pop to before first guarded applied patch]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   805
  '--reapply[pop and reapply patches]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   806
  '*:guards:_hg_qguards'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   807
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   808
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   809
_hg_cmd_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   810
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   811
  '(--missing -m)'{-m,--missing}'[print patches not in series]'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   812
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   813
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   814
_hg_cmd_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   815
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   816
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   817
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   818
_hg_cmd_qtop() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   819
  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   820
}
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
   821
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   822
_hg_cmd_strip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   823
  _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   824
  '(--force -f)'{-f,--force}'[force multi-head removal]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   825
  '(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
   826
  '(--nobackup -n)'{-n,--nobackup}'[no backups]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   827
  ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   828
}
3487
1b9494d2b070 zsh: expand tags lazily
Brendan Cully <brendan@kublai.com>
parents: 3482
diff changeset
   829
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
   830
_hg "$@"