hg completion: complete hg files, rebase, shelve, unshelve

This commit is contained in:
Anton Shestakov 2018-08-15 12:15:07 +08:00
parent 6223833130
commit cdf39ed660

View file

@ -327,6 +327,10 @@ function __fish_hg_sources
end end
end end
function __fish_hg_shelves
printf "%s\tshelve\n" (__fish_hg shelve -ql)
end
function __fish_hg_mq_enabled function __fish_hg_mq_enabled
if set -l line (__fish_hg config extensions.hgext.mq) if set -l line (__fish_hg config extensions.hgext.mq)
set -l parts (string split "=" -m 1 $line) set -l parts (string split "=" -m 1 $line)
@ -620,6 +624,16 @@ for cmd in exp expo expor export
complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository"
end 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 # hg forget
for cmd in fo for forg forge 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" -x -a "(__fish_hg_status -ca)"
@ -1099,6 +1113,26 @@ for cmd in qu qun quna qunap qunapp qunappl qunappli qunapplie qunapplied
complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header" complete -c hg -n "__fish_hg_using_command $cmd" -s s -l summary -d "print first line of patch header"
end 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 # hg record
for cmd in recor 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" -f -a "(__fish_hg_status -amr)"
@ -1203,6 +1237,26 @@ for cmd in se ser serv serve
complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository"
end 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 # hg status
for cmd in st sta stat statu 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 A -l all -d "show status of all files"
@ -1261,6 +1315,17 @@ for cmd in un unb unbu unbun unbund unbundl unbundle
complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository" complete -c hg -n "__fish_hg_using_command $cmd; and __fish_hg_mq_enabled" -l mq -d "operate on patch repository"
end 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 # hg update
for cmd in up upd upda updat update che chec check checko checkou checkout co 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" -x -a "(__fish_hg_labels)"