contrib/zsh_completion
changeset 3536 ef80b13df85a
parent 3535 3dbec3f6d3a2
child 3544 733835602365
equal deleted inserted replaced
3535:3dbec3f6d3a2 3536:ef80b13df85a
   115 _hg_commands() {
   115 _hg_commands() {
   116   (( $#_hg_cmd_list )) || _hg_get_commands
   116   (( $#_hg_cmd_list )) || _hg_get_commands
   117   _describe -t commands 'mercurial command' _hg_cmd_list
   117   _describe -t commands 'mercurial command' _hg_cmd_list
   118 }
   118 }
   119 
   119 
       
   120 _hg_revrange() {
       
   121   compset -P 1 '*:'
       
   122   _hg_tags "$@"
       
   123 }
       
   124 
   120 _hg_tags() {
   125 _hg_tags() {
   121   typeset -a tags
   126   typeset -a tags
   122   local tag rev
   127   local tag rev
   123 
   128 
   124   _hg_cmd tags 2> /dev/null | while read tag rev
   129   _hg_cmd tags 2> /dev/null | while read tag rev
   281   '*:file:_files -W $(_hg_cmd root)'
   286   '*:file:_files -W $(_hg_cmd root)'
   282 }
   287 }
   283 
   288 
   284 _hg_cmd_diff() {
   289 _hg_cmd_diff() {
   285   _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
   290   _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
   286   '*'{-r,--rev}'+[revision]:revision:_hg_tags ' \
   291   '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \
   287   '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \
   292   '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \
   288   '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \
   293   '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \
   289   '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
   294   '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
   290   '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \
   295   '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \
   291   '*:file:_files -W $(_hg_cmd root)'
   296   '*:file:_files -W $(_hg_cmd root)'
   304   '--all[print all revisions with matches]' \
   309   '--all[print all revisions with matches]' \
   305   '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
   310   '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
   306   '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
   311   '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
   307   '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \
   312   '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \
   308   '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
   313   '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
   309   '*'{-r+,--rev}'[search in given revision range]:revision:_hg_tags' \
   314   '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
   310   '(--user -u)'{-u,--user}'[print user who committed change]' \
   315   '(--user -u)'{-u,--user}'[print user who committed change]' \
   311   '*:search pattern:_files -W $(_hg_cmd root)'
   316   '*:search pattern:_files -W $(_hg_cmd root)'
   312 }
   317 }
   313 
   318 
   314 _hg_cmd_heads() {
   319 _hg_cmd_heads() {
   358   '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
   363   '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
   359   '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
   364   '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
   360   '(--copies -C)'{-C,--copies}'[show copied files]' \
   365   '(--copies -C)'{-C,--copies}'[show copied files]' \
   361   '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
   366   '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
   362   '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
   367   '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
   363   '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_tags' \
   368   '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \
   364   '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
   369   '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
   365   '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
   370   '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
   366   '(--patch -p)'{-p,--patch}'[show patch]' \
   371   '(--patch -p)'{-p,--patch}'[show patch]' \
   367   '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \
   372   '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \
   368   '*:files:_files -W $(_hg_cmd root)'
   373   '*:files:_files -W $(_hg_cmd root)'
   538 }
   543 }
   539 
   544 
   540 _hg_cmd_qdelete() {
   545 _hg_cmd_qdelete() {
   541   _arguments -s -w : $_hg_global_opts \
   546   _arguments -s -w : $_hg_global_opts \
   542   '(--keep -k)'{-k,--keep}'[keep patch file]' \
   547   '(--keep -k)'{-k,--keep}'[keep patch file]' \
   543   '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_qapplied' \
   548   '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
   544   '*:unapplied patch:_hg_qunapplied'
   549   '*:unapplied patch:_hg_qunapplied'
   545 }
   550 }
   546 
   551 
   547 _hg_cmd_qdiff() {
   552 _hg_cmd_qdiff() {
   548   _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
   553   _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
   571 _hg_cmd_qimport() {
   576 _hg_cmd_qimport() {
   572   _arguments -s -w : $_hg_global_opts \
   577   _arguments -s -w : $_hg_global_opts \
   573   '(--existing -e)'{-e,--existing}'[import file in patch dir]' \
   578   '(--existing -e)'{-e,--existing}'[import file in patch dir]' \
   574   '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \
   579   '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \
   575   '(--force -f)'{-f,--force}'[overwrite existing files]' \
   580   '(--force -f)'{-f,--force}'[overwrite existing files]' \
   576   '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_tags' \
   581   '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \
   577   '*:patch:_files'
   582   '*:patch:_files'
   578 }
   583 }
   579 
   584 
   580 _hg_cmd_qnew() {
   585 _hg_cmd_qnew() {
   581   _arguments -s -w : $_hg_global_opts $_hg_commit_opts \
   586   _arguments -s -w : $_hg_global_opts $_hg_commit_opts \