aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/darcs.fish
blob: b3a7ae12772c33d2607e4c555d1fedd0761aa7b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
#
# 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

#
# If no subcommand has been specified, complete using all available subcommands
#

complete -c darcs -n '__fish_use_subcommand' -xa 'initialize\t"'(_ "Create new project")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'get\t"'(_ "Create a local copy of another repository")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'add\t"'(_ "Add one or more new files or directories")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'remove\t"'(_ "Remove one or more files or directories from the repository")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'mv\t"'(_ "Move/rename one or more files or directories")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'replace\t"'(_ "Replace a token with a new value for that token")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'record\t"'(_ "Save changes in the working copy to the repository as a patch")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'pull\t"'(_ "Copy and apply patches from another repository to this one")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'send\t"'(_ "Send by email a bundle of one or more patches")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'apply\t"'(_ "Apply patches (from an email bundle) to the repository")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'push\t"'(_ "Copy and apply patches from this repository to another one")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'whatsnew\t"'(_ "Display unrecorded changes in the working copy")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'changes\t"'(_ "Gives a changelog style summary of the repo history")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'unrecord\t"'(_ "Remove recorded patches without changing the working copy")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'amend-record\t"'(_ "Replace a recorded patch with a better version")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'revert\t"'(_ "Revert to the recorded version (safe the first time only)" )'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'unrevert\t"'(_ "Undo the last revert (may fail if changes after the revert)")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'unpull\t"'(_ "Opposite of pull; unsafe if the patch is not in remote repo")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'rollback\t"'(_ "Record an inverse patch without changing the working copy" )'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'tag\t"'(_ "Tag the contents of the repository with a version name")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'setpref\t"'(_ "Set a value for a preference (test, predist, ...)")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'diff\t"'(_ "Create a diff between two versions of the repository")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'annotate\t"'(_ "Display which patch last modified something")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'optimize\t"'(_ "Optimize the repository")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'check\t"'(_ "Check the repository for consistency")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'resolve\t"'(_ "Mark any conflicts to the working copy for manual resolution")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'dist\t"'(_ "Create a distribution tarball")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'trackdown\t"'(_ "Locate the most recent version lacking an error")'"'
complete -c darcs -n '__fish_use_subcommand' -xa 'repair\t"'(_ "Repair the corrupted repository")'"'
 
#
# These switches are universal
#
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 (_ "Verbose mode")
complete -c darcs -l standard-verbosity -d (_ "Neither verbose nor quiet output")

#
# Here follows a huge list of subcommand-specific completions. These are incomplete.
#

set -l 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 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 -l 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 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 -l 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 specified file") -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 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 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 -l check_opt  -c darcs -n 'contains check (commandline -poc)'
complete $check_opt -s v -l verbose -d (_ "Verbose mode")
complete $check_opt -s q -l quiet -d (_ "Suppress informational output")
complete $check_opt -l complete -d (_ "Check the entire repository")
complete $check_opt -l partial -d (_ "Check patches since latest checkpoint")
complete $check_opt -l no-test -d (_ "Don't run the test script")
complete $check_opt -l test -d (_ "Run the test script")
complete $check_opt -l leave-test-directory -d (_ "Don't remove the test directory")
complete $check_opt -l remove-test-directory -d (_ "Remove the test directory")


set -l mv_opt  -c darcs -n 'contains mv (commandline -poc)'
complete $mv_opt -s v -l verbose -d (_ "Verbose mode")
complete $mv_opt -l case-ok -d (_ "Don't refuse to add files differing only in case")


set -l send_opt -c darcs -n 'contains send (commandline -poc)'
complete $send_opt -s v -l verbose -d (_ "Verbose mode")
complete $send_opt -s q -l quiet -d (_ "Suppress informational output")
complete $send_opt -xs p -l patches -d (_ "Select patches matching REGEXP")
complete $send_opt -xs t -l tags -d (_ "Select tags matching REGEXP")
complete $send_opt -s a -l all -d (_ "Answer yes to all patches")
complete $send_opt -xs A  -l author -d (_ "Specify author id")
complete $send_opt -rs o -l output -d (_ "Specify output filename")
complete $send_opt -s u -l unified -d (_ "Output patch in a darcs-specific format similar to diff -u")
complete $send_opt -s s -l summary -d (_ "Summarize changes")
complete $send_opt -xl matches -d (_ "Select patches matching PATTERN")
complete $send_opt -l interactive -d (_ "Prompt user interactively")
complete $send_opt -xl from -d (_ "Specify email address")
complete $send_opt -xl to -d (_ "Specify destination email")
complete $send_opt -xl cc -d (_ "Mail results to additional EMAIL(s). Requires --reply")
complete $send_opt -l sign -d (_ "Sign the patch with your gpg key")
complete $send_opt -xl sign-as -d (_ "Sign the patch with a given keyid")
complete $send_opt -rl sign-ssl -d (_ "Sign the patch using openssl with a given private key")
complete $send_opt -l dont-sign -d (_ "Do not sign the patch")
complete $send_opt -l dry-run -d (_ "Don't actually take the action")
complete $send_opt -l no-summary -d (_ "Don't summarize changes")
complete $send_opt -rl context -d (_ "Send to context stored in FILENAME")
complete $send_opt -l edit-description -d (_ "Edit the patch bundle description")
complete $send_opt -l set-default -d (_ "Set default repository [DEFAULT]")
complete $send_opt -l no-set-default -d (_ "Don't set default repository")
complete $send_opt -rl sendmail-command -d (_ "Specify sendmail command")


