Mercurial > hg
comparison contrib/zsh_completion @ 39208:362c4603602d
zsh_completion: update all options
It's just too hard to further split this patch. What it does:
- adds missing flags
- removes flags that are no longer there
- updates flag descriptions and argument names
- adds * where using the same option many times is okay
- groups with () mutually exclusive flags that can't be used together
- adds + and = to options that need arguments
- removes + and = from options that don't take any arguments
- fixes minor issues and a typo
Differential Revision: https://phab.mercurial-scm.org/D4267
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 10 Aug 2018 23:24:33 +0800 |
parents | f625e457f43a |
children | d0dfdf263a20 |
comparison
equal
deleted
inserted
replaced
39207:f625e457f43a | 39208:362c4603602d |
---|---|
369 _describe -t help_topics 'help topics' topics | 369 _describe -t help_topics 'help topics' topics |
370 } | 370 } |
371 | 371 |
372 # Common options | 372 # Common options |
373 _hg_global_opts=( | 373 _hg_global_opts=( |
374 '(--repository -R)'{-R+,--repository=}'[repository root directory]:repository:_files -/' | 374 '(--repository -R)'{-R+,--repository=}'[repository root directory or name of overlay bundle file]:repository:_files -/' |
375 '--cwd[change working directory]:new working directory:_files -/' | 375 '--cwd=[change working directory]:new working directory:_files -/' |
376 '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]' | 376 '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, automatically pick the first choice for all prompts]' |
377 '(--verbose -v)'{-v,--verbose}'[enable additional output]' | 377 '(--verbose -v)'{-v,--verbose}'[enable additional output]' |
378 '*--config[set/override config option]:defined config items:_hg_config' | 378 '*--config[set/override config option]:defined config items:_hg_config' |
379 '(--quiet -q)'{-q,--quiet}'[suppress output]' | 379 '(--quiet -q)'{-q,--quiet}'[suppress output]' |
380 '(--help -h)'{-h,--help}'[display help and exit]' | 380 '(--help -h)'{-h,--help}'[display help and exit]' |
381 '--debug[debug mode]' | 381 '--debug[enable debugging output]' |
382 '--debugger[start debugger]' | 382 '--debugger[start debugger]' |
383 '--encoding[set the charset encoding]' | 383 '--encoding=[set the charset encoding]:encoding' |
384 '--encodingmode[set the charset encoding mode]' | 384 '--encodingmode=[set the charset encoding mode]:encoding mode' |
385 '--lsprof[print improved command execution profile]' | 385 '--traceback[always print a traceback on exception]' |
386 '--traceback[print traceback on exception]' | |
387 '--time[time how long the command takes]' | 386 '--time[time how long the command takes]' |
388 '--profile[profile]' | 387 '--profile[print command execution profile]' |
389 '--version[output version information and exit]' | 388 '--version[output version information and exit]' |
389 '--hidden[consider hidden changesets]' | |
390 '--color=[when to colorize]:when:(true false yes no always auto never debug)' | |
391 '--pager=[when to paginate (default: auto)]:when:(true false yes no always auto never)' | |
390 ) | 392 ) |
391 | 393 |
392 _hg_pat_opts=( | 394 _hg_pat_opts=( |
393 '*'{-I+,--include=}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/' | 395 '*'{-I+,--include=}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/' |
394 '*'{-X+,--exclude=}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/') | 396 '*'{-X+,--exclude=}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/') |
400 '--uncompressed[use uncompressed transfer (fast over LAN)]') | 402 '--uncompressed[use uncompressed transfer (fast over LAN)]') |
401 | 403 |
402 _hg_date_user_opts=( | 404 _hg_date_user_opts=( |
403 '(--currentdate -D)'{-D,--currentdate}'[record the current date as commit date]' | 405 '(--currentdate -D)'{-D,--currentdate}'[record the current date as commit date]' |
404 '(--currentuser -U)'{-U,--currentuser}'[record the current user as committer]' | 406 '(--currentuser -U)'{-U,--currentuser}'[record the current user as committer]' |
405 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date:' | 407 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' |
406 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user:') | 408 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user') |
407 | 409 |
408 _hg_gitlike_opts=( | 410 _hg_gitlike_opts=( |
409 '(--git -g)'{-g,--git}'[use git extended diff format]') | 411 '(--git -g)'{-g,--git}'[use git extended diff format]') |
410 | 412 |
411 _hg_diff_opts=( | 413 _hg_diff_opts=( |
412 $_hg_gitlike_opts | 414 $_hg_gitlike_opts |
413 '(--text -a)'{-a,--text}'[treat all files as text]' | 415 '(--text -a)'{-a,--text}'[treat all files as text]' |
414 '--nodates[omit dates from diff headers]') | 416 '--nodates[omit dates from diff headers]') |
415 | 417 |
416 _hg_mergetool_opts=( | 418 _hg_mergetool_opts=( |
417 '(--tool -t)'{-t+,--tool=}'[specify merge tool]:tool:') | 419 '(--tool -t)'{-t+,--tool=}'[specify merge tool]:merge tool' |
420 ) | |
418 | 421 |
419 _hg_dryrun_opts=( | 422 _hg_dryrun_opts=( |
420 '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') | 423 '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') |
421 | 424 |
422 _hg_ignore_space_opts=( | 425 _hg_ignore_space_opts=( |
423 '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' | 426 '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' |
424 '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' | 427 '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' |
425 '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]') | 428 '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' |
429 '(--ignore-space-at-eol -Z)'{-Z,--ignore-space-at-eol}'[ignore changes in whitespace at EOL]' | |
430 ) | |
426 | 431 |
427 _hg_template_opts=( | 432 _hg_template_opts=( |
428 '--template[display with template]:template' | 433 '--template[display with template]:template' |
429 ) | 434 ) |
430 | 435 |
431 _hg_log_opts=( | 436 _hg_log_opts=( |
432 $_hg_global_opts $_hg_template_opts $_hg_gitlike_opts | 437 $_hg_global_opts $_hg_template_opts $_hg_gitlike_opts |
433 '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:' | 438 '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:limit' |
434 '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' | 439 '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' |
435 '(--patch -p)'{-p,--patch}'[show patch]' | 440 '(--patch -p)'{-p,--patch}'[show patch]' |
436 '--stat[output diffstat-style summary of changes]' | 441 '--stat[output diffstat-style summary of changes]' |
442 '(--graph -G)'{-G,--graph}'[show the revision DAG]' | |
437 ) | 443 ) |
438 | 444 |
439 _hg_commit_opts=( | 445 _hg_commit_opts=( |
440 '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]' | 446 '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]' |
441 '(-e --edit -l --logfile --message -m)'{-m+,--message=}'[use <text> as commit message]:message:' | 447 '(-e --edit -l --logfile --message -m)'{-m+,--message=}'[use <text> as commit message]:message' |
442 '(-e --edit -m --message --logfile -l)'{-l+,--logfile=}'[read the commit message from <file>]:log file:_files') | 448 '(-e --edit -m --message --logfile -l)'{-l+,--logfile=}'[read the commit message from <file>]:log file:_files') |
443 | 449 |
444 _hg_remote_opts=( | 450 _hg_remote_opts=( |
445 '(--ssh -e)'{-e+,--ssh=}'[specify ssh command to use]:' | 451 '(--ssh -e)'{-e+,--ssh=}'[specify ssh command to use]:command' |
446 '--remotecmd[specify hg command to run on the remote side]:') | 452 '--remotecmd=[specify hg command to run on the remote side]:remote command' |
453 '--insecure[do not verify server certificate (ignoring web.cacerts config)]' | |
454 ) | |
447 | 455 |
448 _hg_branch_bmark_opts=( | 456 _hg_branch_bmark_opts=( |
449 '(--bookmark -B)'{-B+,--bookmark=}'[specify bookmark(s)]:bookmark:_hg_bookmarks' | 457 '(--bookmark -B)'{-B+,--bookmark=}'[specify bookmark(s)]:bookmark:_hg_bookmarks' |
450 '(--branch -b)'{-b+,--branch=}'[specify branch(es)]:branch:_hg_branches' | 458 '(--branch -b)'{-b+,--branch=}'[specify branch(es)]:branch:_hg_branches' |
451 ) | 459 ) |
462 '*:unknown files:_hg_unknown' | 470 '*:unknown files:_hg_unknown' |
463 } | 471 } |
464 | 472 |
465 _hg_cmd_addremove() { | 473 _hg_cmd_addremove() { |
466 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ | 474 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
467 '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:' \ | 475 '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ |
468 '*:unknown or missing files:_hg_addremove' | 476 '*:unknown or missing files:_hg_addremove' |
469 } | 477 } |
470 | 478 |
471 _hg_cmd_annotate() { | 479 _hg_cmd_annotate() { |
472 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ | 480 _arguments -s -S : $_hg_global_opts $_hg_ignore_space_opts $_hg_pat_opts \ |
473 '(--rev -r)'{-r+,--rev=}'[annotate the specified revision]:revision:_hg_labels' \ | 481 '(--rev -r)'{-r+,--rev=}'[annotate the specified revision]:revision:_hg_labels' \ |
474 '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \ | 482 "--no-follow[don't follow copies and renames]" \ |
475 '(--text -a)'{-a,--text}'[treat all files as text]' \ | 483 '(--text -a)'{-a,--text}'[treat all files as text]' \ |
476 '(--user -u)'{-u,--user}'[list the author]' \ | 484 '(--user -u)'{-u,--user}'[list the author (long with -v)]' \ |
477 '(--date -d)'{-d,--date}'[list the date]' \ | 485 '(--file -f)'{-f,--file}'[list the filename]' \ |
486 '(--date -d)'{-d,--date}'[list the date (short with -q)]' \ | |
478 '(--number -n)'{-n,--number}'[list the revision number (default)]' \ | 487 '(--number -n)'{-n,--number}'[list the revision number (default)]' \ |
479 '(--changeset -c)'{-c,--changeset}'[list the changeset]' \ | 488 '(--changeset -c)'{-c,--changeset}'[list the changeset]' \ |
489 '(--line-number -l)'{-l,--line-number}'[show line number at the first appearance]' \ | |
480 '*:files:_hg_files' | 490 '*:files:_hg_files' |
481 } | 491 } |
482 | 492 |
483 _hg_cmd_archive() { | 493 _hg_cmd_archive() { |
484 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ | 494 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ |
485 '--no-decode[do not pass files through decoders]' \ | 495 '--no-decode[do not pass files through decoders]' \ |
486 '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:' \ | 496 '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:prefix' \ |
487 '(--rev -r)'{-r+,--rev=}'[revision to distribute]:revision:_hg_labels' \ | 497 '(--rev -r)'{-r+,--rev=}'[revision to distribute]:revision:_hg_labels' \ |
488 '(--type -t)'{-t+,--type=}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \ | 498 '(--type -t)'{-t+,--type=}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \ |
489 '*:destination:_files' | 499 '*:destination:_files' |
490 } | 500 } |
491 | 501 |
492 _hg_cmd_backout() { | 502 _hg_cmd_backout() { |
493 _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ | 503 _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ |
494 '--merge[merge with old dirstate parent after backout]' \ | 504 '--merge[merge with old dirstate parent after backout]' \ |
495 '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ | 505 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ |
496 '--parent[parent to choose when backing out merge]' \ | 506 '--parent[parent to choose when backing out merge]' \ |
497 '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ | 507 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ |
498 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | 508 '(--rev -r 1)'{-r+,--rev=}'[revision to backout]:revision:_hg_labels' \ |
499 '(--message -m)'{-m+,--message=}'[use <text> as commit message]:text:' \ | 509 '(--message -m)'{-m+,--message=}'[use <text> as commit message]:text' \ |
500 '(--logfile -l)'{-l+,--logfile=}'[read commit message from <file>]:log file:_files' | 510 '(--logfile -l)'{-l+,--logfile=}'[read commit message from <file>]:log file:_files' \ |
511 ':revision:_hg_labels' | |
501 } | 512 } |
502 | 513 |
503 _hg_cmd_bisect() { | 514 _hg_cmd_bisect() { |
504 _arguments -s -S : $_hg_global_opts \ | 515 _arguments -s -S : $_hg_global_opts \ |
505 '(-)'{-r,--reset}'[reset bisect state]' \ | 516 '(-)'{-r,--reset}'[reset bisect state]' \ |
527 '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]' | 538 '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]' |
528 } | 539 } |
529 | 540 |
530 _hg_cmd_branches() { | 541 _hg_cmd_branches() { |
531 _arguments -s -S : $_hg_global_opts \ | 542 _arguments -s -S : $_hg_global_opts \ |
532 '(--active -a)'{-a,--active}'[show only branches that have unmerge heads]' \ | |
533 '(--closed -c)'{-c,--closed}'[show normal and closed branches]' | 543 '(--closed -c)'{-c,--closed}'[show normal and closed branches]' |
534 } | 544 } |
535 | 545 |
536 _hg_cmd_bundle() { | 546 _hg_cmd_bundle() { |
537 _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ | 547 _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ |
538 '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \ | 548 '(--force -f)'{-f,--force}'[run even when the destination is unrelated]' \ |
539 '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_labels' \ | 549 '(2)*--base[a base changeset assumed to be available at the destination]:revision:_hg_labels' \ |
540 '(--branch -b)'{-b+,--branch=}'[a specific branch to bundle]:' \ | 550 '*'{-b+,--branch=}'[a specific branch you would like to bundle]:branch:_hg_branches' \ |
541 '(--rev -r)'{-r+,--rev=}'[changeset(s) to bundle]:' \ | 551 '*'{-r+,--rev=}'[a changeset intended to be added to the destination]:revision:_hg_labels' \ |
542 '--all[bundle all changesets in the repository]' \ | 552 '--all[bundle all changesets in the repository]' \ |
553 '--type[bundle compression type to use (default: bzip2)]:bundle type' \ | |
543 ':output file:_files' \ | 554 ':output file:_files' \ |
544 ':destination repository:_files -/' | 555 ':destination repository:_files -/' |
545 } | 556 } |
546 | 557 |
547 _hg_cmd_cat() { | 558 _hg_cmd_cat() { |
548 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ | 559 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ |
549 '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:filespec:' \ | 560 '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ |
550 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | 561 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ |
551 '--decode[apply any matching decode filter]' \ | 562 '--decode[apply any matching decode filter]' \ |
552 '*:file:_hg_files' | 563 '*:file:_hg_files' |
553 } | 564 } |
554 | 565 |
555 _hg_cmd_clone() { | 566 _hg_cmd_clone() { |
556 _arguments -s -S : $_hg_global_opts $_hg_clone_opts \ | 567 _arguments -s -S : $_hg_global_opts $_hg_clone_opts \ |
557 '(--rev -r)'{-r+,--rev=}'[a changeset you would like to have after cloning]:' \ | 568 '*'{-r+,--rev=}'[do not clone everything, but include this changeset and its ancestors]:revision' \ |
558 '(--updaterev -u)'{-u+,--updaterev=}'[revision, tag or branch to check out]:' \ | 569 '(--updaterev -u)'{-u+,--updaterev=}'[revision, tag or branch to check out]:revision' \ |
559 '(--branch -b)'{-b+,--branch=}'[clone only the specified branch]:' \ | 570 '*'{-b+,--branch=}"[do not clone everything, but include this branch's changesets and their ancestors]:branch" \ |
560 ':source repository:_hg_remote' \ | 571 ':source repository:_hg_remote' \ |
561 ':destination:_hg_clone_dest' | 572 ':destination:_hg_clone_dest' |
562 } | 573 } |
563 | 574 |
564 _hg_cmd_commit() { | 575 _hg_cmd_commit() { |
565 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ | 576 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ |
566 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ | 577 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ |
567 '(--message -m)'{-m+,--message=}'[use <text> as commit message]:text:' \ | 578 '(--message -m)'{-m+,--message=}'[use <text> as commit message]:text' \ |
568 '(--logfile -l)'{-l+,--logfile=}'[read commit message from <file>]:log file:_files' \ | 579 '(--logfile -l)'{-l+,--logfile=}'[read commit message from <file>]:log file:_files' \ |
569 '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ | 580 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ |
570 '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ | 581 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ |
571 '--amend[amend the parent of the working dir]' \ | 582 '--amend[amend the parent of the working directory]' \ |
572 '--close-branch[mark a branch as closed]' \ | 583 '--close-branch[mark a branch head as closed]' \ |
584 '(--interactive -i)'{-i,--interactive}'[use interactive mode]' \ | |
585 '(--secret -s)'{-s,--secret}'[use the secret phase for committing]' \ | |
573 '*:file:_hg_committable' | 586 '*:file:_hg_committable' |
574 } | 587 } |
575 | 588 |
576 _hg_cmd_copy() { | 589 _hg_cmd_copy() { |
577 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ | 590 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
585 typeset -A opt_args | 598 typeset -A opt_args |
586 | 599 |
587 _arguments -s -S : $_hg_global_opts $_hg_diff_opts $_hg_ignore_space_opts \ | 600 _arguments -s -S : $_hg_global_opts $_hg_diff_opts $_hg_ignore_space_opts \ |
588 $_hg_pat_opts $_hg_subrepos_opts \ | 601 $_hg_pat_opts $_hg_subrepos_opts \ |
589 '*'{-r+,--rev=}'[revision]:revision:_hg_revrange' \ | 602 '*'{-r+,--rev=}'[revision]:revision:_hg_revrange' \ |
603 '--noprefix[omit a/ and b/ prefixes from filenames]' \ | |
590 '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ | 604 '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ |
591 '(--change -c)'{-c+,--change=}'[change made by revision]:' \ | 605 '(--change -c)'{-c+,--change=}'[change made by revision]:revision:_hg_labels' \ |
592 '(--text -a)'{-a,--text}'[treat all files as text]' \ | 606 '(--text -a)'{-a,--text}'[treat all files as text]' \ |
593 '--reverse[produce a diff that undoes the changes]' \ | 607 '--reverse[produce a diff that undoes the changes]' \ |
594 '(--unified -U)'{-U+,--unified=}'[number of lines of context to show]:' \ | 608 '(--unified -U)'{-U+,--unified=}'[number of lines of context to show]:count' \ |
595 '--stat[output diffstat-style summary of changes]' \ | 609 '--stat[output diffstat-style summary of changes]' \ |
610 '--root=[produce diffs relative to subdirectory]:directory:_files -/' \ | |
596 '*:file:->diff_files' && ret=0 | 611 '*:file:->diff_files' && ret=0 |
597 | 612 |
598 if [[ $state == 'diff_files' ]] | 613 if [[ $state == 'diff_files' ]] |
599 then | 614 then |
600 if [[ -n $opt_args[-r] ]] | 615 if [[ -n $opt_args[-r] ]] |
608 return ret | 623 return ret |
609 } | 624 } |
610 | 625 |
611 _hg_cmd_export() { | 626 _hg_cmd_export() { |
612 _arguments -s -S : $_hg_global_opts $_hg_diff_opts \ | 627 _arguments -s -S : $_hg_global_opts $_hg_diff_opts \ |
613 '(--outout -o)'{-o+,--output=}'[print output to file with formatted name]:filespec:' \ | 628 '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ |
614 '--switch-parent[diff against the second parent]' \ | 629 '--switch-parent[diff against the second parent]' \ |
615 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | 630 '*'{-r+,--rev=}'[revisions to export]:revision:_hg_labels' \ |
616 '*:revision:_hg_labels' | 631 '*:revision:_hg_labels' |
617 } | 632 } |
618 | 633 |
619 _hg_cmd_forget() { | 634 _hg_cmd_forget() { |
620 _arguments -s -S : $_hg_global_opts \ | 635 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
636 '(--interactive -i)'{-i,--interactive}'[use interactive mode]' \ | |
621 '*:file:_hg_files' | 637 '*:file:_hg_files' |
622 } | 638 } |
623 | 639 |
624 _hg_cmd_graft() { | 640 _hg_cmd_graft() { |
625 _arguments -s -S : $_hg_global_opts $_hg_dryrun_opts \ | 641 _arguments -s -S : $_hg_global_opts $_hg_dryrun_opts \ |
626 $_hg_date_user_opts $_hg_mergetool_opts \ | 642 $_hg_date_user_opts $_hg_mergetool_opts \ |
627 '(--continue -c)'{-c,--continue}'[resume interrupted graft]' \ | 643 '*'{-r+,--rev=}'[revisions to graft]:revision:_hg_labels' \ |
644 '(--continue -c --abort -a)'{-c,--continue}'[resume interrupted graft]' \ | |
645 '(--continue -c --abort -a)'{-a,--abort}'[abort interrupted graft]' \ | |
628 '(--edit -e)'{-e,--edit}'[invoke editor on commit messages]' \ | 646 '(--edit -e)'{-e,--edit}'[invoke editor on commit messages]' \ |
629 '--log[append graft info to log message]' \ | 647 '--log[append graft info to log message]' \ |
630 '*:revision:_hg_labels' | 648 '*:revision:_hg_labels' |
631 } | 649 } |
632 | 650 |
654 | 672 |
655 _hg_cmd_help() { | 673 _hg_cmd_help() { |
656 _arguments -s -S : $_hg_global_opts \ | 674 _arguments -s -S : $_hg_global_opts \ |
657 '(--extension -e)'{-e,--extension}'[show only help for extensions]' \ | 675 '(--extension -e)'{-e,--extension}'[show only help for extensions]' \ |
658 '(--command -c)'{-c,--command}'[show only help for commands]' \ | 676 '(--command -c)'{-c,--command}'[show only help for commands]' \ |
659 '(--keyword -k)'{-k+,--keyword}'[show topics matching keyword]' \ | 677 '(--keyword -k)'{-k,--keyword}'[show topics matching keyword]' \ |
660 '*:mercurial help topic:_hg_help_topics' | 678 '*:mercurial help topic:_hg_help_topics' |
661 } | 679 } |
662 | 680 |
663 _hg_cmd_identify() { | 681 _hg_cmd_identify() { |
664 _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ | 682 _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ |
665 '(--rev -r)'{-r+,--rev=}'[identify the specified rev]:revision:_hg_labels' \ | 683 '(--rev -r)'{-r+,--rev=}'[identify the specified rev]:revision:_hg_labels' \ |
666 '(--num -n)'{-n,--num}'[show local revision number]' \ | 684 '(--num -n)'{-n,--num}'[show local revision number]' \ |
667 '(--id -i)'{-i,--id}'[show global revision id]' \ | 685 '(--id -i)'{-i,--id}'[show global revision id]' \ |
668 '(--branch -b)'{-b,--branch}'[show branch]' \ | 686 '(--branch -b)'{-b,--branch}'[show branch]' \ |
669 '(--bookmark -B)'{-B,--bookmark}'[show bookmarks]' \ | 687 '(--bookmarks -B)'{-B,--bookmarks}'[show bookmarks]' \ |
670 '(--tags -t)'{-t,--tags}'[show tags]' | 688 '(--tags -t)'{-t,--tags}'[show tags]' |
671 } | 689 } |
672 | 690 |
673 _hg_cmd_import() { | 691 _hg_cmd_import() { |
674 _arguments -s -S : $_hg_global_opts $_hg_commit_opts \ | 692 _arguments -s -S : $_hg_global_opts $_hg_commit_opts \ |
675 '(--strip -p)'{-p+,--strip=}'[directory strip option for patch (default: 1)]:count:' \ | 693 '(--strip -p)'{-p+,--strip=}'[directory strip option for patch (default: 1)]:count' \ |
676 '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \ | 694 '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \ |
677 '--bypass[apply patch without touching the working directory]' \ | 695 '--bypass[apply patch without touching the working directory]' \ |
678 '--no-commit[do not commit, just update the working directory]' \ | 696 '--no-commit[do not commit, just update the working directory]' \ |
679 '--partial[commit even if some hunks fail]' \ | 697 '--partial[commit even if some hunks fail]' \ |
680 '--exact[apply patch to the nodes from which it was generated]' \ | 698 '--exact[abort if patch would apply lossily]' \ |
681 '--import-branch[use any branch information in patch (implied by --exact)]' \ | 699 '--import-branch[use any branch information in patch (implied by --exact)]' \ |
682 '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ | 700 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ |
683 '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ | 701 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ |
684 '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:' \ | 702 '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ |
685 '*:patch:_files' | 703 '*:patch:_files' |
686 } | 704 } |
687 | 705 |
688 _hg_cmd_incoming() { | 706 _hg_cmd_incoming() { |
689 _arguments -s -S : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ | 707 _arguments -s -S : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ |
690 $_hg_subrepos_opts \ | 708 $_hg_subrepos_opts \ |
691 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ | 709 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ |
692 '(--rev -r)'{-r+,--rev=}'[a specific revision up to which you would like to pull]:revision:_hg_labels' \ | 710 '*'{-r+,--rev=}'[a remote changeset intended to be added]:revision:_hg_labels' \ |
693 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ | 711 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ |
694 '--bundle[file to store the bundles into]:bundle file:_files' \ | 712 '--bundle[file to store the bundles into]:bundle file:_files' \ |
695 ':source:_hg_remote' | 713 ':source:_hg_remote' |
696 } | 714 } |
697 | 715 |
702 | 720 |
703 _hg_cmd_locate() { | 721 _hg_cmd_locate() { |
704 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ | 722 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ |
705 '(--rev -r)'{-r+,--rev=}'[search repository as it stood at revision]:revision:_hg_labels' \ | 723 '(--rev -r)'{-r+,--rev=}'[search repository as it stood at revision]:revision:_hg_labels' \ |
706 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ | 724 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ |
707 '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \ | 725 '(--fullpath -f)'{-f,--fullpath}'[print complete paths from the filesystem root]' \ |
708 '*:search pattern:_hg_files' | 726 '*:search pattern:_hg_files' |
709 } | 727 } |
710 | 728 |
711 _hg_cmd_log() { | 729 _hg_cmd_log() { |
712 _arguments -s -S : $_hg_log_opts $_hg_pat_opts \ | 730 _arguments -s -S : $_hg_log_opts $_hg_pat_opts \ |
713 '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ | 731 '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ |
714 '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ | 732 '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ |
715 '(--copies -C)'{-C,--copies}'[show copied files]' \ | 733 '(--copies -C)'{-C,--copies}'[show copied files]' \ |
716 '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \ | 734 '*'{-k+,--keyword=}'[search for a keyword]:keyword' \ |
717 '*'{-r+,--rev=}'[show the specified revision or revset]:revision:_hg_revrange' \ | 735 '*'{-r+,--rev=}'[show the specified revision or revset]:revision:_hg_revrange' \ |
718 '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \ | 736 '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \ |
719 '(--prune -P)'{-P+,--prune=}'[do not display revision or any of its ancestors]:revision:_hg_labels' \ | 737 '*'{-P+,--prune=}'[do not display revision or any of its ancestors]:revision:_hg_labels' \ |
720 '(--graph -G)'{-G,--graph}'[show the revision DAG]' \ | 738 '*'{-b+,--branch=}'[show changesets within the given named branch]:branch:_hg_branches' \ |
721 '(--branch -b)'{-b+,--branch=}'[show changesets within the given named branch]:branch:_hg_branches' \ | 739 '*'{-u+,--user=}'[revisions committed by user]:user' \ |
722 '(--user -u)'{-u+,--user=}'[revisions committed by user]:user:' \ | 740 '(--date -d)'{-d+,--date=}'[show revisions matching date spec]:date' \ |
723 '(--date -d)'{-d+,--date=}'[show revisions matching date spec]:date:' \ | |
724 '*:files:_hg_files' | 741 '*:files:_hg_files' |
725 } | 742 } |
726 | 743 |
727 _hg_cmd_manifest() { | 744 _hg_cmd_manifest() { |
728 _arguments -s -S : $_hg_global_opts \ | 745 _arguments -s -S : $_hg_global_opts \ |
740 } | 757 } |
741 | 758 |
742 _hg_cmd_outgoing() { | 759 _hg_cmd_outgoing() { |
743 _arguments -s -S : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ | 760 _arguments -s -S : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ |
744 $_hg_subrepos_opts \ | 761 $_hg_subrepos_opts \ |
745 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ | 762 '(--force -f)'{-f,--force}'[run even when the destination is unrelated]' \ |
746 '*'{-r+,--rev=}'[a specific revision you would like to push]:revision:_hg_revrange' \ | 763 '*'{-r+,--rev=}'[a changeset intended to be included in the destination]:revision:_hg_revrange' \ |
747 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ | 764 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ |
748 ':destination:_hg_remote' | 765 ':destination:_hg_remote' |
749 } | 766 } |
750 | 767 |
751 _hg_cmd_parents() { | 768 _hg_cmd_parents() { |
759 ':path:_hg_paths' | 776 ':path:_hg_paths' |
760 } | 777 } |
761 | 778 |
762 _hg_cmd_phase() { | 779 _hg_cmd_phase() { |
763 _arguments -s -S : $_hg_global_opts \ | 780 _arguments -s -S : $_hg_global_opts \ |
764 '(--public -p)'{-p,--public}'[set changeset phase to public]' \ | 781 '(--public -p --draft -d --secret -s)'{-p,--public}'[set changeset phase to public]' \ |
765 '(--draft -d)'{-d,--draft}'[set changeset phase to draft]' \ | 782 '(--public -p --draft -d --secret -s)'{-d,--draft}'[set changeset phase to draft]' \ |
766 '(--secret -s)'{-s,--secret}'[set changeset phase to secret]' \ | 783 '(--public -p --draft -d --secret -s)'{-s,--secret}'[set changeset phase to secret]' \ |
767 '(--force -f)'{-f,--force}'[allow to move boundary backward]' \ | 784 '(--force -f)'{-f,--force}'[allow to move boundary backward]' \ |
768 '(--rev -r)'{-r+,--rev=}'[target revision]:revision:_hg_labels' \ | 785 '*'{-r+,--rev=}'[target revision]:revision:_hg_labels' \ |
769 ':revision:_hg_labels' | 786 '*:revision:_hg_labels' |
770 } | 787 } |
771 | 788 |
772 _hg_cmd_pull() { | 789 _hg_cmd_pull() { |
773 _arguments -s -S : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ | 790 _arguments -s -S : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ |
774 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ | 791 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ |
775 '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \ | 792 '(--update -u)'{-u,--update}'[update to new branch head if new descendants were pulled]' \ |
776 '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \ | 793 '*'{-r+,--rev=}'[a remote changeset intended to be added]:revision:_hg_labels' \ |
777 ':source:_hg_remote' | 794 ':source:_hg_remote' |
778 } | 795 } |
779 | 796 |
780 _hg_cmd_push() { | 797 _hg_cmd_push() { |
781 _arguments -s -S : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ | 798 _arguments -s -S : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ |
782 '(--force -f)'{-f,--force}'[force push]' \ | 799 '(--force -f)'{-f,--force}'[force push]' \ |
783 '(--rev -r)'{-r+,--rev=}'[a specific revision you would like to push]:revision:_hg_labels' \ | 800 '*'{-r+,--rev=}'[a changeset intended to be included in the destination]:revision:_hg_labels' \ |
784 '--new-branch[allow pushing a new branch]' \ | 801 '--new-branch[allow pushing a new branch]' \ |
785 ':destination:_hg_remote' | 802 ':destination:_hg_remote' |
786 } | 803 } |
787 | 804 |
788 _hg_cmd_remove() { | 805 _hg_cmd_remove() { |
789 _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ | 806 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
790 '(--after -A)'{-A,--after}'[record remove that has already occurred]' \ | 807 '(--after -A)'{-A,--after}'[record delete for missing files]' \ |
791 '(--force -f)'{-f,--force}'[remove file even if modified]' \ | 808 '(--force -f)'{-f,--force}'[forget added files, delete modified files]' \ |
792 '*:file:_hg_files' | 809 '*:file:_hg_files' |
793 } | 810 } |
794 | 811 |
795 _hg_cmd_rename() { | 812 _hg_cmd_rename() { |
796 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ | 813 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
806 _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ | 823 _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ |
807 '(--all -a)'{-a,--all}'[select all unresolved files]' \ | 824 '(--all -a)'{-a,--all}'[select all unresolved files]' \ |
808 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ | 825 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ |
809 '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ | 826 '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ |
810 '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \ | 827 '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \ |
811 '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \ | 828 '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[mark files as unresolved]:*:resolved files:_hg_resolved' \ |
812 '*:file:_hg_unresolved' && ret=0 | 829 '*:file:_hg_unresolved' && ret=0 |
813 | 830 |
814 if [[ $state == 'resolve_files' ]] | 831 if [[ $state == 'resolve_files' ]] |
815 then | 832 then |
816 _alternative 'files:resolved files:_hg_resolved' \ | 833 _alternative 'files:resolved files:_hg_resolved' \ |
826 | 843 |
827 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ | 844 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ |
828 '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ | 845 '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ |
829 '(--rev -r)'{-r+,--rev=}'[revision to revert to]:revision:_hg_labels' \ | 846 '(--rev -r)'{-r+,--rev=}'[revision to revert to]:revision:_hg_labels' \ |
830 '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \ | 847 '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \ |
831 '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date code:' \ | 848 '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ |
849 '(--interactive -i)'{-i,--interactive}'[interactively select the changes]' \ | |
832 '*:file:->revert_files' && ret=0 | 850 '*:file:->revert_files' && ret=0 |
833 | 851 |
834 if [[ $state == 'revert_files' ]] | 852 if [[ $state == 'revert_files' ]] |
835 then | 853 then |
836 if [[ -n $opt_args[-r] ]] | 854 if [[ -n $opt_args[-r] ]] |
851 '(--force -f)'{-f,--force}'[ignore safety measures]' \ | 869 '(--force -f)'{-f,--force}'[ignore safety measures]' \ |
852 } | 870 } |
853 | 871 |
854 _hg_cmd_serve() { | 872 _hg_cmd_serve() { |
855 _arguments -s -S : $_hg_global_opts \ | 873 _arguments -s -S : $_hg_global_opts \ |
856 '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file]:log file:_files' \ | 874 '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file to write to]:log file:_files' \ |
857 '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file]:log file:_files' \ | 875 '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file to write to]:log file:_files' \ |
858 '(--daemon -d)'{-d,--daemon}'[run server in background]' \ | 876 '(--daemon -d)'{-d,--daemon}'[run server in background]' \ |
859 '(--port -p)'{-p+,--port=}'[listen port]:listen port:' \ | 877 '(--port -p)'{-p+,--port=}'[port to listen on (default: 8000)]:listen port' \ |
860 '(--address -a)'{-a+,--address=}'[interface address]:interface address:' \ | 878 '(--address -a)'{-a+,--address=}'[address to listen on (default: all interfaces)]:interface address' \ |
861 '--prefix[prefix path to serve from]:directory:_files' \ | 879 '--prefix=[prefix path to serve from (default: server root)]:directory:_files' \ |
862 '(--name -n)'{-n+,--name=}'[name to show in web pages]:repository name:' \ | 880 '(--name -n)'{-n+,--name=}'[name to show in web pages (default: working directory)]:repository name' \ |
863 '--web-conf[name of the hgweb config file]:webconf_file:_files' \ | 881 '--web-conf=[name of the hgweb config file]:config file:_files' \ |
864 '--pid-file[name of file to write process ID to]:pid_file:_files' \ | 882 '--pid-file=[name of file to write process ID to]:pid file:_files' \ |
865 '--cmdserver[cmdserver mode]:mode:' \ | 883 '--cmdserver[for remote clients]' \ |
866 '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \ | 884 '(--templates -t)'{-t+,--templates=}'[web template directory]:template dir:_files -/' \ |
867 '--style[web template style]:style' \ | 885 '--style=[template style to use]:style' \ |
868 '--stdio[for remote clients]' \ | 886 '--stdio[for remote clients]' \ |
869 '--certificate[certificate file]:cert_file:_files' \ | 887 '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]' \ |
870 '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]' | 888 '--certificate=[SSL certificate file]:certificate file:_files' \ |
889 '--print-url[start and print only the URL]' | |
871 } | 890 } |
872 | 891 |
873 _hg_cmd_showconfig() { | 892 _hg_cmd_showconfig() { |
874 _arguments -s -S : $_hg_global_opts \ | 893 _arguments -s -S : $_hg_global_opts \ |
875 '(--untrusted -u)'{-u,--untrusted}'[show untrusted configuration options]' \ | 894 '(--untrusted -u)'{-u,--untrusted}'[show untrusted configuration options]' \ |
876 ':config item:_hg_config' | 895 '(--edit -e)'{-e,--edit}'[edit user config]' \ |
896 '(--local -l --global -g)'{-l,--local}'[edit repository config]' \ | |
897 '(--local -l --global -g)'{-g,--global}'[edit global config]' \ | |
898 '*:config item:_hg_config' | |
877 } | 899 } |
878 | 900 |
879 _hg_cmd_status() { | 901 _hg_cmd_status() { |
880 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ | 902 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ |
881 '(--all -A)'{-A,--all}'[show status of all files]' \ | 903 '(--all -A)'{-A,--all}'[show status of all files]' \ |
882 '(--modified -m)'{-m,--modified}'[show only modified files]' \ | 904 '(--modified -m)'{-m,--modified}'[show only modified files]' \ |
883 '(--added -a)'{-a,--added}'[show only added files]' \ | 905 '(--added -a)'{-a,--added}'[show only added files]' \ |
884 '(--removed -r)'{-r,--removed}'[show only removed files]' \ | 906 '(--removed -r)'{-r,--removed}'[show only removed files]' \ |
885 '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \ | 907 '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \ |
886 '(--clean -c)'{-c,--clean}'[show only files without changes]' \ | 908 '(--clean -c)'{-c,--clean}'[show only files without changes]' \ |
887 '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \ | 909 '(--unknown -u)'{-u,--unknown}'[show only unknown (not tracked) files]' \ |
888 '(--ignored -i)'{-i,--ignored}'[show ignored files]' \ | 910 '(--ignored -i)'{-i,--ignored}'[show ignored files]' \ |
889 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ | 911 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ |
890 '(--copies -C)'{-C,--copies}'[show source of copied files]' \ | 912 '(--copies -C)'{-C,--copies}'[show source of copied files]' \ |
891 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ | 913 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ |
892 '--rev[show difference from revision]:revision:_hg_labels' \ | 914 '*--rev=[show difference from revision]:revision:_hg_labels' \ |
893 '--change[list the changed files of a revision]:revision:_hg_labels' \ | 915 '--change=[list the changed files of a revision]:revision:_hg_labels' \ |
894 '*:files:_files' | 916 '*:files:_files' |
895 } | 917 } |
896 | 918 |
897 _hg_cmd_summary() { | 919 _hg_cmd_summary() { |
898 _arguments -s -S : $_hg_global_opts \ | 920 _arguments -s -S : $_hg_global_opts \ |
900 } | 922 } |
901 | 923 |
902 _hg_cmd_tag() { | 924 _hg_cmd_tag() { |
903 _arguments -s -S : $_hg_global_opts \ | 925 _arguments -s -S : $_hg_global_opts \ |
904 '(--local -l)'{-l,--local}'[make the tag local]' \ | 926 '(--local -l)'{-l,--local}'[make the tag local]' \ |
905 '(--message -m)'{-m+,--message=}'[message for tag commit log entry]:message:' \ | 927 '(--message -m)'{-m+,--message=}'[message for tag commit log entry]:message' \ |
906 '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ | 928 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ |
907 '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ | 929 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ |
908 '(--rev -r)'{-r+,--rev=}'[revision to tag]:revision:_hg_labels' \ | 930 '(--rev -r)'{-r+,--rev=}'[revision to tag]:revision:_hg_labels' \ |
909 '(--force -f)'{-f,--force}'[force tag]' \ | 931 '(--force -f)'{-f,--force}'[force tag]' \ |
910 '--remove[remove a tag]' \ | 932 '--remove[remove a tag]' \ |
911 '(--edit -e)'{-e,--edit}'[edit commit message]' \ | 933 '(--edit -e)'{-e,--edit}'[edit commit message]' \ |
912 ':tag name:' | 934 ':tag name:' |
918 } | 940 } |
919 | 941 |
920 _hg_cmd_unbundle() { | 942 _hg_cmd_unbundle() { |
921 _arguments -s -S : $_hg_global_opts \ | 943 _arguments -s -S : $_hg_global_opts \ |
922 '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \ | 944 '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \ |
923 ':files:_files' | 945 '*:files:_files' |
924 } | 946 } |
925 | 947 |
926 _hg_cmd_update() { | 948 _hg_cmd_update() { |
927 _arguments -s -S : $_hg_global_opts \ | 949 _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts \ |
928 '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \ | 950 '(--clean -C)'{-C,--clean}'[discard uncommitted changes (no backup)]' \ |
929 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | 951 '(--check -c)'{-c,--check}'[require clean working directory]' \ |
930 '(--check -c)'{-c,--check}'[update across branches if no uncommitted changes]' \ | 952 '(--merge -m)'{-m,--merge}'[merge uncommitted changes]' \ |
931 '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:' \ | 953 '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ |
954 '(--rev -r 1)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | |
932 ':revision:_hg_labels' | 955 ':revision:_hg_labels' |
933 } | 956 } |
934 | 957 |
935 ## extensions ## | 958 ## extensions ## |
936 | 959 |
937 # HGK | 960 # HGK |
938 _hg_cmd_view() { | 961 _hg_cmd_view() { |
939 _arguments -s -S : $_hg_global_opts \ | 962 _arguments -s -S : $_hg_global_opts \ |
940 '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:' \ | 963 '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:limit' \ |
941 ':revision range:_hg_labels' | 964 ':revision range:_hg_labels' |
942 } | 965 } |
943 | 966 |
944 # MQ | 967 # MQ |
945 _hg_qseries() { | 968 _hg_qseries() { |
1022 '*:patch:_hg_qapplied' | 1045 '*:patch:_hg_qapplied' |
1023 } | 1046 } |
1024 | 1047 |
1025 _hg_cmd_qfold() { | 1048 _hg_cmd_qfold() { |
1026 _arguments -s -S : $_hg_global_opts $_h_commit_opts \ | 1049 _arguments -s -S : $_hg_global_opts $_h_commit_opts \ |
1027 '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \ | 1050 '(--keep -k)'{-k,--keep}'[keep folded patch files]' \ |
1028 '(--force -f)'{-f,--force}'[overwrite any local changes]' \ | 1051 '(--force -f)'{-f,--force}'[overwrite any local changes]' \ |
1029 '--no-backup[do not save backup copies of files]' \ | 1052 '--no-backup[do not save backup copies of files]' \ |
1030 '*:unapplied patch:_hg_qunapplied' | 1053 '*:unapplied patch:_hg_qunapplied' |
1031 } | 1054 } |
1032 | 1055 |
1051 } | 1074 } |
1052 | 1075 |
1053 _hg_cmd_qimport() { | 1076 _hg_cmd_qimport() { |
1054 _arguments -s -S : $_hg_global_opts $_hg_gitlike_opts \ | 1077 _arguments -s -S : $_hg_global_opts $_hg_gitlike_opts \ |
1055 '(--existing -e)'{-e,--existing}'[import file in patch dir]' \ | 1078 '(--existing -e)'{-e,--existing}'[import file in patch dir]' \ |
1056 '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \ | 1079 '(--name -n 2)'{-n+,--name}'[patch file name]:name' \ |
1057 '(--force -f)'{-f,--force}'[overwrite existing files]' \ | 1080 '(--force -f)'{-f,--force}'[overwrite existing files]' \ |
1058 '*'{-r+,--rev=}'[place existing revisions under mq control]:revision:_hg_revrange' \ | 1081 '*'{-r+,--rev=}'[place existing revisions under mq control]:revision:_hg_revrange' \ |
1059 '(--push -P)'{-P,--push}'[qpush after importing]' \ | 1082 '(--push -P)'{-P,--push}'[qpush after importing]' \ |
1060 '*:patch:_files' | 1083 '*:patch:_files' |
1061 } | 1084 } |
1129 _arguments -s -S : $_hg_global_opts $_hg_qseries_opts | 1152 _arguments -s -S : $_hg_global_opts $_hg_qseries_opts |
1130 } | 1153 } |
1131 | 1154 |
1132 _hg_cmd_strip() { | 1155 _hg_cmd_strip() { |
1133 _arguments -s -S : $_hg_global_opts \ | 1156 _arguments -s -S : $_hg_global_opts \ |
1134 '(--force -f)'{-f,--force}'[force removal, discard uncommitted changes, no backup]' \ | 1157 '(--force -f)'{-f,--force}'[force removal of changesets, discard uncommitted changes (no backup)]' \ |
1135 '(--no-backup -n)'{-n,--no-backup}'[no backups]' \ | 1158 '--no-backup[no backups]' \ |
1136 '(--keep -k)'{-k,--keep}'[do not modify working copy during strip]' \ | 1159 '(--keep -k)'{-k,--keep}'[do not modify working directory during strip]' \ |
1137 '(--bookmark -B)'{-B+,--bookmark=}'[remove revs only reachable from given bookmark]:bookmark:_hg_bookmarks' \ | 1160 '*'{-B+,--bookmark=}'[remove revs only reachable from given bookmark]:bookmark:_hg_bookmarks' \ |
1138 '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_labels' \ | 1161 '*'{-r+,--rev=}'[revision]:revision:_hg_labels' \ |
1139 ':revision:_hg_labels' | 1162 '*:revision:_hg_labels' |
1140 } | 1163 } |
1141 | 1164 |
1142 # Patchbomb | 1165 # Patchbomb |
1143 _hg_cmd_email() { | 1166 _hg_cmd_email() { |
1144 _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_gitlike_opts \ | 1167 _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_gitlike_opts \ |
1147 '(--outgoing -o)'{-o,--outgoing}'[send changes not found in the target repository]' \ | 1170 '(--outgoing -o)'{-o,--outgoing}'[send changes not found in the target repository]' \ |
1148 '(--bundle -b)'{-b,--bundle}'[send changes not in target as a binary bundle]' \ | 1171 '(--bundle -b)'{-b,--bundle}'[send changes not in target as a binary bundle]' \ |
1149 '--bundlename[name of the bundle attachment file (default: bundle)]:' \ | 1172 '--bundlename[name of the bundle attachment file (default: bundle)]:' \ |
1150 '*'{-r+,--rev=}'[search in given revision range]:revision:_hg_revrange' \ | 1173 '*'{-r+,--rev=}'[search in given revision range]:revision:_hg_revrange' \ |
1151 '--force[run even when remote repository is unrelated (with -b/--bundle)]' \ | 1174 '--force[run even when remote repository is unrelated (with -b/--bundle)]' \ |
1152 '*--base[a base changeset to specify instead of a destination (with -b/--bundle)]:revision:_hg_labels' \ | 1175 '*--base=[a base changeset to specify instead of a destination (with -b/--bundle)]:revision:_hg_labels' \ |
1153 '--intro[send an introduction email for a single patch]' \ | 1176 '--intro[send an introduction email for a single patch]' \ |
1154 '(--inline -i --attach -a)'{-a,--attach}'[send patches as attachments]' \ | 1177 '(--inline -i --attach -a)'{-a,--attach}'[send patches as attachments]' \ |
1155 '(--attach -a --inline -i)'{-i,--inline}'[send patches as inline attachments]' \ | 1178 '(--attach -a --inline -i)'{-i,--inline}'[send patches as inline attachments]' \ |
1156 '*--bcc[email addresses of blind carbon copy recipients]:email:' \ | 1179 '*--bcc=[email addresses of blind carbon copy recipients]:email' \ |
1157 '*'{-c+,--cc}'[email addresses of copy recipients]:email:' \ | 1180 '*'{-c+,--cc=}'[email addresses of copy recipients]:email' \ |
1158 '(--diffstat -d)'{-d,--diffstat}'[add diffstat output to messages]' \ | 1181 '(--diffstat -d)'{-d,--diffstat}'[add diffstat output to messages]' \ |
1159 '--date[use the given date as the sending date]:date:' \ | 1182 '--date=[use the given date as the sending date]:date' \ |
1160 '--desc[use the given file as the series description]:files:_files' \ | 1183 '--desc=[use the given file as the series description]:files:_files' \ |
1161 '(--from -f)'{-f,--from}'[email address of sender]:email:' \ | 1184 '(--from -f)'{-f+,--from=}'[email address of sender]:email' \ |
1162 '(--test -n)'{-n,--test}'[print messages that would be sent]' \ | 1185 '(--test -n)'{-n,--test}'[print messages that would be sent]' \ |
1163 '(--mbox -m)'{-m,--mbox}'[write messages to mbox file instead of sending them]:file:' \ | 1186 '(--mbox -m)'{-m+,--mbox=}'[write messages to mbox file instead of sending them]:file:_files' \ |
1164 '*--reply-to[email addresses replies should be sent to]:email:' \ | 1187 '*--reply-to=[email addresses replies should be sent to]:email' \ |
1165 '(--subject -s)'{-s,--subject}'[subject of first message (intro or single patch)]:subject:' \ | 1188 '(--subject -s)'{-s+,--subject=}'[subject of first message (intro or single patch)]:subject' \ |
1166 '--in-reply-to[message identifier to reply to]:msgid:' \ | 1189 '--in-reply-to=[message identifier to reply to]:msgid' \ |
1167 '*--flag[flags to add in subject prefixes]:flag:' \ | 1190 '*--flag=[flags to add in subject prefixes]:flag' \ |
1168 '*'{-t,--to}'[email addresses of recipients]:email:' \ | 1191 '*'{-t+,--to=}'[email addresses of recipients]:email' \ |
1169 ':revision:_hg_revrange' | 1192 ':revision:_hg_revrange' |
1170 } | 1193 } |
1171 | 1194 |
1172 # Rebase | 1195 # Rebase |
1173 _hg_cmd_rebase() { | 1196 _hg_cmd_rebase() { |
1174 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_mergetool_opts \ | 1197 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_mergetool_opts \ |
1175 '*'{-r+,--rev=}'[rebase these revisions]:revision:_hg_revrange' \ | 1198 '*'{-r+,--rev=}'[rebase these revisions]:revision:_hg_revrange' \ |
1176 '(--source -s)'{-s+,--source=}'[rebase from the specified changeset]:revision:_hg_labels' \ | 1199 '(--source -s --base -b)'{-s+,--source=}'[rebase the specified changeset and descendants]:revision:_hg_labels' \ |
1177 '(--base -b)'{-b+,--base=}'[rebase from the base of the specified changeset]:revision:_hg_labels' \ | 1200 '(--source -s --base -b)'{-b+,--base=}'[rebase everything from branching point of specified changeset]:revision:_hg_labels' \ |
1178 '(--dest -d)'{-d+,--dest=}'[rebase onto the specified changeset]:revision:_hg_labels' \ | 1201 '(--dest -d)'{-d+,--dest=}'[rebase onto the specified changeset]:revision:_hg_labels' \ |
1179 '--collapse[collapse the rebased changeset]' \ | 1202 '--collapse[collapse the rebased changesets]' \ |
1180 '--keep[keep original changeset]' \ | 1203 '(--keep -k)'{-k,--keep}'[keep original changesets]' \ |
1181 '--keepbranches[keep original branch name]' \ | 1204 '--keepbranches[keep original branch names]' \ |
1182 '(--continue -c)'{-c,--continue}'[continue an interrupted rebase]' \ | 1205 '(--continue -c --abort -a)'{-c,--continue}'[continue an interrupted rebase]' \ |
1183 '(--abort -a)'{-a,--abort}'[abort an interrupted rebase]' \ | 1206 '(--continue -c --abort -a)'{-a,--abort}'[abort an interrupted rebase]' \ |
1184 } | 1207 } |
1185 | 1208 |
1186 # Record | 1209 # Record |
1187 _hg_cmd_record() { | 1210 _hg_cmd_record() { |
1188 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_pat_opts \ | 1211 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_pat_opts \ |
1189 $_hg_ignore_space_opts $_hg_subrepos_opts \ | 1212 $_hg_ignore_space_opts $_hg_subrepos_opts \ |
1190 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ | 1213 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ |
1191 '--close-branch[mark a branch as closed, hiding it from the branch list]' \ | 1214 '--close-branch[mark a branch as closed, hiding it from the branch list]' \ |
1192 '--amend[amend the parent of the working dir]' \ | 1215 '--amend[amend the parent of the working dir]' \ |
1193 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date:' \ | 1216 '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ |
1194 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user:' | 1217 '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' |
1195 } | 1218 } |
1196 | 1219 |
1197 _hg_cmd_qrecord() { | 1220 _hg_cmd_qrecord() { |
1198 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_date_user_opts $_hg_gitlike_opts \ | 1221 _arguments -s -S : $_hg_global_opts $_hg_commit_opts $_hg_date_user_opts $_hg_gitlike_opts \ |
1199 $_hg_pat_opts $_hg_ignore_space_opts $_hg_subrepos_opts | 1222 $_hg_pat_opts $_hg_ignore_space_opts $_hg_subrepos_opts |
1200 } | 1223 } |
1201 | 1224 |
1202 # Convert | 1225 # Convert |
1203 _hg_cmd_convert() { | 1226 _hg_cmd_convert() { |
1204 _arguments -s -S : $_hg_global_opts \ | 1227 _arguments -s -S : $_hg_global_opts \ |
1205 '(--source-type -s)'{-s,--source-type}'[source repository type]' \ | 1228 '(--source-type -s)'{-s+,--source-type=}'[source repository type]:type:(hg cvs darcs git svn mtn gnuarch bzr p4)' \ |
1206 '(--dest-type -d)'{-d,--dest-type}'[destination repository type]' \ | 1229 '(--dest-type -d)'{-d+,--dest-type=}'[destination repository type]:type:(hg svn)' \ |
1207 '(--rev -r)'{-r+,--rev=}'[import up to target revision]:revision:' \ | 1230 '*'{-r+,--rev=}'[import up to target revision]:revision' \ |
1208 '(--authormap -A)'{-A+,--authormap=}'[remap usernames using this file]:file:_files' \ | 1231 '(--authormap -A)'{-A+,--authormap=}'[remap usernames using this file]:file:_files' \ |
1209 '--filemap[remap file names using contents of file]:file:_files' \ | 1232 '--filemap=[remap file names using contents of file]:file:_files' \ |
1210 '--splicemap[splice synthesized history into place]:file:_files' \ | 1233 '--full[apply filemap changes by converting all files again]' \ |
1211 '--branchmap[change branch names while converting]:file:_files' \ | 1234 '--splicemap=[splice synthesized history into place]:file:_files' \ |
1235 '--branchmap=[change branch names while converting]:file:_files' \ | |
1212 '--branchsort[try to sort changesets by branches]' \ | 1236 '--branchsort[try to sort changesets by branches]' \ |
1213 '--datesort[try to sort changesets by date]' \ | 1237 '--datesort[try to sort changesets by date]' \ |
1214 '--sourcesort[preserve source changesets order]' | 1238 '--sourcesort[preserve source changesets order]' \ |
1239 '--closesort[try to reorder closed revisions]' | |
1215 } | 1240 } |
1216 | 1241 |
1217 # Purge | 1242 # Purge |
1218 _hg_cmd_purge() { | 1243 _hg_cmd_purge() { |
1219 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ | 1244 _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ |