##// END OF EJS Templates
zsh completion: basic mq support
Brendan Cully -
r3487:46958e42 default
parent child Browse files
Show More
@@ -14,7 +14,18 b''
14
14
15 local curcontext="$curcontext" state line
15 local curcontext="$curcontext" state line
16 typeset -A opt_args
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 tags=($(hg tags 2> /dev/null | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//'))
30 tags=($(hg tags 2> /dev/null | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//'))
20 subcmds=($(hg -v help | sed -e '1,/^list of commands:/d' \
31 subcmds=($(hg -v help | sed -e '1,/^list of commands:/d' \
@@ -27,6 +38,14 b' includeExclude=('
27 '*-X-[exclude names matching the given patterns]:dir:_files -W $(hg root) -/'
38 '*-X-[exclude names matching the given patterns]:dir:_files -W $(hg root) -/'
28 '*--exclude-[exclude names matching the given patterns]:dir:_files -W $(hg root) -/')
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 if [[ $service == "hg" ]]; then
49 if [[ $service == "hg" ]]; then
31 _arguments -C -A "-*" \
50 _arguments -C -A "-*" \
32 '(--repository)-R[repository root directory]:root:_files -/' \
51 '(--repository)-R[repository root directory]:root:_files -/' \
@@ -419,6 +438,43 b' case $service in'
419 # no arguments for these commands
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 _message "unknown hg command completion: $service"
479 _message "unknown hg command completion: $service"
424 ;;
480 ;;
General Comments 0
You need to be logged in to leave comments. Login now