set -l init_opt  -c darcs -n 'contains initialize (commandline -poc)'
complete $init_opt -l plain-pristine-tree -d (_ "Use a plain pristine tree [DEFAULT]")
complete $init_opt -l no-pristine-tree -d (_ "Use no pristine tree")


set -l annotate_opt -c darcs -n 'contains annotate (commandline -poc)'
complete $annotate_opt -s s -l summary -d (_ "Summarize changes")
complete $annotate_opt -l no-summary -d (_ "Don't summarize changes")
complete $annotate_opt -s u -l unified -d (_ "Output patch in a darcs-specific format similar to diff -u")
complete $annotate_opt -l human-readable -d (_ "Give human readable output")
complete $annotate_opt -l xml-output -d (_ "Generate XML formatted output")
complete $annotate_opt -l match -x -d (_ "Select patch matching PATTERN")
complete $annotate_opt -s p -l patch -x -d (_ "Select patch matching REGEXP")
complete $annotate_opt -s t -l tag -x -d (_ "Select tag matching REGEXP")
complete $annotate_opt -l creator-hash -x -d (_ "Specify hash of creator patch (see docs)")


set -l changes_opt -c darcs -n 'contains changes (commandline -poc)'
complete $changes_opt -l to-match -x -d (_ "Select changes up to a patch matching PATTERN")
complete $changes_opt -l to-patch -x -d (_ "Select changes up to a patch matching REGEXP")
complete $changes_opt -l to-tag -x -d (_ "Select changes up to a tag matching REGEXP")
complete $changes_opt -l from-match -x -d (_ "Select changes starting with a patch matching PATTERN")
complete $changes_opt -l from-patch -x -d (_ "Select changes starting with a patch matching REGEXP")
complete $changes_opt -l from-tag -x -d (_ "Select changes starting with a tag matching REGEXP")
complete $changes_opt -l last -x -d (_ "Select the last NUMBER patches")
complete $changes_opt -l matches -x -d (_ "Select patches matching PATTERN")
complete $changes_opt -s p -l patches -x -d (_ "Select patches matching REGEXP")
complete $changes_opt -s t -l tags -x -d (_ "Select tags matching REGEXP")
complete $changes_opt -l context -d (_ "Give output suitable for get --context")
complete $changes_opt -l xml-output -d (_ "Generate XML formatted output")
complete $changes_opt -l human-readable -d (_ "Give human-readable output")
complete $changes_opt -s s -l summary -d (_ "Summarize changes")
complete $changes_opt -l no-summary -d (_ "Don't summarize changes")
complete $changes_opt -s q -l quiet -d (_ "Suppress informational output")
complete $changes_opt -l reverse -d (_ "Show changes in reverse order")
complete $changes_opt -l repo -x -d (_ "Specify the repository URL")


set -l add_opt -c darcs -n 'contains add (commandline -poc)'
complete $add_opt -l boring -d (_ "Don't skip boring files")
complete $add_opt -l case-ok -d (_ "Don't refuse to add files differing only in case")
complete $add_opt -s r -l recursive -d (_ "Add contents of subdirectories")
complete $add_opt -l not-recursive -d (_ "Don't add contents of subdirectories")
complete $add_opt -l date-trick -d (_ "Add files with date appended to avoid conflict. [EXPERIMENTAL]")
complete $add_opt -l no-date-trick -d (_ "Don't use experimental date appending trick. [DEFAULT]")
complete $add_opt -s q -l quiet -d (_ "Suppress informational output")
complete $add_opt -l dry-run -d (_ "Don't actually take the action")
complete $add_opt -s q -l quiet -d (_ "Suppress informational output")