Show More
@@ -14,7 +14,18 b'' | |||
|
14 | 14 | |
|
15 | 15 | local curcontext="$curcontext" state line |
|
16 | 16 | typeset -A opt_args |
|
17 | local subcmds repos tags newFiles addedFiles includeExclude | |
|
17 | local subcmds repos tags newFiles addedFiles includeExclude commitMessage | |
|
18 | ||
|
19 | _mq_state () { | |
|
20 | case "$state" in | |
|
21 | (qapplied) | |
|
22 | compadd $(hg qapplied) | |
|
23 | ;; | |
|
24 | (qunapplied) | |
|
25 | compadd $(hg qunapplied) | |
|
26 | ;; | |
|
27 | esac | |
|
28 | } | |
|
18 | 29 | |
|
19 | 30 | tags=($(hg tags 2> /dev/null | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//')) |
|
20 | 31 | subcmds=($(hg -v help | sed -e '1,/^list of commands:/d' \ |
@@ -27,6 +38,14 b' includeExclude=(' | |||
|
27 | 38 | '*-X-[exclude names matching the given patterns]:dir:_files -W $(hg root) -/' |
|
28 | 39 | '*--exclude-[exclude names matching the given patterns]:dir:_files -W $(hg root) -/') |
|
29 | 40 | |
|
41 | commitMessage=( | |
|
42 | '(-m --message -l --logfile --edit)-e[edit commit message]' | |
|
43 | '(-m --message -l --logfile -e)--edit[edit commit message]' | |
|
44 | '(-e --edit -l --logfile --message)-m[use <text> as commit message]:message:' | |
|
45 | '(-e --edit -l --logfile -m)--message[use <text> as commit message]:message:' | |
|
46 | '(-e --edit -m --message --logfile)-l[read the commit message from <file>]:log file:_files' | |
|
47 | '(-e --edit -m --message -l)--logfile[read the commit message from <file>]:log file:_files') | |
|
48 | ||
|
30 | 49 | if [[ $service == "hg" ]]; then |
|
31 | 50 | _arguments -C -A "-*" \ |
|
32 | 51 | '(--repository)-R[repository root directory]:root:_files -/' \ |
@@ -419,6 +438,43 b' case $service in' | |||
|
419 | 438 | # no arguments for these commands |
|
420 | 439 | ;; |
|
421 | 440 | |
|
441 | # MQ commands | |
|
442 | (qdel*|qrm|qrem*) | |
|
443 | _arguments \ | |
|
444 | {-k,--keep}'[keep patch file]' \ | |
|
445 | {-r,--rev}'[revision]:applied patch:->qapplied' \ | |
|
446 | '*:unapplied patches:->qunapplied' | |
|
447 | _mq_state | |
|
448 | ;; | |
|
449 | ||
|
450 | (qnew) | |
|
451 | _arguments $commitMessage \ | |
|
452 | {-f,--force}'[import uncommitted changes into patch]' \ | |
|
453 | ':patch name:' | |
|
454 | ;; | |
|
455 | ||
|
456 | (qpo*) | |
|
457 | applied=( $(hg qapplied) ) | |
|
458 | _arguments \ | |
|
459 | (1){-a,--all}'[pop all patches]' \ | |
|
460 | {-f,--force}'[forget any local changes]' \ | |
|
461 | ':applied patch:->qapplied' | |
|
462 | _mq_state | |
|
463 | ;; | |
|
464 | ||
|
465 | (qpu*) | |
|
466 | _arguments \ | |
|
467 | (1){-a,--all}'[apply all patches]' \ | |
|
468 | {-f,--force}'[apply if the patch has rejects]' \ | |
|
469 | ':unapplied patch:->qunapplied' | |
|
470 | _mq_state | |
|
471 | ;; | |
|
472 | (qref*) | |
|
473 | _arguments $commitMessage $includeExclude \ | |
|
474 | {-g,--git}'[use git extended diff format]' \ | |
|
475 | {-s,--short}'[short refresh]' | |
|
476 | ;; | |
|
477 | ||
|
422 | 478 | (*) |
|
423 | 479 | _message "unknown hg command completion: $service" |
|
424 | 480 | ;; |
General Comments 0
You need to be logged in to leave comments.
Login now