Mercurial > dotfiles
changeset 1042:aa5a077e8680
feat: override hg completions to allow full path completion on hg add
author | Zeger Van de Vannet <zeger@vandevan.net> |
---|---|
date | Thu, 02 May 2024 07:53:01 +0200 |
parents | 979735a38885 |
children | 3395b4109688 |
files | dot_config/private_fish/completions/hg.fish |
diffstat | 1 files changed, 1399 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dot_config/private_fish/completions/hg.fish Thu May 02 07:53:01 2024 +0200 @@ -0,0 +1,1399 @@ +# fish completion for hg + +# Mercurial has a global switch to specify the path to the repository on which +# to run the hg command (-R or --repository). If that is on the commandline, +# this function echoes the given path and returns 0. Otherwise, it returns 1. +function __fish_hg_get_repo + set -l cmdline (commandline -p) + if set -l match (string match -r -- "(-R|--repository) +([^ ]+)" $cmdline) + echo $match[3] + return 0 + else + return 1 + end +end + +# Mercurial also has a global switch to specify a directory to which to switch +# before running the command (--cwd). If it is on the commandline, this +# function echoes the given path and returns 0. Otherwise, it returns 1. +function __fish_hg_get_cwd + set -l cmdline (commandline -p) + if set -l match (string match -r -- "--cwd +([^ ]+)" $cmdline) + echo $match[2] + return 0 + else + return 1 + end +end + +function __fish_hg + set -lx HGPLAIN 1 + if set -l repo (__fish_hg_get_repo) + set argv $argv -R $repo + end + if set -l cwd (__fish_hg_get_cwd) + set argv $argv --cwd $cwd + end + command hg $argv 2>/dev/null +end + +function __fish_hg_commands + set -l commands (__fish_hg debugcomplete) + for command in $commands + switch $command + case add + printf "$command\tadd the specified files on the next commit\n" + case addremove + printf "$command\tadd all new files, delete all missing files\n" + case annotate + printf "$command\tshow changeset information by line for each file\n" + case archive + printf "$command\tcreate an unversioned archive of a repository revision\n" + case backout + printf "$command\treverse effect of earlier changeset\n" + case bisect + printf "$command\tsubdivision search of changesets\n" + case bookmarks + printf "$command\tcreate a new bookmark or list existing bookmarks\n" + case branch + printf "$command\tset or show the current branch name\n" + case branches + printf "$command\tlist repository named branches\n" + case bundle + printf "$command\tcreate a bundle file\n" + case cat + printf "$command\toutput the current or given revision of files\n" + case churn + printf "$command\thistogram of changes to the repository\n" + case clone + printf "$command\tmake a copy of an existing repository\n" + case commit + printf "$command\tcommit the specified files or all outstanding changes\n" + case config + printf "$command\tshow combined config settings from all hgrc files\n" + case convert + printf "$command\tconvert a foreign SCM repository to a Mercurial one\n" + case copy + printf "$command\tmark files as copied for the next commit\n" + case diff + printf "$command\tdiff repository (or selected files)\n" + case email + printf "$command\tsend changesets by email\n" + case export + printf "$command\tdump the header and diffs for one or more changesets\n" + case extdiff + printf "$command\tuse external program to diff repository (or selected files)\n" + case files + printf "$command\tlist tracked files\n" + case forget + printf "$command\tforget the specified files on the next commit\n" + case graft + printf "$command\tcopy changes from other branches onto the current branch\n" + case grep + printf "$command\tsearch revision history for a pattern in specified files\n" + case heads + printf "$command\tshow branch heads\n" + case help + printf "$command\tshow help for a given topic or a help overview\n" + case histedit + printf "$command\tinteractively edit changeset history\n" + case identify + printf "$command\tidentify the working directory or specified revision\n" + case import + printf "$command\timport an ordered set of patches\n" + case incoming + printf "$command\tshow new changesets found in source\n" + case init + printf "$command\tcreate a new repository in the given directory\n" + case locate + printf "$command\tlocate files matching specific patterns\n" + case log + printf "$command\tshow revision history of entire repository or files\n" + case manifest + printf "$command\toutput the current or given revision of the project manifest\n" + case merge + printf "$command\tmerge another revision into working directory\n" + case outgoing + printf "$command\tshow changesets not found in the destination\n" + case parents + printf "$command\tshow the parents of the working directory or revision\n" + case paths + printf "$command\tshow aliases for remote repositories\n" + case phase + printf "$command\tset or show the current phase name\n" + case pull + printf "$command\tpull changes from the specified source\n" + case push + printf "$command\tpush changes to the specified destination\n" + case qapplied + printf "$command\tprint the patches already applied\n" + case qclone + printf "$command\tclone main and patch repository at same time\n" + case qcommit + # deprecated + case qdelete + printf "$command\tremove patches from queue\n" + case qdiff + printf "$command\tdiff of the current patch and subsequent modifications\n" + case qfinish + printf "$command\tmove applied patches into repository history\n" + case qfold + printf "$command\tfold the named patches into the current patch\n" + case qgoto + printf "$command\tpush or pop patches until named patch is at top of stack\n" + case qguard + printf "$command\t set or print guards for a patch\n" + case qheader + printf "$command\tprint the header of the topmost or specified patch\n" + case qimport + printf "$command\timport a patch or existing changeset\n" + case qinit + # deprecated + case qnew + printf "$command\tcreate a new patch\n" + case qnext + printf "$command\tprint the name of the next pushable patch\n" + case qpop + printf "$command\tpop the current patch off the stack\n" + case qprev + printf "$command\tprint the name of the preceding applied patch\n" + case qpush + printf "$command\tpush the next patch onto the stack\n" + case qqueue + printf "$command\tmanage multiple patch queues\n" + case qrecord + printf "$command\tinteractively record a new patch\n" + case qrefresh + printf "$command\tupdate the current patch\n" + case qrename + printf "$command\trename a patch\n" + case qrestore + # deprecated + case qsave + # deprecated + case qselect + printf "$command\tset or print guarded patches to push\n" + case qseries + printf "$command\tprint the entire series file\n" + case qtop + printf "$command\tprint the name of the current patch\n" + case qunapplied + printf "$command\tprint the patches not yet applied\n" + case rebase + printf "$command\tmove changeset (and descendants) to a different branch\n" + case record + printf "$command\tinteractively select changes to commit\n" + case recover + printf "$command\troll back an interrupted transaction\n" + case remove + printf "$command\tremove the specified files on the next commit\n" + case rename + printf "$command\trename files; equivalent of copy + remove\n" + case resolve + printf "$command\tredo merges or set/view the merge status of files\n" + case revert + printf "$command\trestore files to their checkout state\n" + case rollback + # deprecated + case root + printf "$command\tprint the root (top) of the current working directory\n" + case serve + printf "$command\tstart stand-alone webserver\n" + case shelve + printf "$command\tsave and set aside changes from the working directory\n" + case status + printf "$command\tshow changed files in the working directory\n" + case strip + printf "$command\tstrip changesets and all their descendants from the repository\n" + case summary + printf "$command\tsummarize working directory state\n" + case tag + printf "$command\tadd one or more tags for the current or given revision\n" + case tags + printf "$command\tlist repository tags\n" + case tip + # deprecated + case unbundle + printf "$command\tapply one or more bundle files\n" + case unshelve + printf "$command\trestore a shelved change to the working directory\n" + case update + printf "$command\tupdate working directory (or switch revisions)\n" + case verify + printf "$command\tverify the integrity of the repository\n" + case version + printf "$command\toutput version and copyright information\n" + case view + printf "$command\tstart interactive history viewer\n" + case "*" + printf "$command\n" + end + end +end + +function __fish_hg_labels + if set -l labels (__fish_hg debuglabelcomplete) + printf "%s\tlabel\n" $labels + else + __fish_hg_branches + __fish_hg_bookmarks + for line in (__fish_hg tags) + set -l parts (string split " " -m 1 $line) + printf "%s\ttag\n" $parts[1] + end + end +end + +function __fish_hg_help_topics + set -l commands (__fish_hg debugcomplete) + printf "%s\tcommand\n" $commands + for line in (__fish_hg help | string match -re '^ [a-zA-Z]') + set -l parts (string trim $line | string split " " -m 1) + set -l topic $parts[1] + if not contains $topic $commands + printf "%s\thelp topic\n" $topic + end + end +end + +function __fish_hg_config_entries + for line in (__fish_hg config) + set -l parts (string split = -m 1 $line) + printf "%s\tconfig entry\n" $parts[1] + end +end + +function __fish_hg_patches + printf "%s\tpatch\n" (__fish_hg qseries) +end + +function __fish_hg_patch_queues + for line in (__fish_hg qqueue) + set -l parts (string split "(" -m 1 $line) + set -l queue (string trim $parts[1]) + printf "%s\tpatch queue\n" $queue + end +end + +function __fish_hg_status + set -l token (commandline -ct) + __fish_hg status -n $argv "glob:$token**" +end + +function __fish_hg_locate + __fish_hg locate $argv +end + +function __fish_hg_bookmarks + set -l bookmarks (__fish_hg bookmarks) + if string match -q -- "no bookmarks set" "$bookmarks[1]" + return + end + for line in $bookmarks + # Bookmarks can contain lots of different characters, including spaces, + # but they can't contain colons. So we use that to split the line. + set -l parts (string sub -s 4 $line | string split ":" -m 1) + set -l parts (string split " " -r -m 1 $parts[1]) + set -l bookmark (string trim $parts[1]) + printf "%s\tbookmark\n" $bookmark + end +end + +function __fish_hg_branches + for line in (__fish_hg branches) + # Like with bookmarks, branches can't contain colons, so we use that for + # splitting. + set -l parts (string split ":" -m 1 $line) + set -l parts (string split " " -r -m 1 $parts[1]) + set -l branch (string trim $parts[1]) + printf "%s\tbranch\n" $branch + end +end + +function __fish_hg_merge_tools + for tool in internal:dump internal:fail internal:forcedump internal:local internal:merge internal:merge-local internal:merge-other internal:merge3 internal:other internal:prompt internal:tagmerge internal:union + printf "$tool\tmerge tool\n" + end + for line in (__fish_hg config merge-tools) + set -l parts (string split "." -m 2 $line) + printf "%s\tmerge tool\n" $parts[2] + end +end + +function __fish_hg_sources + for line in (__fish_hg paths) + set -l parts (string split = $line) + printf "%s\tsource\n" (string trim $parts[1]) + end +end + +function __fish_hg_shelves + printf "%s\tshelve\n" (__fish_hg shelve -ql) +end + +function __fish_hg_mq_enabled + if set -l line (__fish_hg config extensions.hgext.mq) + set -l parts (string split "=" -m 1 $line) + not string match -r -q -- "^!" $parts[2] + return + else + return 1 + end +end + +function __fish_hg_get_command + set -l cmdline (commandline -poc) + set -e cmdline[1] + set -l lasttoken "" + for token in $cmdline + # if the last token was a switch that takes an argument, we just skip + # the current token + if string match -r -q -- "-R|--repository|--cwd|--config|--encoding|--encodingmode|--color|--pager" $lasttoken + set lasttoken "" + continue + end + # if the current token is a switch of any kind, we can skip it + if string match -q -- "-*" $token + set lasttoken $token + continue + end + # if we get to here, then we assume that the token is an hg command + echo $token + return 0 + end + # no hg command was found + return 1 +end + +function __fish_hg_using_command --argument-names cmd + if set -l token (__fish_hg_get_command) + string match -q -- $token $cmd + return + else + return 1 + end +end + +function __fish_hg_needs_command + not __fish_hg_get_command >/dev/null +end + +# global options +complete -c hg -s R -l repository -x -d "repository root directory or name of overlay bundle file" +complete -c hg -l cwd -x -a "(__fish_complete_directories (commandline -ct))" -d "change working directory" +complete -c hg -s y -l noninteractive -d "do not prompt, automatically pick the first choice for all prompts" +complete -c hg -s q -l quiet -d "suppress output" +complete -c hg -s v -l verbose -d "enable additional output" +complete -c hg -l config -x -a "(__fish_hg_config_entries)" -d "set/override config option" +complete -c hg -l debug -d "enable debugging output" +complete -c hg -l debugger -d "start debugger" +complete -c hg -l encoding -x -d "set the charset encoding" +complete -c hg -l encodingmode -x -d "set the charset encoding mode" +complete -c hg -l traceback -d "always print a traceback on exception" +complete -c hg -l time -d "time how long the command takes" +complete -c hg -l profile -d "print command execution profile" +complete -c hg -l version -d "output version information and exit" +complete -c hg -s h -l help -d "display help and exit" +complete -c hg -l hidden -d "consider hidden changesets" +complete -c hg -l color -x -a "true false always auto never debug" -d "when to colorize" +complete -c hg -l pager -x -a "true false always auto never" -d "when to paginate" + +# subcommands +complete -c hg -n __fish_hg_needs_command -x -a "(__fish_hg_commands)" + +# hg add +complete -c hg -n "__fish_hg_using_command add" -a "(__fish_hg_status -u)" +complete -c hg -n "__fish_hg_using_command add" -s I -l include -x -d "include names matching the given patterns" +complete -c hg -n "__fish_hg_using_command add" -s X -l exclude -x -d "exclude names matching the given patterns" +complete -c hg -n "__fish_hg_using_command add" -s S -l subrepos -d "recurse into subrepositories" +complete -c hg -n "__fish_hg_using_command add" -s n -l dry-run -d "do not perform actions, just print output" +complete -c hg -n "__fish_hg_using_command add; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" + +# hg addremove +for cmd in addr addre addrem addremo addremov addremove + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -ud)" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l similarity -x -d "guess renamed files by similarity (0<=s<=100)" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg annotate +for cmd in an ann anno annot annota annotat annotate bl bla blam blame + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -cmdr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "annotate the specified revision" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-follow -d "don't follow copies and renames" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l text -d "treat all files as text" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -d "list the author (long with -v)" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l file -d "list the filename" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -d "list the date (short with -q)" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l number -d "list the revision number (default)" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l changeset -d "list the changeset" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l line-number -d "show line number at the first appearance" + complete -c hg -n "__fish_hg_using_command $cmd" -s w -l ignore-all-space -d "ignore white space when comparing lines" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l ignore-space-change -d "ignore changes in the amount of white space" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l ignore-blank-lines -d "ignore changes whose lines are all blank" + complete -c hg -n "__fish_hg_using_command $cmd" -s Z -l ignore-space-at-eol -d "ignore changes in whitespace at EOL" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg archive +for cmd in ar arc arch archi archiv archive + complete -c hg -n "__fish_hg_using_command $cmd" -l no-decode -d "do not pass files through decoders" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l prefix -x -d "directory prefix for files in archive" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision to distribute" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l type -x -a "files tar tbz2 tgz uzip zip" -d "type of distribution to create" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg backout +for cmd in ba bac back backo backou backout + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -l merge -d "merge with old dirstate parent after backout" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-commit -d "do not commit" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision to backout" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "record the specified date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "record the specified user as committer" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg bisect +for cmd in bi bis bise bisec bisect + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l reset -d "reset bisect state" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l good -d "mark changeset good" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l bad -d "mark changeset bad" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l skip -d "skip testing changeset" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l extend -d "extend the bisect range" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l command -x -d "use command to check changeset state" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l noupdate -d "do not update to target" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg bookmarks +for cmd in bo boo book bookm bookma bookmar bookmark bookmarks + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_bookmarks)" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d force + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision for bookmark action" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l delete -d "delete a given bookmark" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l rename -x -a "(__fish_hg_bookmarks)" -d "rename a given bookmark" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l inactive -d "mark a bookmark inactive" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg branch +complete -c hg -n "__fish_hg_using_command branch" -f -a "(__fish_hg_branches)" +complete -c hg -n "__fish_hg_using_command branch" -s f -l force -d "set branch name even if it shadows an existing branch" +complete -c hg -n "__fish_hg_using_command branch" -s C -l clean -d "reset branch name to parent branch name" +complete -c hg -n "__fish_hg_using_command branch; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" + +# hg branches +for cmd in branche branches + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l closed -d "show normal and closed branches" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg bundle +for cmd in bu bun bund bundl bundle + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "run even when the destination is unrelated" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "a changeset intended to be added to the destination" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -a "(__fish_hg_branches)" -d "a specific branch you would like to bundle" + complete -c hg -n "__fish_hg_using_command $cmd" -l base -x -a "(__fish_hg_labels)" -d "a base changeset assumed to be available at the destination" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l all -d "bundle all changesets in the repository" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l type -x -d "bundle compression type to use (default: bzip2)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg cat +for cmd in ca cat + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -cmrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s o -l output -x -d "print output to file with formatted name" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "print the given revision" + complete -c hg -n "__fish_hg_using_command $cmd" -l decode -d "apply any matching decode filter" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg clone +for cmd in cl clo clon clone + complete -c hg -n "__fish_hg_using_command $cmd" -r -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l noupdate -d "the clone will include an empty working directory (only a repository)" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l updaterev -x -d "revision, tag, or branch to check out" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -d "do not clone everything, but include this changeset and its ancestors" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -d "do not clone everything, but include this branch's changesets and their ancestors" + complete -c hg -n "__fish_hg_using_command $cmd" -l pull -d "use pull protocol to copy metadata" + complete -c hg -n "__fish_hg_using_command $cmd" -l stream -d "clone with minimal data processing" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" +end + +# hg commit +for cmd in com comm commi commit ci + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -amr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l addremove -d "mark new/missing files as added/removed before committing" + complete -c hg -n "__fish_hg_using_command $cmd" -l close-branch -d "mark a branch head as closed" + complete -c hg -n "__fish_hg_using_command $cmd" -l amend -d "amend the parent of the working directory" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l secret -d "use the secret phase for committing" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l interactive -d "use interactive mode" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "record the specified date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "record the specified user as committer" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg config +for cmd in conf confi config sh sho show showc showco showcon showconf showconfi showconfig + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_config_entries)" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l untrusted -d "show untrusted configuration options" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "edit user config" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l local -d "edit repository config" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l global -d "edit global config" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg convert +for cmd in conv conve conver convert + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l source-type -x -a "hg cvs darcs git svn mtn gnuarch bzr p4" -d "source repository type" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l dest-type -x -a "hg svn" -d "destination repository type" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -d "import up to this source revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l authormap -r -d "remap usernames using this file" + complete -c hg -n "__fish_hg_using_command $cmd" -l filemap -r -d "remap file names using contents of file" + complete -c hg -n "__fish_hg_using_command $cmd" -l full -d "apply filemap changes by converting all files again" + complete -c hg -n "__fish_hg_using_command $cmd" -l splicemap -r -d "splice synthesized history into place" + complete -c hg -n "__fish_hg_using_command $cmd" -l branchmap -r -d "change branch names while converting" + complete -c hg -n "__fish_hg_using_command $cmd" -l branchsort -d "try to sort changesets by branches" + complete -c hg -n "__fish_hg_using_command $cmd" -l datesort -d "try to sort changesets by date" + complete -c hg -n "__fish_hg_using_command $cmd" -l sourcesort -d "preserve source changesets order" + complete -c hg -n "__fish_hg_using_command $cmd" -l closesort -d "try to reorder closed revisions" +end + +# hg copy +for cmd in cop copy cp + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -cmrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l after -d "record a copy that has already occurred" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "forcibly copy over an existing managed file" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg diff +for cmd in d di dif diff + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -amr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d revision + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l change -x -a "(__fish_hg_labels)" -d "change made by revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l text -d "treat all files as text" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -l binary -d "generate binary diffs in git mode (default)" + complete -c hg -n "__fish_hg_using_command $cmd" -l nodates -d "omit dates from diff headers" + complete -c hg -n "__fish_hg_using_command $cmd" -l noprefix -d "omit a/ and b/ prefixes from filenames" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l show-function -d "show which function each change is in" + complete -c hg -n "__fish_hg_using_command $cmd" -l reverse -d "produce a diff that undoes the changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s w -l ignore-all-space -d "ignore white space when comparing lines" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l ignore-space-change -d "ignore changes in the amount of white space" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l ignore-blank-lines -d "ignore changes whose lines are all blank" + complete -c hg -n "__fish_hg_using_command $cmd" -s Z -l ignore-space-at-eol -d "ignore changes in whitespace at EOL" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l unified -x -d "number of lines of context to show" + complete -c hg -n "__fish_hg_using_command $cmd" -l stat -d "output diffstat-style summary of changes" + complete -c hg -n "__fish_hg_using_command $cmd" -l root -x -d "produce diffs relative to subdirectory" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg email +for cmd in em ema emai email + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -l plain -d "omit hg patch header" + complete -c hg -n "__fish_hg_using_command $cmd" -s o -l outgoing -d "send changes not found in the target repository" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l bundle -d "send changes not in target as a binary bundle" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmark -x -a "(__fish_hg_bookmarks)" -d "send changes only reachable by given bookmark" + complete -c hg -n "__fish_hg_using_command $cmd" -l bundlename -x -d "name of the bundle attachment file" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "a revision to send" + complete -c hg -n "__fish_hg_using_command $cmd" -l force -d "run even when remote repository is unrelated (with -b/--bundle)" + complete -c hg -n "__fish_hg_using_command $cmd" -l base -x -a "(__fish_hg_labels)" -d "a base changeset to specify instead of a destination (with -b/--bundle)" + complete -c hg -n "__fish_hg_using_command $cmd" -l intro -d "send an introduction email for a single patch" + complete -c hg -n "__fish_hg_using_command $cmd" -l body -d "send patches as inline message text (default)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l attach -d "send patches as attachments" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l inline -d "send patches as inline attachments" + complete -c hg -n "__fish_hg_using_command $cmd" -l bcc -x -d "email addresses of blind carbon copy recipients" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l cc -x -d "email addresses of copy recipients" + complete -c hg -n "__fish_hg_using_command $cmd" -l confirm -d "ask for confirmation before sending" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l diffstat -d "add diffstat output to messages" + complete -c hg -n "__fish_hg_using_command $cmd" -l date -x -d "use the given date as the sending date" + complete -c hg -n "__fish_hg_using_command $cmd" -l desc -x -d "use the given file as the series description" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l from -x -d "email address of sender" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l test -d "print messages that would be sent" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l mbox -r -d "write messages to mbox file instead of sending them" + complete -c hg -n "__fish_hg_using_command $cmd" -l reply-to -x -d "email addresses replies should be sent to" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l subject -x -d "subject of first message (intro or single patch)" + complete -c hg -n "__fish_hg_using_command $cmd" -l in-reply-to -x -d "message identifier to reply to" + complete -c hg -n "__fish_hg_using_command $cmd" -l flag -x -d "flags to add in subject prefixes" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l to -x -d "email addresses of recipients" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" +end + +# hg export +for cmd in exp expo expor export + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmark -x -a "(__fish_hg_bookmarks)" -d "export changes only reachable by given bookmark" + complete -c hg -n "__fish_hg_using_command $cmd" -s o -l output -x -d "print output to file with formatted name" + complete -c hg -n "__fish_hg_using_command $cmd" -l switch-parent -d "diff against the second parent" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revisions to export" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l text -d "treat all files as text" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -l binary -d "generate binary diffs in git mode (default)" + complete -c hg -n "__fish_hg_using_command $cmd" -l nodates -d "omit dates from diff headers" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg files +for cmd in fi fil file files + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "search the repository as it is in REV" + complete -c hg -n "__fish_hg_using_command $cmd" -s 0 -l print0 -d "end filenames with NUL, for use with xargs" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg forget +for cmd in fo for forg forge forget + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -ca)" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l interactive -d "use interactive mode" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg graft +for cmd in gra graf graft + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revisions to graft" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l continue -d "resume interrupted graft" + complete -c hg -n "__fish_hg_using_command $cmd" -l stop -d "stop interrupted graft" + complete -c hg -n "__fish_hg_using_command $cmd" -l abort -d "abort interrupted graft" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -l log -d "append graft info to log message" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-commit -d "don't commit, just apply the changes in working directory" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "force graft" + complete -c hg -n "__fish_hg_using_command $cmd" -s D -l currentdate -d "record the current date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l currentuser -d "record the current user as committer" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "record the specified date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "record the specified user as committer" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg grep +for cmd in gre grep + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -cmrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s 0 -l print0 -d "end fields with NUL" + complete -c hg -n "__fish_hg_using_command $cmd" -l all -d "print all revisions that match" + complete -c hg -n "__fish_hg_using_command $cmd" -l diff -d "print all revisions when the term was introduced or removed" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l text -d "treat all files as text" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l follow -d "follow changeset history, or file history across copies and renames" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l ignore-case -d "ignore case when matching" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l files-with-matches -d "print only filenames and revisions that match" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l line-number -d "print matching line numbers" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "only search files changed within revision range" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -d "list the author (long with -v)" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -d "list the date (short with -q)" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg heads +for cmd in hea head heads + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "show only heads which are descendants of STARTREV" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l topo -d "show topological heads only" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l closed -d "show normal and closed branch heads" + complete -c hg -n "__fish_hg_using_command $cmd" -s T -l template -x -d "display with template" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg help +for cmd in hel help + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_help_topics)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l extension -d "show only help for extensions" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l command -d "show only help for commands" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keyword -d "show topics matching keyword" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l system -x -d "show help for specific platform(s)" +end + +# hg histedit +for cmd in histe histed histedi histedit + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -l commands -r -d "read history edits from the specified file" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l continue -d "continue an edit already in progress" + complete -c hg -n "__fish_hg_using_command $cmd" -l edit-plan -d "edit remaining actions list" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "don't strip old nodes after edit is complete" + complete -c hg -n "__fish_hg_using_command $cmd" -l abort -d "abort an edit in progress" + complete -c hg -n "__fish_hg_using_command $cmd" -s o -l outgoing -d "changesets not found in destination" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "force outgoing even for unrelated repositories" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "first revision to be edited" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg identify +for cmd in id ide iden ident identi identif identify + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "identify the specified revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l num -d "show local revision number" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l id -d "show global revision id" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -d "show branch" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tags -d "show tags" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmarks -d "show bookmarks" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg import +for cmd in im imp impo impor import patc patch + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l strip -x -d "directory strip option for patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-commit -d "don't commit, just update the working directory" + complete -c hg -n "__fish_hg_using_command $cmd" -l bypass -d "apply patch without touching the working directory" + complete -c hg -n "__fish_hg_using_command $cmd" -l partial -d "commit even if some hunks fail" + complete -c hg -n "__fish_hg_using_command $cmd" -l exact -d "abort if patch would apply lossily" + complete -c hg -n "__fish_hg_using_command $cmd" -l prefix -r -d "apply patch to subdirectory" + complete -c hg -n "__fish_hg_using_command $cmd" -l import-branch -d "use any branch information in patch (implied by --exact)" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "record the specified date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "record the specified user as committer" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l similarity -x -d "guess renamed files by similarity (0<=s<=100)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg incoming +for cmd in inc inco incom incomi incomin incoming in + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "run even if remote repository is unrelated" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l newest-first -d "show newest record first" + complete -c hg -n "__fish_hg_using_command $cmd" -l bundle -r -d "file to store the bundles into" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -d "a remote changeset intended to be added" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmarks -d "compare bookmarks" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -d "a specific branch you would like to pull" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l patch -d "show patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l limit -x -d "limit number of changes displayed" + complete -c hg -n "__fish_hg_using_command $cmd" -s M -l no-merges -d "do not show merges" + complete -c hg -n "__fish_hg_using_command $cmd" -l stat -d "output diffstat-style summary of changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s G -l graph -d "show the revision DAG" + complete -c hg -n "__fish_hg_using_command $cmd" -s T -l template -x -d "display with template" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg init +for cmd in ini init + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg locate +for cmd in loc loca locat locate + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "search the repository as it is in REV" + complete -c hg -n "__fish_hg_using_command $cmd" -s 0 -l print0 -d "end filenames with NUL, for use with xargs" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l fullpath -d "print complete paths from the filesystem root" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg log +for cmd in log histo histor history + complete -c hg -n "__fish_hg_using_command "$cmd -f -a "(__fish_hg_status -cmrd)" + complete -c hg -n "__fish_hg_using_command "$cmd -s f -l follow -d "follow changeset history, or file history across copies and renames" + complete -c hg -n "__fish_hg_using_command "$cmd -s d -l date -x -d "show revisions matching date spec" + complete -c hg -n "__fish_hg_using_command "$cmd -s C -l copies -d "show copied files" + complete -c hg -n "__fish_hg_using_command "$cmd -s k -l keyword -x -d "do case-insensitive search for a given text" + complete -c hg -n "__fish_hg_using_command "$cmd -s r -l rev -x -a "(__fish_hg_labels)" -d "show the specified revision or revset" + complete -c hg -n "__fish_hg_using_command "$cmd -l removed -d "include revisions where files were removed" + complete -c hg -n "__fish_hg_using_command "$cmd -s u -l user -x -d "revisions committed by user" + complete -c hg -n "__fish_hg_using_command "$cmd -s b -l branch -x -a "(__fish_hg_branches)" -d "show changesets within the given named branch" + complete -c hg -n "__fish_hg_using_command "$cmd -s P -l prune -x -a "(__fish_hg_labels)" -d "do not display revision or any of its ancestors" + complete -c hg -n "__fish_hg_using_command "$cmd -s p -l patch -d "show patch" + complete -c hg -n "__fish_hg_using_command "$cmd -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command "$cmd -s l -l limit -x -d "limit number of changes displayed" + complete -c hg -n "__fish_hg_using_command "$cmd -s M -l no-merges -d "do not show merges" + complete -c hg -n "__fish_hg_using_command "$cmd -l stat -d "output diffstat-style summary of changes" + complete -c hg -n "__fish_hg_using_command "$cmd -s G -l graph -d "show the revision DAG" + complete -c hg -n "__fish_hg_using_command "$cmd -s T -l template -x -d "display with template" + complete -c hg -n "__fish_hg_using_command "$cmd -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command "$cmd -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command "$cmd"; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg manifest +for cmd in ma man mani manif manife manifes manifest + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision to display" + complete -c hg -n "__fish_hg_using_command $cmd" -l all -d "list files from all revisions" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg merge +for cmd in me mer merg merge + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision to merge" + complete -c hg -n "__fish_hg_using_command $cmd" -s P -l preview -d "review revisions to merge (no merge is performed)" + complete -c hg -n "__fish_hg_using_command $cmd" -l abort -d "abort the ongoing merge" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg outgoing +for cmd in o ou out outg outgo outgoi outgoin outgoing + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "run even when the destination is unrelated" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "a changeset intended to be included in the destination" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l newest-first -d "show newest record first" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmarks -d "compare bookmarks" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -a "(__fish_hg_branches)" -d "a specific branch you would like to push" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l patch -d "show patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l limit -x -d "limit number of changes displayed" + complete -c hg -n "__fish_hg_using_command $cmd" -s M -l no-merges -d "do not show merges" + complete -c hg -n "__fish_hg_using_command $cmd" -l stat -d "output diffstat-style summary of changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s G -l graph -d "show the revision DAG" + complete -c hg -n "__fish_hg_using_command $cmd" -s T -l template -x -d "display with template" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg parents +for cmd in par pare paren parent parents + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -cmrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "show parents of the specified revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s T -l template -x -d "display with template" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg paths +for cmd in path paths + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg phase +for cmd in ph pha phas phase + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l public -d "set changeset phase to public" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l draft -d "set changeset phase to draft" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l secret -d "set changeset phase to secret" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "allow to move boundary backward" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "target revision" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg pull +for cmd in pul pull + complete -c hg -n "__fish_hg_using_command $cmd" -r -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l update -d "update to new branch head if new descendants were pulled" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "run even when remote repository is unrelated" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -d "a remote changeset intended to be added" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmark -x -d "bookmark to pull" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -d "a specific branch you would like to pull" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg push +for cmd in pus push + complete -c hg -n "__fish_hg_using_command $cmd" -r -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "force push" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "a changeset intended to be included in the destination" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmark -x -a "(__fish_hg_bookmarks)" -d "bookmark to push" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l branch -x -a "(__fish_hg_branches)" -d "a specific branch you would like to push" + complete -c hg -n "__fish_hg_using_command $cmd" -l new-branch -d "allow pushing a new branch" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg qapplied +for cmd in qa qap qapp qappl qappli qapplie qapplied + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s 1 -l last -d "show only the preceding applied patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg qclone +for cmd in qcl qclo qclon qclone + complete -c hg -n "__fish_hg_using_command $cmd" -r -a "(__fish_hg_sources)" + complete -c hg -n "__fish_hg_using_command $cmd" -l pull -d "use pull protocol to copy metadata" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l noupdate -d "do not update the new working directories" + complete -c hg -n "__fish_hg_using_command $cmd" -l uncompressed -d "use uncompressed transfer (fast over LAN)" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l patches -d "location of source patch repository" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l ssh -x -d "specify ssh command to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l remotecmd -x -d "specify hg command to run on the remote side" + complete -c hg -n "__fish_hg_using_command $cmd" -l insecure -d "do not verify server certificate (ignoring web.cacerts config)" +end + +# hg qdelete +for cmd in qde qdel qdele qdelet qdelete qrem qremo qremov qremove qrm + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "keep patch file" +end + +# hg qdiff +for cmd in qdi qdif qdiff + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -mrd --rev .^)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l text -d "treat all files as text" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -l binary -d "generate binary diffs in git mode (default)" + complete -c hg -n "__fish_hg_using_command $cmd" -l nodates -d "omit dates from diff headers" + complete -c hg -n "__fish_hg_using_command $cmd" -l noprefix -d "omit a/ and b/ prefixes from filenames" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l show-function -d "show which function each change is in" + complete -c hg -n "__fish_hg_using_command $cmd" -l reverse -d "produce a diff that undoes the changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s w -l ignore-all-space -d "ignore white space when comparing lines" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l ignore-space-change -d "ignore changes in the amount of white space" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l ignore-blank-lines -d "ignore changes whose lines are all blank" + complete -c hg -n "__fish_hg_using_command $cmd" -s Z -l ignore-space-at-eol -d "ignore changes in whitespace at EOL" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l unified -x -d "number of lines of context to show" + complete -c hg -n "__fish_hg_using_command $cmd" -l stat -d "output diffstat-style summary of changes" + complete -c hg -n "__fish_hg_using_command $cmd" -l root -x -d "produce diffs relative to subdirectory" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" +end + +# hg qfinish +for cmd in qfi qfin qfini qfinis qfinish + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels; __fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l applied -d "finish all applied changesets" +end + +# hg qfold +for cmd in qfo qfol qfold + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "keep folded patch files" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read commit message from file" +end + +# hg qgoto +for cmd in qgo qgot qgoto + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -l keep-changes -d "tolerate non-conflicting local changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "overwrite any local changes" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-backup -d "do not save backup copies of files" +end + +# hg qguard +for cmd in qgu qgua qguar qguard + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l list -d "list all patches and guards" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l none -d "drop all guards" +end + +# hg qheader +for cmd in qh qhe qhea qhead qheade qheader + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" +end + +# hg qimport +for cmd in qim qimp qimpo qimpor qimport + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l existing -d "import file in patch directory" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l name -x -d "name of patch file" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "overwrite existing files" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "place existing revisions under mq control" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -s P -l push -d "qpush after importing" +end + +# hg qnew +complete -c hg -n "__fish_hg_using_command qnew" -s e -l edit -d "invoke editor on commit messages" +complete -c hg -n "__fish_hg_using_command qnew" -s g -l git -d "use git extended diff format" +complete -c hg -n "__fish_hg_using_command qnew" -s U -l currentuser -d "add \"From: <current user>\" to patch" +complete -c hg -n "__fish_hg_using_command qnew" -s u -l user -x -d "add \"From: <USER>\" to patch" +complete -c hg -n "__fish_hg_using_command qnew" -s D -l currentdate -d "add \"Date: <current date>\" to patch" +complete -c hg -n "__fish_hg_using_command qnew" -s d -l date -x -d "add \"Date: <DATE>\" to patch" +complete -c hg -n "__fish_hg_using_command qnew" -s I -l include -x -d "include names matching the given patterns" +complete -c hg -n "__fish_hg_using_command qnew" -s X -l exclude -x -d "exclude names matching the given patterns" +complete -c hg -n "__fish_hg_using_command qnew" -s m -l message -x -d "use text as commit message" +complete -c hg -n "__fish_hg_using_command qnew" -s l -l logfile -r -d "read commit message from file" +complete -c hg -n "__fish_hg_using_command qnew" -s i -l interactive -d "interactively record a new patch" + +# hg qnext +for cmd in qnex qnext + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg qpop +for cmd in qpo qpop + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l all -d "pop all patches" + complete -c hg -n "__fish_hg_using_command $cmd" -l keep-changes -d "tolerate non-conflicting local changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "forget any local changes to patched files" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-backup -d "do not save backup copies of files" +end + +# hg qprev +for cmd in qpr qpre qprev + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg qpush +for cmd in qpu qpus qpush + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -l keep-changes -d "tolerate non-conflicting local changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "apply on top of local changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l exact -d "apply the target patch to its recorded parent" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l list -d "list patch name in commit text" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l all -d "apply all patches" + complete -c hg -n "__fish_hg_using_command $cmd" -l move -d "reorder patch series and apply only the patch" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-backup -d "do not save backup copies of files" +end + +# hg qqueue +for cmd in qq qqu qque qqueu qqueue + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patch_queues)" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l list -d "list all available queues" + complete -c hg -n "__fish_hg_using_command $cmd" -l active -d "print name of active queue" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l create -d "create new queue" + complete -c hg -n "__fish_hg_using_command $cmd" -l rename -d "rename active queue" + complete -c hg -n "__fish_hg_using_command $cmd" -l delete -d "delete reference to queue" + complete -c hg -n "__fish_hg_using_command $cmd" -l purge -d "delete queue, and remove patch dir" +end + +# hg qrecord +for cmd in qrec qreco qrecor qrecord + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -amr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "edit commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l currentuser -d "add \"From: <current user>\" to patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "add \"From: <USER>\" to patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s D -l currentdate -d "add \"Date: <current date>\" to patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "add \"Date: <DATE>\" to patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -x -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s w -l ignore-all-space -d "ignore white space when comparing lines" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l ignore-space-change -d "ignore changes in the amount of white space" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l ignore-blank-lines -d "ignore changes whose lines are all blank" +end + +# hg qrefresh +for cmd in qref qrefr qrefre qrefres qrefresh + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -amr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s g -l git -d "use git extended diff format" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l short -d "refresh only files already in the patch and specified files" + complete -c hg -n "__fish_hg_using_command $cmd" -s U -l currentuser -d "add/update author field in patch with current user" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "add/update author field in patch with given user" + complete -c hg -n "__fish_hg_using_command $cmd" -s D -l currentdate -d "add/update date field in patch with current date" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "add/update date field in patch with given date" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l interactive -d "interactively select changes to refresh" +end + +# hg qrename +for cmd in qren qrena qrenam qrename qm qmv + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" +end + +# hg qselect +for cmd in qsel qsele qselec qselect + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l none -d "disable all guards" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l series -d "list all guards in series file" + complete -c hg -n "__fish_hg_using_command $cmd" -l pop -d "pop to before first guarded applied patch" + complete -c hg -n "__fish_hg_using_command $cmd" -l reapply -d "pop, then reapply patches" +end + +# hg qseries +for cmd in qser qseri qserie qseries + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l missing -d "print patches not in series" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg qtop +for cmd in qt qto qtop + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg qunapplied +for cmd in qu qun quna qunap qunapp qunappl qunappli qunapplie qunapplied + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_patches)" + complete -c hg -n "__fish_hg_using_command $cmd" -s 1 -l first -d "show only the preceding applied patch" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" +end + +# hg rebase +for cmd in reb reba rebas rebase + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l source -x -a "(__fish_hg_labels)" -d "rebase the specified changeset and descendants" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l base -x -a "(__fish_hg_labels)" -d "rebase everything from branching point of specified changeset" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "rebase these revisions" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l dest -x -a "(__fish_hg_labels)" -d "rebase onto the specified changeset" + complete -c hg -n "__fish_hg_using_command $cmd" -l collapse -d "collapse the rebased changesets" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as collapse commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -r -d "read collapse commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "keep original changesets" + complete -c hg -n "__fish_hg_using_command $cmd" -l keepbranches -d "keep original branch names" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l continue -d "continue an interrupted rebase" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l abort -d "abort an interrupted rebase" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd" -l confirm -d "ask before applying actions" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg record +for cmd in recor record + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -amr)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l addremove -d "mark new/missing files as added/removed before committing" + complete -c hg -n "__fish_hg_using_command $cmd" -l close-branch -d "mark a branch as closed, hiding it from the branch list" + complete -c hg -n "__fish_hg_using_command $cmd" -l amend -d "amend the parent of the working dir" + complete -c hg -n "__fish_hg_using_command $cmd" -s s -l secret -d "use the secret phase for committing" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as commit message" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l logfile -x -d "read commit message from file" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "record the specified date as commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l user -x -d "record the specified user as committer" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd" -s w -l ignore-all-space -d "ignore white space when comparing lines" + complete -c hg -n "__fish_hg_using_command $cmd" -s b -l ignore-space-change -d "ignore changes in the amount of white space" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l ignore-blank-lines -d "ignore changes whose lines are all blank" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg recover +for cmd in recov recove recover + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg remove +for cmd in rem remo remov remove rm + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -c)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l after -d "record delete for missing files" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "forget added files, delete modified files" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg rename +for cmd in ren rena renam rename mo mov move mv + complete -c hg -n "__fish_hg_using_command $cmd" -r -a "(__fish_hg_status -cam)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l after -d "record a rename that has already occurred" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "forcibly copy over an existing managed file" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg resolve +for cmd in res reso resol resolv resolve + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_locate 'set:unresolved()')" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l all -d "select all unresolved files" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l list -d "list state of files needing merge" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l mark -x -a "(__fish_hg_locate 'set:unresolved()')" -d "mark files as resolved" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l unmark -x -a "(__fish_hg_locate 'set:resolved()')" -d "mark files as unresolved" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l no-status -d "hide status prefix" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg revert +for cmd in rev reve rever revert + complete -c hg -n "__fish_hg_using_command $cmd" -f -a "(__fish_hg_status -camrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l all -d "revert all changes when no arguments given" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "tipmost revision matching date" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "revert to the specified revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s C -l no-backup -d "do not save backup copies of files" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l interactive -d "interactively select the changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l dry-run -d "do not perform actions, just print output" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg root +for cmd in roo root + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg serve +for cmd in se ser serv serve + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l accesslog -r -d "name of access log file to write to" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l daemon -d "run server in background" + complete -c hg -n "__fish_hg_using_command $cmd" -l daemon-postexec -x -d "used internally by daemon mode" + complete -c hg -n "__fish_hg_using_command $cmd" -s E -l errorlog -r -d "name of error log file to write to" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l port -x -d "port to listen on (default: 8000)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l address -x -d "address to listen on (default: all interfaces)" + complete -c hg -n "__fish_hg_using_command $cmd" -l prefix -x -d "prefix path to serve from (default: server root)" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l name -x -d "name to show in web pages (default: working directory)" + complete -c hg -n "__fish_hg_using_command $cmd" -l web-conf -r -d "name of the hgweb config file (see 'hg help hgweb')" + complete -c hg -n "__fish_hg_using_command $cmd" -l pid-file -r -d "name of file to write process ID to" + complete -c hg -n "__fish_hg_using_command $cmd" -l stdio -d "for remote clients" + complete -c hg -n "__fish_hg_using_command $cmd" -l cmdserver -x -d "for remote clients" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l templates -x -d "web templates to use" + complete -c hg -n "__fish_hg_using_command $cmd" -l style -x -d "template style to use" + complete -c hg -n "__fish_hg_using_command $cmd" -s 6 -l ipv6 -d "use IPv6 in addition to IPv4" + complete -c hg -n "__fish_hg_using_command $cmd" -l certificate -r -d "SSL certificate file" + complete -c hg -n "__fish_hg_using_command $cmd" -l print-url -d "start and print only the URL" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg shelve +for cmd in she shel shelv shelve + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_status -amrd)" + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l addremove -d "mark new/missing files as added/removed before shelving" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l unknown -d "store unknown files in the shelve" + complete -c hg -n "__fish_hg_using_command $cmd" -l cleanup -d "delete all shelved changes" + complete -c hg -n "__fish_hg_using_command $cmd" -l date -x -d "shelve with the specified commit date" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l delete -d "delete the named shelved change(s)" + complete -c hg -n "__fish_hg_using_command $cmd" -s e -l edit -d "invoke editor on commit messages" + complete -c hg -n "__fish_hg_using_command $cmd" -s l -l list -d "list current shelves" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l message -x -d "use text as shelve message" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l name -x -d "use the given name for the shelved commit" + complete -c hg -n "__fish_hg_using_command $cmd" -s p -l patch -d "output patches for changes (provide the names of the shelved changes as positional arguments)" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l interactive -d "interactive mode, only works while creating a shelve" + complete -c hg -n "__fish_hg_using_command $cmd" -l stat -d "output diffstat-style summary of changes (provide the names of the shelved changes as positional arguments)" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg status +for cmd in st sta stat statu status + complete -c hg -n "__fish_hg_using_command $cmd" -s A -l all -d "show status of all files" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l modified -d "show only modified files" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l added -d "show only added files" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l removed -d "show only removed files" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l deleted -d "show only deleted (but tracked) files" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l clean -d "show only files without changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l unknown -d "show only unknown (not tracked) files" + complete -c hg -n "__fish_hg_using_command $cmd" -s i -l ignored -d "show only ignored files" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l no-status -d "hide status prefix" + complete -c hg -n "__fish_hg_using_command $cmd" -s C -l copies -d "show source of copied files" + complete -c hg -n "__fish_hg_using_command $cmd" -s 0 -l print0 -d "end filenames with NUL, for use with xargs" + complete -c hg -n "__fish_hg_using_command $cmd" -l rev -x -a "(__fish_hg_labels)" -d "show difference from revision" + complete -c hg -n "__fish_hg_using_command $cmd" -l change -x -a "(__fish_hg_labels)" -d "list the changed files of a revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s I -l include -x -d "include names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s X -l exclude -x -d "exclude names matching the given patterns" + complete -c hg -n "__fish_hg_using_command $cmd" -s S -l subrepos -d "recurse into subrepositories" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg strip +for cmd in str stri strip + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d "strip specified revision" + complete -c hg -n "__fish_hg_using_command $cmd" -s f -l force -d "force removal of changesets, discard uncommitted changes (no backup)" + complete -c hg -n "__fish_hg_using_command $cmd" -l no-backup -d "do not save backup bundle" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "do not modify working directory during strip" + complete -c hg -n "__fish_hg_using_command $cmd" -s B -l bookmark -x -a "(__fish_hg_bookmarks)" -d "remove revs only reachable from given bookmark" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg summary +for cmd in su sum summ summa summar summary + complete -c hg -n "__fish_hg_using_command $cmd" -l remote -d "check for push and pull" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg tag +complete -c hg -n "__fish_hg_using_command tag" -s f -l force -d "force tag" +complete -c hg -n "__fish_hg_using_command tag" -s l -l local -d "make the tag local" +complete -c hg -n "__fish_hg_using_command tag" -s r -l rev -x -a "(__fish_hg_labels)" -d "revision to tag" +complete -c hg -n "__fish_hg_using_command tag" -l remove -d "remove a tag" +complete -c hg -n "__fish_hg_using_command tag" -s e -l edit -d "invoke editor on commit messages" +complete -c hg -n "__fish_hg_using_command tag" -s m -l message -x -d "use <text> as commit message" +complete -c hg -n "__fish_hg_using_command tag" -s d -l date -x -d "record the specified date as commit date" +complete -c hg -n "__fish_hg_using_command tag" -s u -l user -x -d "record the specified user as committer" +complete -c hg -n "__fish_hg_using_command tag; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" + +# hg tags +complete -c hg -n "__fish_hg_using_command tags; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" + +# hg unbundle +for cmd in un unb unbu unbun unbund unbundl unbundle + complete -c hg -n "__fish_hg_using_command $cmd" -s u -l update -d "update to new branch head if changesets were unbundled" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg unshelve +for cmd in uns unsh unshe unshel unshelv unshelve + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_shelves)" + complete -c hg -n "__fish_hg_using_command $cmd" -s a -l abort -d "abort an incomplete unshelve operation" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l continue -d "continue an incomplete unshelve operation" + complete -c hg -n "__fish_hg_using_command $cmd" -s k -l keep -d "keep shelve after unshelving" + complete -c hg -n "__fish_hg_using_command $cmd" -s n -l name -x -a "(__fish_hg_shelves)" -d "restore shelved change with given name" + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg update +for cmd in up upd upda updat update che chec check checko checkou checkout co + complete -c hg -n "__fish_hg_using_command $cmd" -x -a "(__fish_hg_labels)" + complete -c hg -n "__fish_hg_using_command $cmd" -s C -l clean -d "discard uncommitted changes (no backup)" + complete -c hg -n "__fish_hg_using_command $cmd" -s c -l check -d "require clean working directory" + complete -c hg -n "__fish_hg_using_command $cmd" -s m -l merge -d "merge uncommitted changes" + complete -c hg -n "__fish_hg_using_command $cmd" -s d -l date -x -d "tipmost revision matching date" + complete -c hg -n "__fish_hg_using_command $cmd" -s r -l rev -x -a "(__fish_hg_labels)" -d revision + complete -c hg -n "__fish_hg_using_command $cmd" -s t -l tool -x -a "(__fish_hg_merge_tools)" -d "specify merge tool" + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end + +# hg verify +for cmd in veri verif verify + complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" +end