Add darcs completions

darcs-hash:20050921000039-ac50b-90e50a512ec82bce27bad99d3eabf2e15105c147.gz
This commit is contained in:
axel 2005-09-21 10:00:39 +10:00
parent 4c9903cd66
commit 8baf2e5cb8

135
init/completions/darcs.fish Normal file
View file

@ -0,0 +1,135 @@
#
# Completions for the darcs VCS command
#
# Incomplete, the number of switches for darcs is _huge_
#
#Test if a non-switch argument has been given
function __fish_use_subcommand
set -l cmd -- (commandline -poc)
set -e cmd[1]
for i in $cmd
switch $i
case '-*'
continue
end
return 1
end
return 0
end
complete -c darcs -n '__fish_use_subcommand' -xa "
initialize\t'Create new project'
get\t'Create a local copy of another repository'
add\t'Add one or more new files or directories'
remove\t'Remove one or more files or directories from the repository'
mv\t'Move/rename one or more files or directories'
replace\t'Replace a token with a new value for that token'
record\t'Save changes in the working copy to the repository as a patch'
pull\t'Copy and apply patches from another repository to this one'
send\t'Send by email a bundle of one or more patches'
apply\t'Apply patches (from an email bundle) to the repository'
push\t'Copy and apply patches from this repository to another one'
whatsnew\t'Display unrecorded changes in the working copy'
changes\t'Gives a changelog style summary of the repo history'
unrecord\t'Remove recorded patches without changing the working copy'
amend-record\t'Replace a recorded patch with a better version'
revert\t'Revert to the recorded version (safe the first time only)'
unrevert\t'Undo the last revert (may fail if changes after the revert)'
unpull\t'Opposite of pull; unsafe if the patch is not in remote repo'
rollback\t'Record an inverse patch without changing the working directory'
tag\t'Tag the contents of the repository with a version name'
setpref\t'Set a value for a preference (test, predist, ...)'
diff\t'Create a diff between two versions of the repository'
annotate\t'Display which patch last modified something'
optimize\t'Optimize the repository'
check\t'Check the repository for consistency'
resolve\t'Mark any conflicts to the working copy for manual resolution'
dist\t'Create a distribution tarball'
trackdown\t'Locate the most recent version lacking an error'
repair\t'Repair the corrupted repository'
"
complete -c darcs -s h -l help -d "shows brief description of command and its arguments"
complete -c darcs -l disable -d "Disable this command"
complete -c darcs -l repodir -d "Specify the repository directory in which to run" -x -a '(__fish_complete_directory (commandline -ct))'
complete -c darcs -s v -l verbose -d "give verbose output"
set record_opt -- -c darcs -n 'contains record (commandline -poc)'
complete $record_opt -s m -l patch-name -d "Name of patch" -x
complete $record_opt -s A -l author -d "Specify author id" -x
complete $record_opt -l logfile -d "Give patch name and comment in file" -r
complete $record_opt -s a -l all -d "answer yes to all patches"
complete $record_opt -s l -l look-for-adds -d "In addition to modifications, look for files that are not boring, and thus are potentially pending addition"
complete $record_opt -l delete-logfile -d "Delete the logfile when done"
complete $record_opt -l standard-verbosity -d "Don"\'"t give verbose output"
complete $record_opt -l no-test -d "Don"\'"t run the test script"
complete $record_opt -l test -d "Run the test script"
complete $record_opt -l leave-test-directory -d "Don"\'"t remove the test directory"
complete $record_opt -l remove-test-directory -d "Remove the test directory"
complete $record_opt -l compress -d "Create compressed patches"
complete $record_opt -l dont-compress -d "Don"\'"t create compressed patches"
complete $record_opt -l pipe -d "Expect to receive input from a pipe"
complete $record_opt -l interactive -d "Prompt user interactively"
complete $record_opt -l ask-deps -d "Ask for extra dependencies"
complete $record_opt -l no-ask-deps -d "Don"\'"t ask for extra dependencies"
complete $record_opt -l edit-long-comment -d "Edit the long comment by default"
complete $record_opt -l skip-long-comment -d "Don"\'"t give a long comment"
complete $record_opt -l prompt-long-comment -d "Prompt for whether to edit the long comment"
complete $record_opt -l ignore-times -d "Don"\'"t trust the file modification times"
complete $record_opt -l dont-look-for-adds -d "Don"\'"t look for any files or directories that could be added, and don"\'"t add them automatically"
set -e record_opt
set pull_opt -- -c darcs -n 'contains pull (commandline -poc)'
complete $pull_opt -s p -l patches -d "select patches matching REGEXP" -x
complete $pull_opt -s t -l tags -d "select tags matching REGEXP" -x
complete $pull_opt -s a -l all -d "answer yes to all patches"
complete $pull_opt -s s -l summary -d "summarize changes"
complete $pull_opt -s q -l quiet -d "suppress informational output"
complete $pull_opt -l matches -d "select patches matching PATTERN" -x
complete $pull_opt -l external-merge -d "Use external tool to merge conflicts" -x
complete $pull_opt -l interactive -d "prompt user interactively"
complete $pull_opt -l compress -d "create compressed patches"
complete $pull_opt -l dont-compress -d "don"\'"t create compressed patches"
complete $pull_opt -l test -d "run the test script"
complete $pull_opt -l no-test -d "don"\'"t run the test script"
complete $pull_opt -l dry-run -d "don"\'"t actually take the action"
complete $pull_opt -l no-summary -d "don"\'"t summarize changes"
complete $pull_opt -l standard-verbosity -d "neither verbose nor quiet output"
complete $pull_opt -l ignore-times -d "don"\'"t trust the file modification times"
complete $pull_opt -l no-deps -d "don"\'"t automatically fulfill dependencies"
complete $pull_opt -l set-default -d "set default repository [DEFAULT]"
complete $pull_opt -l no-set-default -d "don"\'"t set default repository"
complete $pull_opt -l set-scripts-executable -d "make scripts executable"
complete $pull_opt -l dont-set-scripts-executable -d "don"\'"t make scripts executable"
set -e pull_opt
set apply_opt -- -c darcs -n 'contains apply (commandline -poc)'
complete $apply_opt -s a -l all -d "answer yes to all patches"
complete $apply_opt -l verify -d "verify that the patch was signed by a key in PUBRING" -r
complete $apply_opt -l verify-ssl -d "verify using openSSL with authorized keys from file "\'"KEYS"\'"" -r
complete $apply_opt -l sendmail-command -d "specify sendmail command" -r
complete $apply_opt -l reply -d "reply to email-based patch using FROM address" -x
complete $apply_opt -l cc -d "mail results to additional EMAIL(s). Requires --reply" -x
complete $apply_opt -l external-merge -d "Use external tool to merge conflicts" -r
complete $apply_opt -l no-verify -d "don"\'"t verify patch signature"
complete $apply_opt -l standard-verbosity -d "don"\'"t give verbose output"
complete $apply_opt -l ignore-times -d "don"\'"t trust the file modification times"
complete $apply_opt -l compress -d "create compressed patches"
complete $apply_opt -l dont-compress -d "don"\'"t create compressed patches"
complete $apply_opt -l interactive -d "prompt user interactively"
complete $apply_opt -l mark-conflicts -d "mark conflicts"
complete $apply_opt -l allow-conflicts -d "allow conflicts, but don"\'"t mark them"
complete $apply_opt -l no-resolve-conflicts -d "equivalent to --dont-allow-conflicts, for backwards compatibility"
complete $apply_opt -l dont-allow-conflicts -d "fail on patches that create conflicts [DEFAULT]"
complete $apply_opt -l no-test -d "don"\'"t run the test script"
complete $apply_opt -l test -d "run the test script"
complete $apply_opt -l happy-forwarding -d "forward unsigned messages without extra header"
complete $apply_opt -l leave-test-directory -d "don"\'"t remove the test directory"
complete $apply_opt -l remove-test-directory -d "remove the test directory"
complete $apply_opt -l set-scripts-executable -d "make scripts executable"
complete $apply_opt -l dont-set-scripts-executable -d "don"\'"t make scripts executable"
set -e apply_opt