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