From 262796ec2e8b2bafd320f86af6e7fb8799996cf5 Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Tue, 7 Aug 2018 14:11:57 +0800 Subject: 43253: hg --style deprecated in favour of --template --- Completion/Unix/Command/_hg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 8eaa457c8..50ab7132c 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -389,9 +389,9 @@ _hg_diff_opts=( _hg_dryrun_opts=( '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') -_hg_style_opts=( - '--style[display using template map file]:' - '--template[display with template]:') +_hg_template_opts=( + '--template[display with template]:template' +) _hg_commit_opts=( '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]' @@ -565,7 +565,7 @@ _hg_cmd_grep() { } _hg_cmd_heads() { - _arguments -s : $_hg_global_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_template_opts \ '(--rev -r)'{-r+,--rev=}'[show only heads which are descendants of rev]:revision:_hg_tags' } @@ -592,7 +592,7 @@ _hg_cmd_import() { } _hg_cmd_incoming() { - _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -616,7 +616,7 @@ _hg_cmd_locate() { } _hg_cmd_log() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_template_opts \ '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ '(--copies -C)'{-C,--copies}'[show copied files]' \ @@ -644,7 +644,7 @@ _hg_cmd_merge() { } _hg_cmd_outgoing() { - _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -654,7 +654,7 @@ _hg_cmd_outgoing() { } _hg_cmd_parents() { - _arguments -s : $_hg_global_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_template_opts \ '(--rev -r)'{-r+,--rev=}'[show parents of the specified rev]:revision:_hg_tags' \ ':last modified file:_hg_files' } @@ -785,7 +785,7 @@ _hg_cmd_tag() { } _hg_cmd_tip() { - _arguments -s : $_hg_global_opts $_hg_style_opts \ + _arguments -s : $_hg_global_opts $_hg_template_opts \ '(--patch -p)'{-p,--patch}'[show patch]' } -- cgit v1.2.3 From ea33441f457f6b8c9c36f516cc54f0ae0b272730 Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Tue, 7 Aug 2018 14:11:58 +0800 Subject: 43251: fix some return values of _hg functions --- ChangeLog | 3 +++ Completion/Unix/Command/_hg | 28 ++++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index dbaa1c52a..af2138040 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-07 Peter Stephenson + * Anton Shestakov: 43251: Completion/Unix/Command/_hg: fix + return value of some hg completion functions. + * Anton Shestakov: 43253: Completion/Unix/Command/_hg: hg --style is deprecated, use --template. diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 50ab7132c..0526fdd81 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -523,24 +523,28 @@ _hg_cmd_copy() { } _hg_cmd_diff() { + local context state state_descr line ret=1 typeset -A opt_args + _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \ '*'{-r+,--rev=}'[revision]:revision:_hg_revrange' \ '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \ '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \ '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \ - '*:file:->diff_files' + '*:file:->diff_files' && ret=0 if [[ $state == 'diff_files' ]] then if [[ -n $opt_args[-r] ]] then - _hg_files + _hg_files && ret=0 else - _hg_modified + _hg_modified && ret=0 fi fi + + return ret } _hg_cmd_export() { @@ -698,43 +702,47 @@ _hg_cmd_rename() { } _hg_cmd_resolve() { - local context state line + local context state state_descr line ret=1 typeset -A opt_args _arguments -s : $_hg_global_opts \ '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \ '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \ - '*:file:_hg_unresolved' + '*:file:_hg_unresolved' && ret=0 if [[ $state == 'resolve_files' ]] then _alternative 'files:resolved files:_hg_resolved' \ - 'files:unresolved files:_hg_unresolved' + 'files:unresolved files:_hg_unresolved' && ret=0 fi + + return ret } _hg_cmd_revert() { - local context state line + local context state state_descr line ret=1 typeset -A opt_args _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ '(--rev -r)'{-r+,--rev=}'[revision to revert to]:revision:_hg_tags' \ '--no-backup[do not save backup copies of files]' \ - '*:file:->diff_files' + '*:file:->diff_files' && ret=0 if [[ $state == 'diff_files' ]] then if [[ -n $opt_args[-r] ]] then - _hg_files + _hg_files && ret=0 else typeset -a status_files _hg_status mard - _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files + _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files && ret=0 fi fi + + return ret } _hg_cmd_serve() { -- cgit v1.2.3 From ea4cc2e98535b0f76eb6385086581379f6884e74 Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Tue, 7 Aug 2018 14:11:59 +0800 Subject: 43250: add hg forget, phase, summary completion --- ChangeLog | 3 +++ Completion/Unix/Command/_hg | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index af2138040..0317aa783 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-07 Peter Stephenson + * Anton Shestakov: 43250: Completion/Unix/Command/_hg: Add hg + forget, phase, summary completions. + * Anton Shestakov: 43251: Completion/Unix/Command/_hg: fix return value of some hg completion functions. diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 0526fdd81..6a0cf50bf 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -554,6 +554,11 @@ _hg_cmd_export() { '*:revision:_hg_tags' } +_hg_cmd_forget() { + _arguments -s : $_hg_global_opts $_hg_pat_opts \ + '*:file:_hg_files' +} + _hg_cmd_grep() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \ @@ -668,6 +673,16 @@ _hg_cmd_paths() { ':path:_hg_paths' } +_hg_cmd_phase() { + _arguments -s : $_hg_global_opts \ + '(--public -p --draft -d --secret -s)'{-p,--public}'[set changeset phase to public]' \ + '(--public -p --draft -d --secret -s)'{-d,--draft}'[set changeset phase to draft]' \ + '(--public -p --draft -d --secret -s)'{-s,--secret}'[set changeset phase to secret]' \ + '(--force -f)'{-f,--force}'[allow to move boundary backward]' \ + '*'{-r+,--rev=}'[target revision]:revision:_hg_tags' \ + '*:revision:_hg_tags' +} + _hg_cmd_pull() { _arguments -s : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ @@ -782,6 +797,11 @@ _hg_cmd_status() { '*:files:_files' } +_hg_cmd_summary() { + _arguments -s : $_hg_global_opts \ + '--remote[check for push and pull]' +} + _hg_cmd_tag() { _arguments -s : $_hg_global_opts \ '(--local -l)'{-l,--local}'[make the tag local]' \ -- cgit v1.2.3 From ac9dfc9e938714380bd59514fd067434228cc19b Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Tue, 7 Aug 2018 14:12:00 +0800 Subject: 43252: fix various hg options for completion --- ChangeLog | 3 + Completion/Unix/Command/_hg | 189 +++++++++++++++++++++++++++----------------- 2 files changed, 121 insertions(+), 71 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index 0317aa783..c7c48ad2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-07 Peter Stephenson + * Anton Shestakov: 43252: Completion/Unix/Command/_hg: fix up + various hg options for completion. + * Anton Shestakov: 43250: Completion/Unix/Command/_hg: Add hg forget, phase, summary completions. diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 6a0cf50bf..18e3d77e5 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -359,22 +359,22 @@ _hg_clone_dest() { # Common options _hg_global_opts=( - '(--repository -R)'{-R+,--repository=}'[repository root directory]:repository:_files -/' - '--cwd[change working directory]:new working directory:_files -/' - '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]' + '(--repository -R)'{-R+,--repository=}'[repository root directory or name of overlay bundle file]:repository:_files -/' + '--cwd=[change working directory]:new working directory:_files -/' + '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, automatically pick the first choice for all prompts]' '(--verbose -v)'{-v,--verbose}'[enable additional output]' '*--config[set/override config option]:defined config items:_hg_config' '(--quiet -q)'{-q,--quiet}'[suppress output]' '(--help -h)'{-h,--help}'[display help and exit]' - '--debug[debug mode]' + '--debug[enable debugging output]' '--debugger[start debugger]' - '--encoding[set the charset encoding (default: UTF8)]' - '--encodingmode[set the charset encoding mode (default: strict)]' - '--lsprof[print improved command execution profile]' - '--traceback[print traceback on exception]' + '--encoding=[set the charset encoding]:encoding' + '--encodingmode=[set the charset encoding mode]:encoding mode' + '--traceback[always print a traceback on exception]' '--time[time how long the command takes]' - '--profile[profile]' + '--profile[print command execution profile]' '--version[output version information and exit]' + '--hidden[consider hidden changesets]' ) _hg_pat_opts=( @@ -384,7 +384,8 @@ _hg_pat_opts=( _hg_diff_opts=( '(--text -a)'{-a,--text}'[treat all files as text]' '(--git -g)'{-g,--git}'[use git extended diff format]' - "--nodates[don't include dates in diff headers]") + '--nodates[omit dates from diff headers]' +) _hg_dryrun_opts=( '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') @@ -399,8 +400,10 @@ _hg_commit_opts=( '(-e --edit -m --message --logfile -l)'{-l+,--logfile=}'[read the commit message from ]:log file:_files') _hg_remote_opts=( - '(--ssh -e)'{-e+,--ssh=}'[specify ssh command to use]:' - '--remotecmd[specify hg command to run on the remote side]:') + '(--ssh -e)'{-e+,--ssh=}'[specify ssh command to use]:command' + '--remotecmd=[specify hg command to run on the remote side]:remote command' + '--insecure[do not verify server certificate (ignoring web.cacerts config)]' +) _hg_cmd() { _call_program hg hg --config ui.verbose=0 --config defaults."$1"= \ @@ -414,26 +417,28 @@ _hg_cmd_add() { _hg_cmd_addremove() { _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ - '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:' \ + '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ '*:unknown or missing files:_hg_addremove' } _hg_cmd_annotate() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev=}'[annotate the specified revision]:revision:_hg_tags' \ - '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \ + "--no-follow[don't follow copies and renames]" \ '(--text -a)'{-a,--text}'[treat all files as text]' \ - '(--user -u)'{-u,--user}'[list the author]' \ - '(--date -d)'{-d,--date}'[list the date]' \ + '(--user -u)'{-u,--user}'[list the author (long with -v)]' \ + '(--file -f)'{-f,--file}'[list the filename]' \ + '(--date -d)'{-d,--date}'[list the date (short with -q)]' \ '(--number -n)'{-n,--number}'[list the revision number (default)]' \ '(--changeset -c)'{-c,--changeset}'[list the changeset]' \ + '(--line-number -l)'{-l,--line-number}'[show line number at the first appearance]' \ '*:files:_hg_files' } _hg_cmd_archive() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ '--no-decode[do not pass files through decoders]' \ - '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:' \ + '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:prefix' \ '(--rev -r)'{-r+,--rev=}'[revision to distribute]:revision:_hg_tags' \ '(--type -t)'{-t+,--type=}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \ '*:destination:_files' @@ -442,9 +447,9 @@ _hg_cmd_archive() { _hg_cmd_backout() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ '--merge[merge with old dirstate parent after backout]' \ - '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ + '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ '--parent[parent to choose when backing out merge]' \ - '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ + '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_tags' \ '(--message -m)'{-m+,--message=}'[specify commit message]:text' \ '(--logfile -l)'{-l+,--logfile=}'[read commit message from specified file]:log file:_files' @@ -453,6 +458,7 @@ _hg_cmd_backout() { _hg_cmd_bisect() { _arguments -s : $_hg_global_opts \ '(-)'{-r,--reset}'[reset bisect state]' \ + '(--extend -e)'{-e,--extend}'[extend the bisect range]' \ '(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_tags \ '(--good -g --bad -b --skip -s --reset -r)'{-b,--bad}'[mark changeset bad]'::revision:_hg_tags \ '(--good -g --bad -b --skip -s --reset -r)'{-s,--skip}'[skip testing changeset]' \ @@ -463,9 +469,9 @@ _hg_cmd_bisect() { _hg_cmd_bookmarks() { _arguments -s : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force]' \ - '(--rev -r)'{-r+,--rev=}'[set bookmark at revision]:revision:_hg_tags' \ - '(--delete -d)'{-d,--delete}'[delete a given bookmark]' \ - '(--rename -m)'{-m+,--rename=}'[rename given bookmark]:bookmark:_hg_bookmarks_internal' \ + '(--rev -r --delete -d --rename -m)'{-r+,--rev=}'[set bookmark at revision]:revision:_hg_tags' \ + '(--rev -r --delete -d --rename -m)'{-d,--delete}'[delete a given bookmark]' \ + '(--rev -r --delete -d --rename -m)'{-m+,--rename=}'[rename given bookmark]:bookmark:_hg_bookmarks_internal' \ '(--inactive -i)'{-i,--inactive}'[mark a bookmark inactive]' \ ':bookmark:_hg_bookmarks_internal' } @@ -478,28 +484,33 @@ _hg_cmd_branch() { _hg_cmd_branches() { _arguments -s : $_hg_global_opts \ - '(--active -a)'{-a,--active}'[show only branches that have unmerge heads]' + '(--closed -c)'{-c,--closed}'[show normal and closed branches]' } _hg_cmd_bundle() { _arguments -s : $_hg_global_opts $_hg_remote_opts \ - '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \ - '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_tags' \ + '(--force -f)'{-f,--force}'[run even when the destination is unrelated]' \ + '(2)*--base[a base changeset assumed to be available at the destination]:revision:_hg_tags' \ + '*'{-b+,--branch=}'[a specific branch you would like to bundle]:branch:_hg_branches_internal' \ + '*'{-r+,--rev=}'[a changeset intended to be added to the destination]:revision:_hg_tags' \ + '--all[bundle all changesets in the repository]' \ + '--type[bundle compression type to use (default: bzip2)]:bundle type' \ ':output file:_files' \ ':destination repository:_files -/' } _hg_cmd_cat() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ - '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:filespec:' \ + '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_tags' \ + '--decode[apply any matching decode filter]' \ '*:file:_hg_files' } _hg_cmd_clone() { _arguments -s : $_hg_global_opts $_hg_remote_opts \ '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \ - '(--rev -r)'{-r+,--rev=}'[a changeset you would like to have after cloning]:' \ + '(--rev -r)'{-r+,--rev=}'[include the specified changeset]:revision' \ '--uncompressed[use uncompressed transfer (fast over LAN)]' \ ':source repository:_hg_remote' \ ':destination:_hg_clone_dest' @@ -510,8 +521,12 @@ _hg_cmd_commit() { '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ '(--message -m)'{-m+,--message=}'[specify commit message]:text' \ '(--logfile -l)'{-l+,--logfile=}'[read commit message from specified file]:log file:_files' \ - '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ - '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ + '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ + '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ + '--amend[amend the parent of the working directory]' \ + '--close-branch[mark a branch head as closed]' \ + '(--interactive -i)'{-i,--interactive}'[use interactive mode]' \ + '(--secret -s)'{-s,--secret}'[use the secret phase for committing]' \ '*:file:_hg_committable' } @@ -549,7 +564,7 @@ _hg_cmd_diff() { _hg_cmd_export() { _arguments -s : $_hg_global_opts $_hg_diff_opts \ - '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \ + '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ '--switch-parent[diff against the second parent]' \ '*:revision:_hg_tags' } @@ -575,28 +590,42 @@ _hg_cmd_grep() { _hg_cmd_heads() { _arguments -s : $_hg_global_opts $_hg_template_opts \ + '(--topo -t)'{-t,--topo}'[show topological heads only]' \ + '(--closed -c)'{-c,--closed}'[show normal and closed branch heads]' \ '(--rev -r)'{-r+,--rev=}'[show only heads which are descendants of rev]:revision:_hg_tags' } _hg_cmd_help() { _arguments -s : $_hg_global_opts \ + '(--extension -e)'{-e,--extension}'[show only help for extensions]' \ + '(--command -c)'{-c,--command}'[show only help for commands]' \ + '(--keyword -k)'{-k,--keyword}'[show topics matching keyword]' \ '*:mercurial command:_hg_commands' } _hg_cmd_identify() { _arguments -s : $_hg_global_opts \ '(--rev -r)'{-r+,--rev=}'[identify the specified rev]:revision:_hg_tags' \ - '(--num -n)'{-n+,--num=}'[show local revision number]' \ - '(--id -i)'{-i+,--id=}'[show global revision id]' \ - '(--branch -b)'{-b+,--branch=}'[show branch]' \ - '(--tags -t)'{-t+,--tags=}'[show tags]' + '(--num -n)'{-n,--num}'[show local revision number]' \ + '(--id -i)'{-i,--id}'[show global revision id]' \ + '(--branch -b)'{-b,--branch}'[show branch]' \ + '(--tags -t)'{-t,--tags}'[show tags]' \ + '(--bookmarks -B)'{-B,--bookmarks}'[show bookmarks]' } _hg_cmd_import() { _arguments -s : $_hg_global_opts \ - '(--strip -p)'{-p+,--strip=}'[directory strip option for patch (default: 1)]:count:' \ + '(--strip -p)'{-p+,--strip=}'[directory strip option for patch (default: 1)]:count' \ '(--message -m)'{-m+,--message=}'[use as commit message]:text:' \ '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \ + '--bypass[apply patch without touching the working directory]' \ + '--no-commit[do not commit, just update the working directory]' \ + '--partial[commit even if some hunks fail]' \ + '--exact[abort if patch would apply lossily]' \ + '--import-branch[use any branch information in patch (implied by --exact)]' \ + '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ + '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ + '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ '*:patch:_files' } @@ -605,7 +634,7 @@ _hg_cmd_incoming() { '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ - '(--rev -r)'{-r+,--rev=}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \ + '*'{-r+,--rev=}'[a remote changeset intended to be added]:revision:_hg_tags' \ '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ '--bundle[file to store the bundles into]:bundle file:_files' \ ':source:_hg_remote' @@ -620,7 +649,7 @@ _hg_cmd_locate() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev=}'[search repository as it stood at revision]:revision:_hg_tags' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ - '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \ + '(--fullpath -f)'{-f,--fullpath}'[print complete paths from the filesystem root]' \ '*:search pattern:_hg_files' } @@ -629,25 +658,26 @@ _hg_cmd_log() { '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ '(--copies -C)'{-C,--copies}'[show copied files]' \ - '(--keyword -k)'{-k+,--keyword=}'[search for a keyword]:' \ - '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:' \ - '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \ + '*'{-k+,--keyword=}'[search for a keyword]:keyword' \ + '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:limit' \ + '*'{-r+,--rev=}'[show the specified revision or revset]:revision:_hg_revrange' \ '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \ '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ - '(--prune -P)'{-P+,--prune=}'[do not display revision or any of its ancestors]:revision:_hg_tags' \ + '*'{-P+,--prune=}'[do not display revision or any of its ancestors]:revision:_hg_tags' \ '*:files:_hg_files' } _hg_cmd_manifest() { _arguments -s : $_hg_global_opts \ + '--all[list files from all revisions]' \ ':revision:_hg_tags' } _hg_cmd_merge() { _arguments -s : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \ - '(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_mergerevs' \ + '(--rev -r 1)'{-r+,--rev=}'[revision to merge]:revision:_hg_mergerevs' \ '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \ ':revision:_hg_mergerevs' } @@ -657,7 +687,7 @@ _hg_cmd_outgoing() { '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ - '(--rev -r)'{-r+,--rev=}'[a specific revision you would like to push]' \ + '*'{-r+,--rev=}'[a changeset intended to be included in the destination]:revision:_hg_tags' \ '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ ':destination:_hg_remote' } @@ -687,25 +717,24 @@ _hg_cmd_pull() { _arguments -s : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \ - '(--rev -r)'{-r+,--rev=}'[a specific revision up to which you would like to pull]:revision:' \ + '(--rev -r)'{-r+,--rev=}'[a specific revision up to which you would like to pull]:revision' \ ':source:_hg_remote' } _hg_cmd_push() { _arguments -s : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[force push]' \ - '(--rev -r)'{-r+,--rev=}'[a specific revision you would like to push]:revision:_hg_tags' \ + '*'{-r+,--rev=}'[a changeset intended to be included in the destination]:revision:_hg_tags' \ '*'{-B,--bookmark=}'[bookmark to push]:bookmark:_hg_bookmarks_internal' \ '*'{-b,--branch=}'[branch to push]:branch:_hg_branches_internal' \ - '--insecure[do not verify server certificate]' \ '--new-branch[allow pushing a new branch]' \ ':destination:_hg_remote' } _hg_cmd_remove() { _arguments -s : $_hg_global_opts $_hg_pat_opts \ - '(--after -A)'{-A,--after}'[record remove that has already occurred]' \ - '(--force -f)'{-f,--force}'[remove file even if modified]' \ + '(--after -A)'{-A,--after}'[record delete for missing files]' \ + '(--force -f)'{-f,--force}'[forget added files, delete modified files]' \ '*:file:_hg_files' } @@ -721,9 +750,11 @@ _hg_cmd_resolve() { typeset -A opt_args _arguments -s : $_hg_global_opts \ + '(--all -a)'{-a,--all}'[select all unresolved files]' \ + '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \ - '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \ + '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[mark files as unresolved]:*:resolved files:_hg_resolved' \ '*:file:_hg_unresolved' && ret=0 if [[ $state == 'resolve_files' ]] @@ -742,7 +773,8 @@ _hg_cmd_revert() { _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ '(--rev -r)'{-r+,--rev=}'[revision to revert to]:revision:_hg_tags' \ - '--no-backup[do not save backup copies of files]' \ + '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \ + '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ '*:file:->diff_files' && ret=0 if [[ $state == 'diff_files' ]] @@ -762,21 +794,29 @@ _hg_cmd_revert() { _hg_cmd_serve() { _arguments -s : $_hg_global_opts \ - '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file]:log file:_files' \ - '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file]:log file:_files' \ + '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file to write to]:log file:_files' \ + '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file to write to]:log file:_files' \ '(--daemon -d)'{-d,--daemon}'[run server in background]' \ - '(--port -p)'{-p+,--port=}'[listen port]:listen port:' \ - '(--address -a)'{-a+,--address=}'[interface address]:interface address:' \ - '(--name -n)'{-n+,--name=}'[name to show in web pages]:repository name:' \ - '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \ - '--style[web template style]:style' \ + '(--port -p)'{-p+,--port=}'[port to listen on (default: 8000)]:listen port' \ + '(--address -a)'{-a+,--address=}'[address to listen on (default: all interfaces)]:interface address' \ + '--prefix[prefix path to serve from (default: server root)]:prefix' \ + '(--name -n)'{-n+,--name=}'[name to show in web pages (default: working directory)]:repository name' \ + '--web-conf=[name of the hgweb config file]:config file:_files' \ + '--pid-file=[name of file to write process ID to]:pid file:_files' \ + '--cmdserver[for remote clients]' \ + '(--templates -t)'{-t+,--templates=}'[web template directory]:template dir:_files -/' \ + '--style=[web template style]:style' \ '--stdio[for remote clients]' \ - '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]' + '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]' \ + '--certificate=[SSL certificate file]:certificate file:_files' } _hg_cmd_showconfig() { _arguments -s : $_hg_global_opts \ - '(--untrusted -u)'{-u+,--untrusted=}'[show untrusted configuration options]' \ + '(--untrusted -u)'{-u,--untrusted}'[show untrusted configuration options]' \ + '(--edit -e)'{-e,--edit}'[edit user config]' \ + '(--local -l --global -g)'{-l,--local}'[edit repository config]' \ + '(--local -l --global -g)'{-g,--global}'[edit global config]' \ ':config item:_hg_config' } @@ -788,12 +828,13 @@ _hg_cmd_status() { '(--removed -r)'{-r,--removed}'[show only removed files]' \ '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \ '(--clean -c)'{-c,--clean}'[show only files without changes]' \ - '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \ + '(--unknown -u)'{-u,--unknown}'[show only unknown (not tracked) files]' \ '(--ignored -i)'{-i,--ignored}'[show ignored files]' \ '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--copies -C)'{-C,--copies}'[show source of copied files]' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ - '--rev[show difference from revision]:revision:_hg_tags' \ + '*--rev=[show difference from revision]:revision:_hg_tags' \ + '--change=[list the changed files of a revision]:revision:_hg_tags' \ '*:files:_files' } @@ -805,10 +846,12 @@ _hg_cmd_summary() { _hg_cmd_tag() { _arguments -s : $_hg_global_opts \ '(--local -l)'{-l,--local}'[make the tag local]' \ - '(--message -m)'{-m+,--message=}'[message for tag commit log entry]:message:' \ - '(--date -d)'{-d+,--date=}'[record datecode as commit date]:date code:' \ - '(--user -u)'{-u+,--user=}'[record user as commiter]:user:' \ + '(--message -m)'{-m+,--message=}'[message for tag commit log entry]:message' \ + '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ + '(--user -u)'{-u+,--user=}'[record the specified user as committer]:user' \ '(--rev -r)'{-r+,--rev=}'[revision to tag]:revision:_hg_tags' \ + '(--force -f)'{-f,--force}'[force tag]' \ + '--remove[remove a tag]' \ ':tag name:' } @@ -820,12 +863,14 @@ _hg_cmd_tip() { _hg_cmd_unbundle() { _arguments -s : $_hg_global_opts \ '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \ - ':files:_files' + '*:files:_files' } _hg_cmd_update() { _arguments -s : $_hg_global_opts \ - '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \ + '(--clean -C)'{-C,--clean}'[discard uncommitted changes (no backup)]' \ + '(--check -c)'{-c,--check}'[require clean working directory]' \ + '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_tags' \ ':revision:_hg_tags' } @@ -833,7 +878,7 @@ _hg_cmd_update() { # HGK _hg_cmd_view() { _arguments -s : $_hg_global_opts \ - '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:' \ + '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:limit' \ ':revision range:_hg_tags' } @@ -1005,10 +1050,12 @@ _hg_cmd_qtop() { _hg_cmd_strip() { _arguments -s : $_hg_global_opts \ - '(--force -f)'{-f,--force}'[force multi-head removal]' \ - '(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \ - '(--nobackup -n)'{-n,--nobackup}'[no backups]' \ - ':revision:_hg_tags' + '*'{-r+,--rev=}'[revision]:revision:_hg_tags' \ + '(--force -f)'{-f,--force}'[force removal of changesets, discard uncommitted changes (no backup)]' \ + '--no-backup[no backups]' \ + '(--keep -k)'{-k,--keep}'[do not modify working directory during strip]' \ + '*'{-B+,--bookmark=}'[remove revs only reachable from given bookmark]:bookmark:_hg_bookmarks_internal' \ + '*:revision:_hg_tags' } _hg "$@" -- cgit v1.2.3 From bf8b61182043ec5457bfcc97f4969949678e0385 Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Tue, 7 Aug 2018 14:12:01 +0800 Subject: 43254: remove hg -w completion, add hg -S --- ChangeLog | 3 + Completion/Unix/Command/_hg | 138 ++++++++++++++++++++++---------------------- 2 files changed, 72 insertions(+), 69 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index c7c48ad2a..7a4cb05a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-07 Peter Stephenson + * Anton Shestakov: 43254: Completion/Unix/Command/_hg: Remove hg + -w and add hg -S. + * Anton Shestakov: 43252: Completion/Unix/Command/_hg: fix up various hg options for completion. diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 18e3d77e5..2b2d3c4ec 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -82,7 +82,7 @@ _hg() { if [[ -z "$cmd" ]] then - _arguments -s -w : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ ':mercurial command:_hg_commands' return fi @@ -119,7 +119,7 @@ _hg() { _hg_cmd_${cmd} else # complete unknown commands normally - _arguments -s -w : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '*:files:_hg_files' fi } @@ -411,18 +411,18 @@ _hg_cmd() { } _hg_cmd_add() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '*:unknown files:_hg_unknown' } _hg_cmd_addremove() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ '*:unknown or missing files:_hg_addremove' } _hg_cmd_annotate() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev=}'[annotate the specified revision]:revision:_hg_tags' \ "--no-follow[don't follow copies and renames]" \ '(--text -a)'{-a,--text}'[treat all files as text]' \ @@ -436,7 +436,7 @@ _hg_cmd_annotate() { } _hg_cmd_archive() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '--no-decode[do not pass files through decoders]' \ '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:prefix' \ '(--rev -r)'{-r+,--rev=}'[revision to distribute]:revision:_hg_tags' \ @@ -445,7 +445,7 @@ _hg_cmd_archive() { } _hg_cmd_backout() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '--merge[merge with old dirstate parent after backout]' \ '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ '--parent[parent to choose when backing out merge]' \ @@ -456,7 +456,7 @@ _hg_cmd_backout() { } _hg_cmd_bisect() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(-)'{-r,--reset}'[reset bisect state]' \ '(--extend -e)'{-e,--extend}'[extend the bisect range]' \ '(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_tags \ @@ -467,7 +467,7 @@ _hg_cmd_bisect() { } _hg_cmd_bookmarks() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force]' \ '(--rev -r --delete -d --rename -m)'{-r+,--rev=}'[set bookmark at revision]:revision:_hg_tags' \ '(--rev -r --delete -d --rename -m)'{-d,--delete}'[delete a given bookmark]' \ @@ -477,18 +477,18 @@ _hg_cmd_bookmarks() { } _hg_cmd_branch() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--force -f)'{-f,--force}'[set branch name even if it shadows an existing branch]' \ '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]' } _hg_cmd_branches() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--closed -c)'{-c,--closed}'[show normal and closed branches]' } _hg_cmd_bundle() { - _arguments -s : $_hg_global_opts $_hg_remote_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when the destination is unrelated]' \ '(2)*--base[a base changeset assumed to be available at the destination]:revision:_hg_tags' \ '*'{-b+,--branch=}'[a specific branch you would like to bundle]:branch:_hg_branches_internal' \ @@ -500,7 +500,7 @@ _hg_cmd_bundle() { } _hg_cmd_cat() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ '(--rev -r)'{-r+,--rev=}'[revision]:revision:_hg_tags' \ '--decode[apply any matching decode filter]' \ @@ -508,7 +508,7 @@ _hg_cmd_cat() { } _hg_cmd_clone() { - _arguments -s : $_hg_global_opts $_hg_remote_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \ '(--rev -r)'{-r+,--rev=}'[include the specified changeset]:revision' \ '--uncompressed[use uncompressed transfer (fast over LAN)]' \ @@ -517,7 +517,7 @@ _hg_cmd_clone() { } _hg_cmd_commit() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ '(--message -m)'{-m+,--message=}'[specify commit message]:text' \ '(--logfile -l)'{-l+,--logfile=}'[read commit message from specified file]:log file:_files' \ @@ -531,7 +531,7 @@ _hg_cmd_commit() { } _hg_cmd_copy() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \ '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \ '*:file:_hg_files' @@ -541,7 +541,7 @@ _hg_cmd_diff() { local context state state_descr line ret=1 typeset -A opt_args - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \ '*'{-r+,--rev=}'[revision]:revision:_hg_revrange' \ '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \ @@ -563,19 +563,19 @@ _hg_cmd_diff() { } _hg_cmd_export() { - _arguments -s : $_hg_global_opts $_hg_diff_opts \ + _arguments -s -S : $_hg_global_opts $_hg_diff_opts \ '(--output -o)'{-o+,--output=}'[print output to file with formatted name]:format string' \ '--switch-parent[diff against the second parent]' \ '*:revision:_hg_tags' } _hg_cmd_forget() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '*:file:_hg_files' } _hg_cmd_grep() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \ '--all[print all revisions with matches]' \ '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \ @@ -589,14 +589,14 @@ _hg_cmd_grep() { } _hg_cmd_heads() { - _arguments -s : $_hg_global_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_template_opts \ '(--topo -t)'{-t,--topo}'[show topological heads only]' \ '(--closed -c)'{-c,--closed}'[show normal and closed branch heads]' \ '(--rev -r)'{-r+,--rev=}'[show only heads which are descendants of rev]:revision:_hg_tags' } _hg_cmd_help() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--extension -e)'{-e,--extension}'[show only help for extensions]' \ '(--command -c)'{-c,--command}'[show only help for commands]' \ '(--keyword -k)'{-k,--keyword}'[show topics matching keyword]' \ @@ -604,7 +604,7 @@ _hg_cmd_help() { } _hg_cmd_identify() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--rev -r)'{-r+,--rev=}'[identify the specified rev]:revision:_hg_tags' \ '(--num -n)'{-n,--num}'[show local revision number]' \ '(--id -i)'{-i,--id}'[show global revision id]' \ @@ -614,7 +614,7 @@ _hg_cmd_identify() { } _hg_cmd_import() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--strip -p)'{-p+,--strip=}'[directory strip option for patch (default: 1)]:count' \ '(--message -m)'{-m+,--message=}'[use as commit message]:text:' \ '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \ @@ -630,7 +630,7 @@ _hg_cmd_import() { } _hg_cmd_incoming() { - _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -641,12 +641,12 @@ _hg_cmd_incoming() { } _hg_cmd_init() { - _arguments -s : $_hg_global_opts $_hg_remote_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ ':dir:_files -/' } _hg_cmd_locate() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev=}'[search repository as it stood at revision]:revision:_hg_tags' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ '(--fullpath -f)'{-f,--fullpath}'[print complete paths from the filesystem root]' \ @@ -654,7 +654,7 @@ _hg_cmd_locate() { } _hg_cmd_log() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_template_opts \ '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ '(--copies -C)'{-C,--copies}'[show copied files]' \ @@ -669,13 +669,13 @@ _hg_cmd_log() { } _hg_cmd_manifest() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '--all[list files from all revisions]' \ ':revision:_hg_tags' } _hg_cmd_merge() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \ '(--rev -r 1)'{-r+,--rev=}'[revision to merge]:revision:_hg_mergerevs' \ '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \ @@ -683,7 +683,7 @@ _hg_cmd_merge() { } _hg_cmd_outgoing() { - _arguments -s : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -693,18 +693,18 @@ _hg_cmd_outgoing() { } _hg_cmd_parents() { - _arguments -s : $_hg_global_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_template_opts \ '(--rev -r)'{-r+,--rev=}'[show parents of the specified rev]:revision:_hg_tags' \ ':last modified file:_hg_files' } _hg_cmd_paths() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ ':path:_hg_paths' } _hg_cmd_phase() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--public -p --draft -d --secret -s)'{-p,--public}'[set changeset phase to public]' \ '(--public -p --draft -d --secret -s)'{-d,--draft}'[set changeset phase to draft]' \ '(--public -p --draft -d --secret -s)'{-s,--secret}'[set changeset phase to secret]' \ @@ -714,7 +714,7 @@ _hg_cmd_phase() { } _hg_cmd_pull() { - _arguments -s : $_hg_global_opts $_hg_remote_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \ '(--rev -r)'{-r+,--rev=}'[a specific revision up to which you would like to pull]:revision' \ @@ -722,7 +722,7 @@ _hg_cmd_pull() { } _hg_cmd_push() { - _arguments -s : $_hg_global_opts $_hg_remote_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[force push]' \ '*'{-r+,--rev=}'[a changeset intended to be included in the destination]:revision:_hg_tags' \ '*'{-B,--bookmark=}'[bookmark to push]:bookmark:_hg_bookmarks_internal' \ @@ -732,14 +732,14 @@ _hg_cmd_push() { } _hg_cmd_remove() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--after -A)'{-A,--after}'[record delete for missing files]' \ '(--force -f)'{-f,--force}'[forget added files, delete modified files]' \ '*:file:_hg_files' } _hg_cmd_rename() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \ '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \ '*:file:_hg_files' @@ -749,7 +749,7 @@ _hg_cmd_resolve() { local context state state_descr line ret=1 typeset -A opt_args - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--all -a)'{-a,--all}'[select all unresolved files]' \ '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ @@ -770,7 +770,7 @@ _hg_cmd_revert() { local context state state_descr line ret=1 typeset -A opt_args - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ '(--rev -r)'{-r+,--rev=}'[revision to revert to]:revision:_hg_tags' \ '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \ @@ -793,7 +793,7 @@ _hg_cmd_revert() { } _hg_cmd_serve() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file to write to]:log file:_files' \ '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file to write to]:log file:_files' \ '(--daemon -d)'{-d,--daemon}'[run server in background]' \ @@ -812,7 +812,7 @@ _hg_cmd_serve() { } _hg_cmd_showconfig() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--untrusted -u)'{-u,--untrusted}'[show untrusted configuration options]' \ '(--edit -e)'{-e,--edit}'[edit user config]' \ '(--local -l --global -g)'{-l,--local}'[edit repository config]' \ @@ -821,7 +821,7 @@ _hg_cmd_showconfig() { } _hg_cmd_status() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '(--all -A)'{-A,--all}'[show status of all files]' \ '(--modified -m)'{-m,--modified}'[show only modified files]' \ '(--added -a)'{-a,--added}'[show only added files]' \ @@ -839,12 +839,12 @@ _hg_cmd_status() { } _hg_cmd_summary() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '--remote[check for push and pull]' } _hg_cmd_tag() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--local -l)'{-l,--local}'[make the tag local]' \ '(--message -m)'{-m+,--message=}'[message for tag commit log entry]:message' \ '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ @@ -856,18 +856,18 @@ _hg_cmd_tag() { } _hg_cmd_tip() { - _arguments -s : $_hg_global_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_template_opts \ '(--patch -p)'{-p,--patch}'[show patch]' } _hg_cmd_unbundle() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \ '*:files:_files' } _hg_cmd_update() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--clean -C)'{-C,--clean}'[discard uncommitted changes (no backup)]' \ '(--check -c)'{-c,--check}'[require clean working directory]' \ '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ @@ -877,7 +877,7 @@ _hg_cmd_update() { # HGK _hg_cmd_view() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--limit -l)'{-l+,--limit=}'[limit number of changes displayed]:limit' \ ':revision range:_hg_tags' } @@ -932,35 +932,35 @@ _hg_qseries_opts=( '(--summary -s)'{-s,--summary}'[print first line of patch header]') _hg_cmd_qapplied() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qdelete() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--keep -k)'{-k,--keep}'[keep patch file]' \ '*'{-r+,--rev=}'[stop managing a revision]:applied patch:_hg_revrange' \ '*:unapplied patch:_hg_qdeletable' } _hg_cmd_qdiff() { - _arguments -s : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ '*:pattern:_hg_files' } _hg_cmd_qfold() { - _arguments -s : $_hg_global_opts $_h_commit_opts \ + _arguments -s -S : $_hg_global_opts $_h_commit_opts \ '(--keep -k)'{-k,--keep}'[keep folded patch files]' \ '*:unapplied patch:_hg_qunapplied' } _hg_cmd_qgoto() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--force -f)'{-f,--force}'[overwrite any local changes]' \ ':patch:_hg_qseries' } _hg_cmd_qguard() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--list -l)'{-l,--list}'[list all patches and guards]' \ '(--none -n)'{-n,--none}'[drop all guards]' \ ':patch:_hg_qseries' \ @@ -968,12 +968,12 @@ _hg_cmd_qguard() { } _hg_cmd_qheader() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ ':patch:_hg_qseries' } _hg_cmd_qimport() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--existing -e)'{-e,--existing}'[import file in patch dir]' \ '(--name -n 2)'{-n+,--name=}'[patch file name]:name:' \ '(--force -f)'{-f,--force}'[overwrite existing files]' \ @@ -982,17 +982,17 @@ _hg_cmd_qimport() { } _hg_cmd_qnew() { - _arguments -s : $_hg_global_opts $_hg_commit_opts \ + _arguments -s -S : $_hg_global_opts $_hg_commit_opts \ '(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \ ':patch:' } _hg_cmd_qnext() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qpop() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--all -a :)'{-a,--all}'[pop all patches]' \ '(--name -n)'{-n+,--name=}'[queue name to pop]:' \ '(--force -f)'{-f,--force}'[forget any local changes]' \ @@ -1000,11 +1000,11 @@ _hg_cmd_qpop() { } _hg_cmd_qprev() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qpush() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--all -a :)'{-a,--all}'[apply all patches]' \ '(--list -l)'{-l,--list}'[list patch name in commit text]' \ '(--merge -m)'{-m+,--merge=}'[merge from another queue]:' \ @@ -1014,20 +1014,20 @@ _hg_cmd_qpush() { } _hg_cmd_qrefresh() { - _arguments -s : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \ '(--git -g)'{-g,--git}'[use git extended diff format]' \ '(--short -s)'{-s,--short}'[short refresh]' \ '*:files:_hg_files' } _hg_cmd_qrename() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ ':patch:_hg_qseries' \ ':destination:' } _hg_cmd_qselect() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '(--none -n :)'{-n,--none}'[disable all guards]' \ '(--series -s :)'{-s,--series}'[list all guards in series file]' \ '--pop[pop to before first guarded applied patch]' \ @@ -1036,20 +1036,20 @@ _hg_cmd_qselect() { } _hg_cmd_qseries() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts \ + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts \ '(--missing -m)'{-m,--missing}'[print patches not in series]' } _hg_cmd_qunapplied() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qtop() { - _arguments -s : $_hg_global_opts $_hg_qseries_opts + _arguments -s -S : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_strip() { - _arguments -s : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts \ '*'{-r+,--rev=}'[revision]:revision:_hg_tags' \ '(--force -f)'{-f,--force}'[force removal of changesets, discard uncommitted changes (no backup)]' \ '--no-backup[no backups]' \ -- cgit v1.2.3 From d25c6d59e9c399ffab6d60f087f1ac296884f55c Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Wed, 22 Aug 2018 22:39:59 +0800 Subject: 43326: _hg: add completion of -S/--subrepos to many commands --- ChangeLog | 3 +++ Completion/Unix/Command/_hg | 24 ++++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index 3e5c0a171..82d64d776 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-23 Oliver Kiddle + * 43326: Anton Shestakov: Completion/Unix/Command/_hg: + add completion of -S/--subrepos to many commands + * github #27: Klas Mellbourn: Completion/X/Command/_code: add --folder-uri to completion for Visual Studio Code diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 2b2d3c4ec..99cbd1742 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -405,18 +405,22 @@ _hg_remote_opts=( '--insecure[do not verify server certificate (ignoring web.cacerts config)]' ) +_hg_subrepos_opts=( + '(--subrepos -S)'{-S,--subrepos}'[recurse into subrepositories]' +) + _hg_cmd() { _call_program hg hg --config ui.verbose=0 --config defaults."$1"= \ "$_hg_cmd_globals[@]" "$@" 2> /dev/null } _hg_cmd_add() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts $_hg_subrepos_opts \ '*:unknown files:_hg_unknown' } _hg_cmd_addremove() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts $_hg_subrepos_opts \ '(--similarity -s)'{-s+,--similarity=}'[guess renamed files by similarity (0<=s<=100)]:similarity' \ '*:unknown or missing files:_hg_addremove' } @@ -436,7 +440,7 @@ _hg_cmd_annotate() { } _hg_cmd_archive() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '--no-decode[do not pass files through decoders]' \ '(--prefix -p)'{-p+,--prefix=}'[directory prefix for files in archive]:prefix' \ '(--rev -r)'{-r+,--rev=}'[revision to distribute]:revision:_hg_tags' \ @@ -517,7 +521,7 @@ _hg_cmd_clone() { } _hg_cmd_commit() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ '(--message -m)'{-m+,--message=}'[specify commit message]:text' \ '(--logfile -l)'{-l+,--logfile=}'[read commit message from specified file]:log file:_files' \ @@ -541,7 +545,7 @@ _hg_cmd_diff() { local context state state_descr line ret=1 typeset -A opt_args - _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts $_hg_subrepos_opts \ '*'{-r+,--rev=}'[revision]:revision:_hg_revrange' \ '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \ @@ -630,7 +634,7 @@ _hg_cmd_import() { } _hg_cmd_incoming() { - _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts $_hg_subrepos_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -683,7 +687,7 @@ _hg_cmd_merge() { } _hg_cmd_outgoing() { - _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts \ + _arguments -s -S : $_hg_global_opts $_hg_remote_opts $_hg_template_opts $_hg_subrepos_opts \ '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--patch -p)'{-p,--patch}'[show patch]' \ @@ -732,7 +736,7 @@ _hg_cmd_push() { } _hg_cmd_remove() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--after -A)'{-A,--after}'[record delete for missing files]' \ '(--force -f)'{-f,--force}'[forget added files, delete modified files]' \ '*:file:_hg_files' @@ -793,7 +797,7 @@ _hg_cmd_revert() { } _hg_cmd_serve() { - _arguments -s -S : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts $_hg_subrepos_opts \ '(--accesslog -A)'{-A+,--accesslog=}'[name of access log file to write to]:log file:_files' \ '(--errorlog -E)'{-E+,--errorlog=}'[name of error log file to write to]:log file:_files' \ '(--daemon -d)'{-d,--daemon}'[run server in background]' \ @@ -821,7 +825,7 @@ _hg_cmd_showconfig() { } _hg_cmd_status() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--all -A)'{-A,--all}'[show status of all files]' \ '(--modified -m)'{-m,--modified}'[show only modified files]' \ '(--added -a)'{-a,--added}'[show only added files]' \ -- cgit v1.2.3 From 0e3508f476dbed680e7f3458a3ad27dbffa00d6f Mon Sep 17 00:00:00 2001 From: Anton Shestakov Date: Wed, 22 Aug 2018 22:40:00 +0800 Subject: 43325: _hg: suggest merge tools for -t/--tool --- ChangeLog | 3 +++ Completion/Unix/Command/_hg | 24 ++++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'Completion/Unix/Command/_hg') diff --git a/ChangeLog b/ChangeLog index 82d64d776..5d7b77703 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2018-08-23 Oliver Kiddle + * 43325: Anton Shestakov: Completion/Unix/Command/_hg: + suggest merge tools for -t/--tool + * 43326: Anton Shestakov: Completion/Unix/Command/_hg: add completion of -S/--subrepos to many commands diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index 99cbd1742..4b88ce4ea 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -282,6 +282,18 @@ _hg_config() { (( $#items )) && _describe -t config 'config item' items } +_hg_internal_merge_tools=( + \\:dump \\:fail \\:local \\:merge \\:merge-local \\:merge-other \\:merge3 + \\:other \\:prompt \\:tagmerge \\:union +) + +_hg_merge_tools() { + typeset -a external_tools + _describe -t internal_tools 'internal merge tools' _hg_internal_merge_tools + external_tools=(${(f)"$(_hg_cmd showconfig merge-tools | cut -d . -f 2)"}) + (( $#external_tools )) && _describe -t external_tools 'external merge tools' external_tools +} + _hg_addremove() { _alternative 'files:unknown files:_hg_unknown' \ 'files:missing files:_hg_missing' @@ -387,6 +399,10 @@ _hg_diff_opts=( '--nodates[omit dates from diff headers]' ) +_hg_mergetool_opts=( + '(--tool -t)'{-t+,--tool=}'[specify merge tool]:merge tool:_hg_merge_tools' +) + _hg_dryrun_opts=( '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') @@ -449,7 +465,7 @@ _hg_cmd_archive() { } _hg_cmd_backout() { - _arguments -s -S : $_hg_global_opts $_hg_pat_opts \ + _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ '--merge[merge with old dirstate parent after backout]' \ '(--date -d)'{-d+,--date=}'[record the specified date as commit date]:date' \ '--parent[parent to choose when backing out merge]' \ @@ -679,7 +695,7 @@ _hg_cmd_manifest() { } _hg_cmd_merge() { - _arguments -s -S : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts \ '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \ '(--rev -r 1)'{-r+,--rev=}'[revision to merge]:revision:_hg_mergerevs' \ '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \ @@ -753,7 +769,7 @@ _hg_cmd_resolve() { local context state state_descr line ret=1 typeset -A opt_args - _arguments -s -S : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts \ '(--all -a)'{-a,--all}'[select all unresolved files]' \ '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ @@ -871,7 +887,7 @@ _hg_cmd_unbundle() { } _hg_cmd_update() { - _arguments -s -S : $_hg_global_opts \ + _arguments -s -S : $_hg_global_opts $_hg_mergetool_opts \ '(--clean -C)'{-C,--clean}'[discard uncommitted changes (no backup)]' \ '(--check -c)'{-c,--check}'[require clean working directory]' \ '(--date -d)'{-d+,--date=}'[tipmost revision matching date]:date' \ -- cgit v1.2.3