summaryrefslogtreecommitdiff
path: root/.config/fish/completions/docker.fish
blob: 99d61d38fc7baa6f1a959b9ad830601280aca84b (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
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
# docker completions for fish shell
#
# This file is generated by `gen_completions.rb` from
# https://github.com/halostatue/fish-docker

complete -e -c docker

# Completions currently supported:
# - parameters
# - commands
# - containers
# - images
# - repositories
#
# Management commands (commands with subcommands) are not yet supported.

function _halostatue_fish_docker_no_subcommand
    for i in (commandline -opc)
        contains -- $i attach build builder commit compose config container context cp create diff events exec export history image images import info inspect kill load login logout logs manifest network node pause plugin port ps pull push rename restart rm rmi run save search secret service stack start stats stop swarm system tag top trust unpause update version volume wait; and return 1
    end
    return 0
end

# common options
complete --command docker --description "Location of client config files (default \"~/.docker\")" --condition _halostatue_fish_docker_no_subcommand --require-parameter --long-option config
complete --command docker --description "Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var" --condition _halostatue_fish_docker_no_subcommand --exclusive --short-option c --long-option context
complete --command docker --description "Enable debug mode" --condition _halostatue_fish_docker_no_subcommand --short-option D --long-option debug
complete --command docker --description "Daemon socket(s) to connect to" --condition _halostatue_fish_docker_no_subcommand --exclusive --short-option H --long-option host
complete --command docker --description "Set the logging level (\"debug\"|\"info\"|\"warn\"|\"error\"|\"fatal\") (default \"info\")" --condition _halostatue_fish_docker_no_subcommand --exclusive --short-option l --long-option log-level
complete --command docker --description "Use TLS; implied by --tlsverify" --condition _halostatue_fish_docker_no_subcommand --long-option tls
complete --command docker --description "Trust certs signed only by this CA (default \"~/.docker/ca.pem\")" --condition _halostatue_fish_docker_no_subcommand --require-parameter --long-option tlscacert
complete --command docker --description "Path to TLS certificate file (default \"~/.docker/cert.pem\")" --condition _halostatue_fish_docker_no_subcommand --require-parameter --long-option tlscert
complete --command docker --description "Path to TLS key file (default \"~/.docker/key.pem\")" --condition _halostatue_fish_docker_no_subcommand --require-parameter --long-option tlskey
complete --command docker --description "Use TLS and verify the remote" --condition _halostatue_fish_docker_no_subcommand --long-option tlsverify
complete --command docker --description "Print version information and quit" --condition _halostatue_fish_docker_no_subcommand --short-option v --long-option version


# subcommands
# attach
complete --command docker --description "Attach local standard input, output, and error streams to a running container" --condition _halostatue_fish_docker_no_subcommand --arguments attach
complete --command docker --description "Override the key sequence for detaching a container" --condition '__fish_seen_subcommand_from attach' --exclusive --long-option detach-keys
complete --command docker --description "Do not attach STDIN" --condition '__fish_seen_subcommand_from attach' --long-option no-stdin
complete --command docker --description "Proxy all received signals to the process (default true)" --condition '__fish_seen_subcommand_from attach' --long-option sig-proxy
complete --command docker --description Container --condition '__fish_seen_subcommand_from attach' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# build
complete --command docker --description "Build an image from a Dockerfile" --condition _halostatue_fish_docker_no_subcommand --arguments build
complete --command docker --description "Add a custom host-to-IP mapping (host:ip)" --condition '__fish_seen_subcommand_from build' --exclusive --long-option add-host
complete --command docker --description "Set build-time variables" --condition '__fish_seen_subcommand_from build' --exclusive --long-option build-arg
complete --command docker --description "Images to consider as cache sources" --condition '__fish_seen_subcommand_from build' --exclusive --long-option cache-from
complete --command docker --description "Skip image verification (default true)" --condition '__fish_seen_subcommand_from build' --long-option disable-content-trust
complete --command docker --description "Name of the Dockerfile (Default is 'PATH/Dockerfile')" --condition '__fish_seen_subcommand_from build' --exclusive --short-option f --long-option file
complete --command docker --description "Write the image ID to the file" --condition '__fish_seen_subcommand_from build' --exclusive --long-option iidfile
complete --command docker --description "Container isolation technology" --condition '__fish_seen_subcommand_from build' --exclusive --long-option isolation
complete --command docker --description "Set metadata for an image" --condition '__fish_seen_subcommand_from build' --exclusive --long-option label
complete --command docker --description "Set the networking mode for the RUN instructions during build (default \"default\")" --condition '__fish_seen_subcommand_from build' --exclusive --long-option network
complete --command docker --description "Do not use cache when building the image" --condition '__fish_seen_subcommand_from build' --long-option no-cache
complete --command docker --description "Output destination (format: type=local,dest=path)" --condition '__fish_seen_subcommand_from build' --exclusive --short-option o --long-option output
complete --command docker --description "Set platform if server is multi-platform capable" --condition '__fish_seen_subcommand_from build' --exclusive --long-option platform
complete --command docker --description "Set type of progress output (auto, plain, tty). Use plain to show container" --condition '__fish_seen_subcommand_from build' --exclusive --long-option progress
complete --command docker --description "Always attempt to pull a newer version of the image" --condition '__fish_seen_subcommand_from build' --long-option pull
complete --command docker --description "Suppress the build output and print image ID on success" --condition '__fish_seen_subcommand_from build' --short-option q --long-option quiet
complete --command docker --description PATH --condition '__fish_seen_subcommand_from build' --force-files --require-parameter
complete --command docker --description URL --condition '__fish_seen_subcommand_from build' --exclusive
complete --command docker --description STDIN --condition '__fish_seen_subcommand_from build' --arguments - --exclusive

# commit
complete --command docker --description "Create a new image from a container's changes" --condition _halostatue_fish_docker_no_subcommand --arguments commit
complete --command docker --description "Author (e.g., \"John Hannibal Smith <hannibal@a-team.com>\")" --condition '__fish_seen_subcommand_from commit' --exclusive --short-option a --long-option author
complete --command docker --description "Apply Dockerfile instruction to the created image" --condition '__fish_seen_subcommand_from commit' --exclusive --short-option c --long-option change
complete --command docker --description "Commit message" --condition '__fish_seen_subcommand_from commit' --exclusive --short-option m --long-option message
complete --command docker --description "Pause container during commit (default true)" --condition '__fish_seen_subcommand_from commit' --short-option p --long-option pause
complete --command docker --description Container --condition '__fish_seen_subcommand_from commit' --arguments '(_halostatue_fish_docker_print_containers all)' --exclusive
complete --command docker --description Repository --condition '__fish_seen_subcommand_from commit' --arguments '(_halostatue_fish_docker_print_repositories )' --exclusive

# cp
complete --command docker --description "Copy files/folders between a container and the local filesystem" --condition _halostatue_fish_docker_no_subcommand --arguments cp
complete --command docker --description "Archive mode (copy all uid/gid information)" --condition '__fish_seen_subcommand_from cp' --short-option a --long-option archive
complete --command docker --description "Always follow symbol link in SRC_PATH" --condition '__fish_seen_subcommand_from cp' --short-option L --long-option follow-link
complete --command docker --description "CONTAINER:SRC_PATH" --condition '__fish_seen_subcommand_from cp' --arguments '(_halostatue_fish_docker_print_containers all :)' --exclusive
complete --command docker --description DEST_PATH --condition '__fish_seen_subcommand_from cp' --force-files --require-parameter
complete --command docker --description STDIN --condition '__fish_seen_subcommand_from cp' --arguments - --exclusive

# create
complete --command docker --description "Create a new container" --condition _halostatue_fish_docker_no_subcommand --arguments create
complete --command docker --description "Add a custom host-to-IP mapping (host:ip)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option add-host
complete --command docker --description "Attach to STDIN, STDOUT or STDERR" --condition '__fish_seen_subcommand_from create' --exclusive --short-option a --long-option attach
complete --command docker --description "Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option blkio-weight
complete --command docker --description "Block IO weight (relative device weight) (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option blkio-weight-device
complete --command docker --description "Add Linux capabilities" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cap-add
complete --command docker --description "Drop Linux capabilities" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cap-drop
complete --command docker --description "Optional parent cgroup for the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cgroup-parent
complete --command docker --description "Cgroup namespace to use (host|private)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cgroupns
complete --command docker --description "Run the container in the Docker host's cgroup namespace" --condition '__fish_seen_subcommand_from create' --short-option 'host':
complete --command docker --description "Use the cgroup namespace as configured by the" --condition '__fish_seen_subcommand_from create' --short-option '':
complete --command docker --description "Write the container ID to the file" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cidfile
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) period" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpu-period
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) quota" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpu-quota
complete --command docker --description "Limit CPU real-time period in microseconds" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpu-rt-period
complete --command docker --description "Limit CPU real-time runtime in microseconds" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpu-rt-runtime
complete --command docker --description "CPU shares (relative weight)" --condition '__fish_seen_subcommand_from create' --exclusive --short-option c --long-option cpu-shares
complete --command docker --description "Number of CPUs" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpus
complete --command docker --description "CPUs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpuset-cpus
complete --command docker --description "MEMs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option cpuset-mems
complete --command docker --description "Add a host device to the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device
complete --command docker --description "Add a rule to the cgroup allowed devices list" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device-cgroup-rule
complete --command docker --description "Limit read rate (bytes per second) from a device (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device-read-bps
complete --command docker --description "Limit read rate (IO per second) from a device (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device-read-iops
complete --command docker --description "Limit write rate (bytes per second) to a device (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device-write-bps
complete --command docker --description "Limit write rate (IO per second) to a device (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option device-write-iops
complete --command docker --description "Skip image verification (default true)" --condition '__fish_seen_subcommand_from create' --long-option disable-content-trust
complete --command docker --description "Set custom DNS servers" --condition '__fish_seen_subcommand_from create' --exclusive --long-option dns
complete --command docker --description "Set DNS options" --condition '__fish_seen_subcommand_from create' --exclusive --long-option dns-option
complete --command docker --description "Set custom DNS search domains" --condition '__fish_seen_subcommand_from create' --exclusive --long-option dns-search
complete --command docker --description "Container NIS domain name" --condition '__fish_seen_subcommand_from create' --exclusive --long-option domainname
complete --command docker --description "Overwrite the default ENTRYPOINT of the image" --condition '__fish_seen_subcommand_from create' --exclusive --long-option entrypoint
complete --command docker --description "Set environment variables" --condition '__fish_seen_subcommand_from create' --exclusive --short-option e --long-option env
complete --command docker --description "Read in a file of environment variables" --condition '__fish_seen_subcommand_from create' --exclusive --long-option env-file
complete --command docker --description "Expose a port or a range of ports" --condition '__fish_seen_subcommand_from create' --exclusive --long-option expose
complete --command docker --description "GPU devices to add to the container ('all' to pass all GPUs)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option gpus
complete --command docker --description "Add additional groups to join" --condition '__fish_seen_subcommand_from create' --exclusive --long-option group-add
complete --command docker --description "Command to run to check health" --condition '__fish_seen_subcommand_from create' --exclusive --long-option health-cmd
complete --command docker --description "Time between running the check (ms|s|m|h) (default 0s)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option health-interval
complete --command docker --description "Consecutive failures needed to report unhealthy" --condition '__fish_seen_subcommand_from create' --exclusive --long-option health-retries
complete --command docker --description "Start period for the container to initialize before starting" --condition '__fish_seen_subcommand_from create' --exclusive --long-option health-start-period
complete --command docker --description "Maximum time to allow one check to run (ms|s|m|h) (default 0s)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option health-timeout
complete --command docker --description "Print usage" --condition '__fish_seen_subcommand_from create' --long-option help
complete --command docker --description "Container host name" --condition '__fish_seen_subcommand_from create' --exclusive --short-option h --long-option hostname
complete --command docker --description "Run an init inside the container that forwards signals and reaps processes" --condition '__fish_seen_subcommand_from create' --long-option init
complete --command docker --description "Keep STDIN open even if not attached" --condition '__fish_seen_subcommand_from create' --short-option i --long-option interactive
complete --command docker --description "IPv4 address (e.g., 172.30.100.104)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option ip
complete --command docker --description "IPv6 address (e.g., 2001:db8::33)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option ip6
complete --command docker --description "IPC mode to use" --condition '__fish_seen_subcommand_from create' --exclusive --long-option ipc
complete --command docker --description "Container isolation technology" --condition '__fish_seen_subcommand_from create' --exclusive --long-option isolation
complete --command docker --description "Kernel memory limit" --condition '__fish_seen_subcommand_from create' --exclusive --long-option kernel-memory
complete --command docker --description "Set meta data on a container" --condition '__fish_seen_subcommand_from create' --exclusive --short-option l --long-option label
complete --command docker --description "Read in a line delimited file of labels" --condition '__fish_seen_subcommand_from create' --exclusive --long-option label-file
complete --command docker --description "Add link to another container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option link
complete --command docker --description "Container IPv4/IPv6 link-local addresses" --condition '__fish_seen_subcommand_from create' --exclusive --long-option link-local-ip
complete --command docker --description "Logging driver for the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option log-driver
complete --command docker --description "Log driver options" --condition '__fish_seen_subcommand_from create' --exclusive --long-option log-opt
complete --command docker --description "Container MAC address (e.g., 92:d0:c6:0a:29:33)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option mac-address
complete --command docker --description "Memory limit" --condition '__fish_seen_subcommand_from create' --exclusive --short-option m --long-option memory
complete --command docker --description "Memory soft limit" --condition '__fish_seen_subcommand_from create' --exclusive --long-option memory-reservation
complete --command docker --description "Swap limit equal to memory plus swap: '-1' to enable unlimited swap" --condition '__fish_seen_subcommand_from create' --exclusive --long-option memory-swap
complete --command docker --description "Tune container memory swappiness (0 to 100) (default -1)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option memory-swappiness
complete --command docker --description "Attach a filesystem mount to the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option mount
complete --command docker --description "Assign a name to the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option name
complete --command docker --description "Connect a container to a network" --condition '__fish_seen_subcommand_from create' --exclusive --long-option network
complete --command docker --description "Add network-scoped alias for the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option network-alias
complete --command docker --description "Disable any container-specified HEALTHCHECK" --condition '__fish_seen_subcommand_from create' --long-option no-healthcheck
complete --command docker --description "Disable OOM Killer" --condition '__fish_seen_subcommand_from create' --long-option oom-kill-disable
complete --command docker --description "Tune host's OOM preferences (-1000 to 1000)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option oom-score-adj
complete --command docker --description "PID namespace to use" --condition '__fish_seen_subcommand_from create' --exclusive --long-option pid
complete --command docker --description "Tune container pids limit (set -1 for unlimited)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option pids-limit
complete --command docker --description "Set platform if server is multi-platform capable" --condition '__fish_seen_subcommand_from create' --exclusive --long-option platform
complete --command docker --description "Give extended privileges to this container" --condition '__fish_seen_subcommand_from create' --long-option privileged
complete --command docker --description "Publish a container's port(s) to the host" --condition '__fish_seen_subcommand_from create' --exclusive --short-option p --long-option publish
complete --command docker --description "Publish all exposed ports to random ports" --condition '__fish_seen_subcommand_from create' --short-option P --long-option publish-all
complete --command docker --description "Pull image before creating (\"always\"|\"missing\"|\"never\") (default \"missing\")" --condition '__fish_seen_subcommand_from create' --exclusive --long-option pull
complete --command docker --description "Mount the container's root filesystem as read only" --condition '__fish_seen_subcommand_from create' --long-option read-only
complete --command docker --description "Restart policy to apply when a container exits (default \"no\")" --condition '__fish_seen_subcommand_from create' --exclusive --long-option restart
complete --command docker --description "Automatically remove the container when it exits" --condition '__fish_seen_subcommand_from create' --long-option rm
complete --command docker --description "Runtime to use for this container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option runtime
complete --command docker --description "Security Options" --condition '__fish_seen_subcommand_from create' --exclusive --long-option security-opt
complete --command docker --description "Size of /dev/shm" --condition '__fish_seen_subcommand_from create' --exclusive --long-option shm-size
complete --command docker --description "Signal to stop a container (default \"SIGTERM\")" --condition '__fish_seen_subcommand_from create' --exclusive --long-option stop-signal
complete --command docker --description "Timeout (in seconds) to stop a container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option stop-timeout
complete --command docker --description "Storage driver options for the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option storage-opt
complete --command docker --description "Sysctl options (default map[])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option sysctl
complete --command docker --description "Mount a tmpfs directory" --condition '__fish_seen_subcommand_from create' --exclusive --long-option tmpfs
complete --command docker --description "Allocate a pseudo-TTY" --condition '__fish_seen_subcommand_from create' --short-option t --long-option tty
complete --command docker --description "Ulimit options (default [])" --condition '__fish_seen_subcommand_from create' --exclusive --long-option ulimit
complete --command docker --description "Username or UID (format: <name|uid>[:<group|gid>])" --condition '__fish_seen_subcommand_from create' --exclusive --short-option u --long-option user
complete --command docker --description "User namespace to use" --condition '__fish_seen_subcommand_from create' --exclusive --long-option userns
complete --command docker --description "UTS namespace to use" --condition '__fish_seen_subcommand_from create' --exclusive --long-option uts
complete --command docker --description "Bind mount a volume" --condition '__fish_seen_subcommand_from create' --exclusive --short-option v --long-option volume
complete --command docker --description "Optional volume driver for the container" --condition '__fish_seen_subcommand_from create' --exclusive --long-option volume-driver
complete --command docker --description "Mount volumes from the specified container(s)" --condition '__fish_seen_subcommand_from create' --exclusive --long-option volumes-from
complete --command docker --description "Working directory inside the container" --condition '__fish_seen_subcommand_from create' --exclusive --short-option w --long-option workdir
complete --command docker --description Image --condition '__fish_seen_subcommand_from create' --arguments '(_halostatue_fish_docker_print_images )' --exclusive
complete --command docker --description "[COMMAND]" --condition '__fish_seen_subcommand_from create' --exclusive
complete --command docker --description ARG --condition '__fish_seen_subcommand_from create' --exclusive

# diff
complete --command docker --description "Inspect changes to files or directories on a container's filesystem" --condition _halostatue_fish_docker_no_subcommand --arguments diff
complete --command docker --description Container --condition '__fish_seen_subcommand_from diff' --arguments '(_halostatue_fish_docker_print_containers all)' --exclusive

# events
complete --command docker --description "Get real time events from the server" --condition _halostatue_fish_docker_no_subcommand --arguments events
complete --command docker --description "Filter output based on conditions provided" --condition '__fish_seen_subcommand_from events' --exclusive --short-option f --long-option filter
complete --command docker --description "Format the output using the given Go template" --condition '__fish_seen_subcommand_from events' --exclusive --long-option format
complete --command docker --description "Show all events created since timestamp" --condition '__fish_seen_subcommand_from events' --exclusive --long-option since
complete --command docker --description "Stream events until this timestamp" --condition '__fish_seen_subcommand_from events' --exclusive --long-option until

# exec
complete --command docker --description "Run a command in a running container" --condition _halostatue_fish_docker_no_subcommand --arguments exec
complete --command docker --description "Detached mode: run command in the background" --condition '__fish_seen_subcommand_from exec' --short-option d --long-option detach
complete --command docker --description "Override the key sequence for detaching a container" --condition '__fish_seen_subcommand_from exec' --exclusive --long-option detach-keys
complete --command docker --description "Set environment variables" --condition '__fish_seen_subcommand_from exec' --exclusive --short-option e --long-option env
complete --command docker --description "Read in a file of environment variables" --condition '__fish_seen_subcommand_from exec' --exclusive --long-option env-file
complete --command docker --description "Keep STDIN open even if not attached" --condition '__fish_seen_subcommand_from exec' --short-option i --long-option interactive
complete --command docker --description "Give extended privileges to the command" --condition '__fish_seen_subcommand_from exec' --long-option privileged
complete --command docker --description "Allocate a pseudo-TTY" --condition '__fish_seen_subcommand_from exec' --short-option t --long-option tty
complete --command docker --description "Username or UID (format: <name|uid>[:<group|gid>])" --condition '__fish_seen_subcommand_from exec' --exclusive --short-option u --long-option user
complete --command docker --description "Working directory inside the container" --condition '__fish_seen_subcommand_from exec' --exclusive --short-option w --long-option workdir
complete --command docker --description Container --condition '__fish_seen_subcommand_from exec' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from exec' --exclusive
complete --command docker --description ARG --condition '__fish_seen_subcommand_from exec' --exclusive

# export
complete --command docker --description "Export a container's filesystem as a tar archive" --condition _halostatue_fish_docker_no_subcommand --arguments export
complete --command docker --description "Write to a file, instead of STDOUT" --condition '__fish_seen_subcommand_from export' --exclusive --short-option o --long-option output
complete --command docker --description Container --condition '__fish_seen_subcommand_from export' --arguments '(_halostatue_fish_docker_print_containers all)' --exclusive

# history
complete --command docker --description "Show the history of an image" --condition _halostatue_fish_docker_no_subcommand --arguments history
complete --command docker --description "Pretty-print images using a Go template" --condition '__fish_seen_subcommand_from history' --exclusive --long-option format
complete --command docker --description "Print sizes and dates in human readable format (default true)" --condition '__fish_seen_subcommand_from history' --short-option H --long-option human
complete --command docker --description "Don't truncate output" --condition '__fish_seen_subcommand_from history' --long-option no-trunc
complete --command docker --description "Only show image IDs" --condition '__fish_seen_subcommand_from history' --short-option q --long-option quiet
complete --command docker --description Image --condition '__fish_seen_subcommand_from history' --arguments '(_halostatue_fish_docker_print_images )' --exclusive

# images
complete --command docker --description "List images" --condition _halostatue_fish_docker_no_subcommand --arguments images
complete --command docker --description "Show all images (default hides intermediate images)" --condition '__fish_seen_subcommand_from images' --short-option a --long-option all
complete --command docker --description "Show digests" --condition '__fish_seen_subcommand_from images' --long-option digests
complete --command docker --description "Filter output based on conditions provided" --condition '__fish_seen_subcommand_from images' --exclusive --short-option f --long-option filter
complete --command docker --description "Pretty-print images using a Go template" --condition '__fish_seen_subcommand_from images' --exclusive --long-option format
complete --command docker --description "Don't truncate output" --condition '__fish_seen_subcommand_from images' --long-option no-trunc
complete --command docker --description "Only show image IDs" --condition '__fish_seen_subcommand_from images' --short-option q --long-option quiet
complete --command docker --description Repository --condition '__fish_seen_subcommand_from images' --arguments '(_halostatue_fish_docker_print_repositories )' --exclusive

# import
complete --command docker --description "Import the contents from a tarball to create a filesystem image" --condition _halostatue_fish_docker_no_subcommand --arguments import
complete --command docker --description "Apply Dockerfile instruction to the created image" --condition '__fish_seen_subcommand_from import' --exclusive --short-option c --long-option change
complete --command docker --description "Set commit message for imported image" --condition '__fish_seen_subcommand_from import' --exclusive --short-option m --long-option message
complete --command docker --description "Set platform if server is multi-platform capable" --condition '__fish_seen_subcommand_from import' --exclusive --long-option platform
complete --command docker --description file --condition '__fish_seen_subcommand_from import' --force-files --require-parameter
complete --command docker --description URL --condition '__fish_seen_subcommand_from import' --exclusive
complete --command docker --description STDIN --condition '__fish_seen_subcommand_from import' --arguments - --exclusive
complete --command docker --description Repository --condition '__fish_seen_subcommand_from import' --arguments '(_halostatue_fish_docker_print_repositories )' --exclusive

# info
complete --command docker --description "Display system-wide information" --condition _halostatue_fish_docker_no_subcommand --arguments info
complete --command docker --description "Format the output using the given Go template" --condition '__fish_seen_subcommand_from info' --exclusive --short-option f --long-option format

# inspect
complete --command docker --description "Return low-level information on Docker objects" --condition _halostatue_fish_docker_no_subcommand --arguments inspect
complete --command docker --description "Format the output using the given Go template" --condition '__fish_seen_subcommand_from inspect' --exclusive --short-option f --long-option format
complete --command docker --description "Display total file sizes if the type is container" --condition '__fish_seen_subcommand_from inspect' --short-option s --long-option size
complete --command docker --description "Return JSON for specified type" --condition '__fish_seen_subcommand_from inspect' --exclusive --long-option type
complete --command docker --description NAME --condition '__fish_seen_subcommand_from inspect' --exclusive
complete --command docker --description ID --condition '__fish_seen_subcommand_from inspect' --exclusive

# kill
complete --command docker --description "Kill one or more running containers" --condition _halostatue_fish_docker_no_subcommand --arguments kill
complete --command docker --description "Signal to send to the container (default \"KILL\")" --condition '__fish_seen_subcommand_from kill' --exclusive --short-option s --long-option signal
complete --command docker --description Container --condition '__fish_seen_subcommand_from kill' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# load
complete --command docker --description "Load an image from a tar archive or STDIN" --condition _halostatue_fish_docker_no_subcommand --arguments load
complete --command docker --description "Read from tar archive file, instead of STDIN" --condition '__fish_seen_subcommand_from load' --exclusive --short-option i --long-option input
complete --command docker --description "Suppress the load output" --condition '__fish_seen_subcommand_from load' --short-option q --long-option quiet

# login
complete --command docker --description "Log in to a Docker registry" --condition _halostatue_fish_docker_no_subcommand --arguments login
complete --command docker --description Password --condition '__fish_seen_subcommand_from login' --exclusive --short-option p --long-option password
complete --command docker --description "Take the password from stdin" --condition '__fish_seen_subcommand_from login' --long-option password-stdin
complete --command docker --description Username --condition '__fish_seen_subcommand_from login' --exclusive --short-option u --long-option username
complete --command docker --description "[SERVER]" --condition '__fish_seen_subcommand_from login' --exclusive

# logout
complete --command docker --description "Log out from a Docker registry" --condition _halostatue_fish_docker_no_subcommand --arguments logout
complete --command docker --description "[SERVER]" --condition '__fish_seen_subcommand_from logout' --exclusive

# logs
complete --command docker --description "Fetch the logs of a container" --condition _halostatue_fish_docker_no_subcommand --arguments logs
complete --command docker --description "Show extra details provided to logs" --condition '__fish_seen_subcommand_from logs' --long-option details
complete --command docker --description "Follow log output" --condition '__fish_seen_subcommand_from logs' --short-option f --long-option follow
complete --command docker --description "Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)" --condition '__fish_seen_subcommand_from logs' --exclusive --long-option since
complete --command docker --description "Number of lines to show from the end of the logs (default \"all\")" --condition '__fish_seen_subcommand_from logs' --exclusive --short-option n --long-option tail
complete --command docker --description "Show timestamps" --condition '__fish_seen_subcommand_from logs' --short-option t --long-option timestamps
complete --command docker --description "Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42" --condition '__fish_seen_subcommand_from logs' --exclusive --long-option until
complete --command docker --description Container --condition '__fish_seen_subcommand_from logs' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# pause
complete --command docker --description "Pause all processes within one or more containers" --condition _halostatue_fish_docker_no_subcommand --arguments pause
complete --command docker --description Container --condition '__fish_seen_subcommand_from pause' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# port
complete --command docker --description "List port mappings or a specific mapping for the container" --condition _halostatue_fish_docker_no_subcommand --arguments port
complete --command docker --description Container --condition '__fish_seen_subcommand_from port' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive
complete --command docker --description "[PRIVATE_PORT[/PROTO]]" --condition '__fish_seen_subcommand_from port' --exclusive

# ps
complete --command docker --description "List containers" --condition _halostatue_fish_docker_no_subcommand --arguments ps
complete --command docker --description "Show all containers (default shows just running)" --condition '__fish_seen_subcommand_from ps' --short-option a --long-option all
complete --command docker --description "Filter output based on conditions provided" --condition '__fish_seen_subcommand_from ps' --exclusive --short-option f --long-option filter
complete --command docker --description "Pretty-print containers using a Go template" --condition '__fish_seen_subcommand_from ps' --exclusive --long-option format
complete --command docker --description "Show n last created containers (includes all states) (default -1)" --condition '__fish_seen_subcommand_from ps' --exclusive --short-option n --long-option last
complete --command docker --description "Show the latest created container (includes all states)" --condition '__fish_seen_subcommand_from ps' --short-option l --long-option latest
complete --command docker --description "Don't truncate output" --condition '__fish_seen_subcommand_from ps' --long-option no-trunc
complete --command docker --description "Only display container IDs" --condition '__fish_seen_subcommand_from ps' --short-option q --long-option quiet
complete --command docker --description "Display total file sizes" --condition '__fish_seen_subcommand_from ps' --short-option s --long-option size

# pull
complete --command docker --description "Pull an image or a repository from a registry" --condition _halostatue_fish_docker_no_subcommand --arguments pull
complete --command docker --description "Download all tagged images in the repository" --condition '__fish_seen_subcommand_from pull' --short-option a --long-option all-tags
complete --command docker --description "Skip image verification (default true)" --condition '__fish_seen_subcommand_from pull' --long-option disable-content-trust
complete --command docker --description "Set platform if server is multi-platform capable" --condition '__fish_seen_subcommand_from pull' --exclusive --long-option platform
complete --command docker --description "Suppress verbose output" --condition '__fish_seen_subcommand_from pull' --short-option q --long-option quiet
complete --command docker --description Repository --condition '__fish_seen_subcommand_from pull' --arguments '(_halostatue_fish_docker_print_repositories )' --exclusive
complete --command docker --description Image --condition '__fish_seen_subcommand_from pull' --arguments '(_halostatue_fish_docker_print_images )' --exclusive

# push
complete --command docker --description "Push an image or a repository to a registry" --condition _halostatue_fish_docker_no_subcommand --arguments push
complete --command docker --description "Push all tagged images in the repository" --condition '__fish_seen_subcommand_from push' --short-option a --long-option all-tags
complete --command docker --description "Skip image signing (default true)" --condition '__fish_seen_subcommand_from push' --long-option disable-content-trust
complete --command docker --description "Suppress verbose output" --condition '__fish_seen_subcommand_from push' --short-option q --long-option quiet
complete --command docker --description Repository --condition '__fish_seen_subcommand_from push' --arguments '(_halostatue_fish_docker_print_repositories )' --exclusive
complete --command docker --description Image --condition '__fish_seen_subcommand_from push' --arguments '(_halostatue_fish_docker_print_images )' --exclusive

# rename
complete --command docker --description "Rename a container" --condition _halostatue_fish_docker_no_subcommand --arguments rename
complete --command docker --description Container --condition '__fish_seen_subcommand_from rename' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive
complete --command docker --description NEW_NAME --condition '__fish_seen_subcommand_from rename' --exclusive

# restart
complete --command docker --description "Restart one or more containers" --condition _halostatue_fish_docker_no_subcommand --arguments restart
complete --command docker --description "Seconds to wait for stop before killing the container (default 10)" --condition '__fish_seen_subcommand_from restart' --exclusive --short-option t --long-option time
complete --command docker --description Container --condition '__fish_seen_subcommand_from restart' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# rm
complete --command docker --description "Remove one or more containers" --condition _halostatue_fish_docker_no_subcommand --arguments rm
complete --command docker --description "Force the removal of a running container (uses SIGKILL)" --condition '__fish_seen_subcommand_from rm' --short-option f --long-option force
complete --command docker --description "Remove the specified link" --condition '__fish_seen_subcommand_from rm' --short-option l --long-option link
complete --command docker --description "Remove anonymous volumes associated with the container" --condition '__fish_seen_subcommand_from rm' --short-option v --long-option volumes
complete --command docker --description Container --condition '__fish_seen_subcommand_from rm' --arguments '(_halostatue_fish_docker_print_containers stopped)' --exclusive

# rmi
complete --command docker --description "Remove one or more images" --condition _halostatue_fish_docker_no_subcommand --arguments rmi
complete --command docker --description "Force removal of the image" --condition '__fish_seen_subcommand_from rmi' --short-option f --long-option force
complete --command docker --description "Do not delete untagged parents" --condition '__fish_seen_subcommand_from rmi' --long-option no-prune
complete --command docker --description Image --condition '__fish_seen_subcommand_from rmi' --arguments '(_halostatue_fish_docker_print_images )' --exclusive

# run
complete --command docker --description "Run a command in a new container" --condition _halostatue_fish_docker_no_subcommand --arguments run
complete --command docker --description "Add a custom host-to-IP mapping (host:ip)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option add-host
complete --command docker --description "Attach to STDIN, STDOUT or STDERR" --condition '__fish_seen_subcommand_from run' --exclusive --short-option a --long-option attach
complete --command docker --description "Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option blkio-weight
complete --command docker --description "Block IO weight (relative device weight) (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option blkio-weight-device
complete --command docker --description "Add Linux capabilities" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cap-add
complete --command docker --description "Drop Linux capabilities" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cap-drop
complete --command docker --description "Optional parent cgroup for the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cgroup-parent
complete --command docker --description "Cgroup namespace to use (host|private)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cgroupns
complete --command docker --description "Run the container in the Docker host's cgroup namespace" --condition '__fish_seen_subcommand_from run' --short-option 'host':
complete --command docker --description "Use the cgroup namespace as configured by the" --condition '__fish_seen_subcommand_from run' --short-option '':
complete --command docker --description "Write the container ID to the file" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cidfile
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) period" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpu-period
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) quota" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpu-quota
complete --command docker --description "Limit CPU real-time period in microseconds" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpu-rt-period
complete --command docker --description "Limit CPU real-time runtime in microseconds" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpu-rt-runtime
complete --command docker --description "CPU shares (relative weight)" --condition '__fish_seen_subcommand_from run' --exclusive --short-option c --long-option cpu-shares
complete --command docker --description "Number of CPUs" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpus
complete --command docker --description "CPUs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpuset-cpus
complete --command docker --description "MEMs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option cpuset-mems
complete --command docker --description "Run container in background and print container ID" --condition '__fish_seen_subcommand_from run' --short-option d --long-option detach
complete --command docker --description "Override the key sequence for detaching a container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option detach-keys
complete --command docker --description "Add a host device to the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device
complete --command docker --description "Add a rule to the cgroup allowed devices list" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device-cgroup-rule
complete --command docker --description "Limit read rate (bytes per second) from a device (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device-read-bps
complete --command docker --description "Limit read rate (IO per second) from a device (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device-read-iops
complete --command docker --description "Limit write rate (bytes per second) to a device (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device-write-bps
complete --command docker --description "Limit write rate (IO per second) to a device (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option device-write-iops
complete --command docker --description "Skip image verification (default true)" --condition '__fish_seen_subcommand_from run' --long-option disable-content-trust
complete --command docker --description "Set custom DNS servers" --condition '__fish_seen_subcommand_from run' --exclusive --long-option dns
complete --command docker --description "Set DNS options" --condition '__fish_seen_subcommand_from run' --exclusive --long-option dns-option
complete --command docker --description "Set custom DNS search domains" --condition '__fish_seen_subcommand_from run' --exclusive --long-option dns-search
complete --command docker --description "Container NIS domain name" --condition '__fish_seen_subcommand_from run' --exclusive --long-option domainname
complete --command docker --description "Overwrite the default ENTRYPOINT of the image" --condition '__fish_seen_subcommand_from run' --exclusive --long-option entrypoint
complete --command docker --description "Set environment variables" --condition '__fish_seen_subcommand_from run' --exclusive --short-option e --long-option env
complete --command docker --description "Read in a file of environment variables" --condition '__fish_seen_subcommand_from run' --exclusive --long-option env-file
complete --command docker --description "Expose a port or a range of ports" --condition '__fish_seen_subcommand_from run' --exclusive --long-option expose
complete --command docker --description "GPU devices to add to the container ('all' to pass all GPUs)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option gpus
complete --command docker --description "Add additional groups to join" --condition '__fish_seen_subcommand_from run' --exclusive --long-option group-add
complete --command docker --description "Command to run to check health" --condition '__fish_seen_subcommand_from run' --exclusive --long-option health-cmd
complete --command docker --description "Time between running the check (ms|s|m|h) (default 0s)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option health-interval
complete --command docker --description "Consecutive failures needed to report unhealthy" --condition '__fish_seen_subcommand_from run' --exclusive --long-option health-retries
complete --command docker --description "Start period for the container to initialize before starting" --condition '__fish_seen_subcommand_from run' --exclusive --long-option health-start-period
complete --command docker --description "Maximum time to allow one check to run (ms|s|m|h) (default 0s)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option health-timeout
complete --command docker --description "Print usage" --condition '__fish_seen_subcommand_from run' --long-option help
complete --command docker --description "Container host name" --condition '__fish_seen_subcommand_from run' --exclusive --short-option h --long-option hostname
complete --command docker --description "Run an init inside the container that forwards signals and reaps processes" --condition '__fish_seen_subcommand_from run' --long-option init
complete --command docker --description "Keep STDIN open even if not attached" --condition '__fish_seen_subcommand_from run' --short-option i --long-option interactive
complete --command docker --description "IPv4 address (e.g., 172.30.100.104)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option ip
complete --command docker --description "IPv6 address (e.g., 2001:db8::33)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option ip6
complete --command docker --description "IPC mode to use" --condition '__fish_seen_subcommand_from run' --exclusive --long-option ipc
complete --command docker --description "Container isolation technology" --condition '__fish_seen_subcommand_from run' --exclusive --long-option isolation
complete --command docker --description "Kernel memory limit" --condition '__fish_seen_subcommand_from run' --exclusive --long-option kernel-memory
complete --command docker --description "Set meta data on a container" --condition '__fish_seen_subcommand_from run' --exclusive --short-option l --long-option label
complete --command docker --description "Read in a line delimited file of labels" --condition '__fish_seen_subcommand_from run' --exclusive --long-option label-file
complete --command docker --description "Add link to another container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option link
complete --command docker --description "Container IPv4/IPv6 link-local addresses" --condition '__fish_seen_subcommand_from run' --exclusive --long-option link-local-ip
complete --command docker --description "Logging driver for the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option log-driver
complete --command docker --description "Log driver options" --condition '__fish_seen_subcommand_from run' --exclusive --long-option log-opt
complete --command docker --description "Container MAC address (e.g., 92:d0:c6:0a:29:33)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option mac-address
complete --command docker --description "Memory limit" --condition '__fish_seen_subcommand_from run' --exclusive --short-option m --long-option memory
complete --command docker --description "Memory soft limit" --condition '__fish_seen_subcommand_from run' --exclusive --long-option memory-reservation
complete --command docker --description "Swap limit equal to memory plus swap: '-1' to enable unlimited swap" --condition '__fish_seen_subcommand_from run' --exclusive --long-option memory-swap
complete --command docker --description "Tune container memory swappiness (0 to 100) (default -1)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option memory-swappiness
complete --command docker --description "Attach a filesystem mount to the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option mount
complete --command docker --description "Assign a name to the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option name
complete --command docker --description "Connect a container to a network" --condition '__fish_seen_subcommand_from run' --exclusive --long-option network
complete --command docker --description "Add network-scoped alias for the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option network-alias
complete --command docker --description "Disable any container-specified HEALTHCHECK" --condition '__fish_seen_subcommand_from run' --long-option no-healthcheck
complete --command docker --description "Disable OOM Killer" --condition '__fish_seen_subcommand_from run' --long-option oom-kill-disable
complete --command docker --description "Tune host's OOM preferences (-1000 to 1000)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option oom-score-adj
complete --command docker --description "PID namespace to use" --condition '__fish_seen_subcommand_from run' --exclusive --long-option pid
complete --command docker --description "Tune container pids limit (set -1 for unlimited)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option pids-limit
complete --command docker --description "Set platform if server is multi-platform capable" --condition '__fish_seen_subcommand_from run' --exclusive --long-option platform
complete --command docker --description "Give extended privileges to this container" --condition '__fish_seen_subcommand_from run' --long-option privileged
complete --command docker --description "Publish a container's port(s) to the host" --condition '__fish_seen_subcommand_from run' --exclusive --short-option p --long-option publish
complete --command docker --description "Publish all exposed ports to random ports" --condition '__fish_seen_subcommand_from run' --short-option P --long-option publish-all
complete --command docker --description "Pull image before running (\"always\"|\"missing\"|\"never\") (default \"missing\")" --condition '__fish_seen_subcommand_from run' --exclusive --long-option pull
complete --command docker --description "Mount the container's root filesystem as read only" --condition '__fish_seen_subcommand_from run' --long-option read-only
complete --command docker --description "Restart policy to apply when a container exits (default \"no\")" --condition '__fish_seen_subcommand_from run' --exclusive --long-option restart
complete --command docker --description "Automatically remove the container when it exits" --condition '__fish_seen_subcommand_from run' --long-option rm
complete --command docker --description "Runtime to use for this container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option runtime
complete --command docker --description "Security Options" --condition '__fish_seen_subcommand_from run' --exclusive --long-option security-opt
complete --command docker --description "Size of /dev/shm" --condition '__fish_seen_subcommand_from run' --exclusive --long-option shm-size
complete --command docker --description "Proxy received signals to the process (default true)" --condition '__fish_seen_subcommand_from run' --long-option sig-proxy
complete --command docker --description "Signal to stop a container (default \"SIGTERM\")" --condition '__fish_seen_subcommand_from run' --exclusive --long-option stop-signal
complete --command docker --description "Timeout (in seconds) to stop a container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option stop-timeout
complete --command docker --description "Storage driver options for the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option storage-opt
complete --command docker --description "Sysctl options (default map[])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option sysctl
complete --command docker --description "Mount a tmpfs directory" --condition '__fish_seen_subcommand_from run' --exclusive --long-option tmpfs
complete --command docker --description "Allocate a pseudo-TTY" --condition '__fish_seen_subcommand_from run' --short-option t --long-option tty
complete --command docker --description "Ulimit options (default [])" --condition '__fish_seen_subcommand_from run' --exclusive --long-option ulimit
complete --command docker --description "Username or UID (format: <name|uid>[:<group|gid>])" --condition '__fish_seen_subcommand_from run' --exclusive --short-option u --long-option user
complete --command docker --description "User namespace to use" --condition '__fish_seen_subcommand_from run' --exclusive --long-option userns
complete --command docker --description "UTS namespace to use" --condition '__fish_seen_subcommand_from run' --exclusive --long-option uts
complete --command docker --description "Bind mount a volume" --condition '__fish_seen_subcommand_from run' --exclusive --short-option v --long-option volume
complete --command docker --description "Optional volume driver for the container" --condition '__fish_seen_subcommand_from run' --exclusive --long-option volume-driver
complete --command docker --description "Mount volumes from the specified container(s)" --condition '__fish_seen_subcommand_from run' --exclusive --long-option volumes-from
complete --command docker --description "Working directory inside the container" --condition '__fish_seen_subcommand_from run' --exclusive --short-option w --long-option workdir
complete --command docker --description Image --condition '__fish_seen_subcommand_from run' --arguments '(_halostatue_fish_docker_print_images )' --exclusive
complete --command docker --description "[COMMAND]" --condition '__fish_seen_subcommand_from run' --exclusive
complete --command docker --description ARG --condition '__fish_seen_subcommand_from run' --exclusive

# save
complete --command docker --description "Save one or more images to a tar archive (streamed to STDOUT by default)" --condition _halostatue_fish_docker_no_subcommand --arguments save
complete --command docker --description "Write to a file, instead of STDOUT" --condition '__fish_seen_subcommand_from save' --exclusive --short-option o --long-option output
complete --command docker --description Image --condition '__fish_seen_subcommand_from save' --arguments '(_halostatue_fish_docker_print_images )' --exclusive

# search
complete --command docker --description "Search the Docker Hub for images" --condition _halostatue_fish_docker_no_subcommand --arguments search
complete --command docker --description "Filter output based on conditions provided" --condition '__fish_seen_subcommand_from search' --exclusive --short-option f --long-option filter
complete --command docker --description "Pretty-print search using a Go template" --condition '__fish_seen_subcommand_from search' --exclusive --long-option format
complete --command docker --description "Max number of search results (default 25)" --condition '__fish_seen_subcommand_from search' --exclusive --long-option limit
complete --command docker --description "Don't truncate output" --condition '__fish_seen_subcommand_from search' --long-option no-trunc
complete --command docker --description TERM --condition '__fish_seen_subcommand_from search' --exclusive

# start
complete --command docker --description "Start one or more stopped containers" --condition _halostatue_fish_docker_no_subcommand --arguments start
complete --command docker --description "Attach STDOUT/STDERR and forward signals" --condition '__fish_seen_subcommand_from start' --short-option a --long-option attach
complete --command docker --description "Override the key sequence for detaching a container" --condition '__fish_seen_subcommand_from start' --exclusive --long-option detach-keys
complete --command docker --description "Attach container's STDIN" --condition '__fish_seen_subcommand_from start' --short-option i --long-option interactive
complete --command docker --description Container --condition '__fish_seen_subcommand_from start' --arguments '(_halostatue_fish_docker_print_containers stopped)' --exclusive

# stats
complete --command docker --description "Display a live stream of container(s) resource usage statistics" --condition _halostatue_fish_docker_no_subcommand --arguments stats
complete --command docker --description "Show all containers (default shows just running)" --condition '__fish_seen_subcommand_from stats' --short-option a --long-option all
complete --command docker --description "Pretty-print images using a Go template" --condition '__fish_seen_subcommand_from stats' --exclusive --long-option format
complete --command docker --description "Disable streaming stats and only pull the first result" --condition '__fish_seen_subcommand_from stats' --long-option no-stream
complete --command docker --description "Do not truncate output" --condition '__fish_seen_subcommand_from stats' --long-option no-trunc
complete --command docker --description Container --condition '__fish_seen_subcommand_from stats' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# stop
complete --command docker --description "Stop one or more running containers" --condition _halostatue_fish_docker_no_subcommand --arguments stop
complete --command docker --description "Seconds to wait for stop before killing it (default 10)" --condition '__fish_seen_subcommand_from stop' --exclusive --short-option t --long-option time
complete --command docker --description Container --condition '__fish_seen_subcommand_from stop' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# tag
complete --command docker --description "Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE" --condition _halostatue_fish_docker_no_subcommand --arguments tag
complete --command docker --description "SOURCE_IMAGE[:TAG]" --condition '__fish_seen_subcommand_from tag' --exclusive
complete --command docker --description "TARGET_IMAGE[:TAG]" --condition '__fish_seen_subcommand_from tag' --exclusive

# top
complete --command docker --description "Display the running processes of a container" --condition _halostatue_fish_docker_no_subcommand --arguments top
complete --command docker --description Container --condition '__fish_seen_subcommand_from top' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive
complete --command docker --description "[ps" --condition '__fish_seen_subcommand_from top' --exclusive
complete --command docker --description "OPTIONS]" --condition '__fish_seen_subcommand_from top' --exclusive

# unpause
complete --command docker --description "Unpause all processes within one or more containers" --condition _halostatue_fish_docker_no_subcommand --arguments unpause
complete --command docker --description Container --condition '__fish_seen_subcommand_from unpause' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# update
complete --command docker --description "Update configuration of one or more containers" --condition _halostatue_fish_docker_no_subcommand --arguments update
complete --command docker --description "Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)" --condition '__fish_seen_subcommand_from update' --exclusive --long-option blkio-weight
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) period" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpu-period
complete --command docker --description "Limit CPU CFS (Completely Fair Scheduler) quota" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpu-quota
complete --command docker --description "Limit the CPU real-time period in microseconds" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpu-rt-period
complete --command docker --description "Limit the CPU real-time runtime in microseconds" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpu-rt-runtime
complete --command docker --description "CPU shares (relative weight)" --condition '__fish_seen_subcommand_from update' --exclusive --short-option c --long-option cpu-shares
complete --command docker --description "Number of CPUs" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpus
complete --command docker --description "CPUs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpuset-cpus
complete --command docker --description "MEMs in which to allow execution (0-3, 0,1)" --condition '__fish_seen_subcommand_from update' --exclusive --long-option cpuset-mems
complete --command docker --description "Kernel memory limit" --condition '__fish_seen_subcommand_from update' --exclusive --long-option kernel-memory
complete --command docker --description "Memory limit" --condition '__fish_seen_subcommand_from update' --exclusive --short-option m --long-option memory
complete --command docker --description "Memory soft limit" --condition '__fish_seen_subcommand_from update' --exclusive --long-option memory-reservation
complete --command docker --description "Swap limit equal to memory plus swap: '-1' to enable unlimited swap" --condition '__fish_seen_subcommand_from update' --exclusive --long-option memory-swap
complete --command docker --description "Tune container pids limit (set -1 for unlimited)" --condition '__fish_seen_subcommand_from update' --exclusive --long-option pids-limit
complete --command docker --description "Restart policy to apply when a container exits" --condition '__fish_seen_subcommand_from update' --exclusive --long-option restart
complete --command docker --description Container --condition '__fish_seen_subcommand_from update' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# version
complete --command docker --description "Show the Docker version information" --condition _halostatue_fish_docker_no_subcommand --arguments version
complete --command docker --description "Format the output using the given Go template" --condition '__fish_seen_subcommand_from version' --exclusive --short-option f --long-option format
complete --command docker --description "Kubernetes config file" --condition '__fish_seen_subcommand_from version' --exclusive --long-option kubeconfig

# wait
complete --command docker --description "Block until one or more containers stop, then print their exit codes" --condition _halostatue_fish_docker_no_subcommand --arguments wait
complete --command docker --description Container --condition '__fish_seen_subcommand_from wait' --arguments '(_halostatue_fish_docker_print_containers running)' --exclusive

# builder
complete --command docker --description "Manage builds" --condition _halostatue_fish_docker_no_subcommand --arguments builder
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from builder' --exclusive

# compose
complete --command docker --description "Docker Compose (Docker Inc., 2.6.0)" --condition _halostatue_fish_docker_no_subcommand --arguments compose
complete --command docker --description "Control when to print ANSI control characters (\"never\"|\"always\"|\"auto\")" --condition '__fish_seen_subcommand_from compose' --exclusive --long-option ansi
complete --command docker --description "Run compose in backward compatibility mode" --condition '__fish_seen_subcommand_from compose' --long-option compatibility
complete --command docker --description "Specify an alternate environment file." --condition '__fish_seen_subcommand_from compose' --exclusive --long-option env-file
complete --command docker --description "Compose configuration files" --condition '__fish_seen_subcommand_from compose' --exclusive --short-option f --long-option file
complete --command docker --description "Specify a profile to enable" --condition '__fish_seen_subcommand_from compose' --exclusive --long-option profile
complete --command docker --description "Specify an alternate working directory" --condition '__fish_seen_subcommand_from compose' --exclusive --long-option project-directory
complete --command docker --description "Project name" --condition '__fish_seen_subcommand_from compose' --exclusive --short-option p --long-option project-name
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from compose' --exclusive

# config
complete --command docker --description "Manage Docker configs" --condition _halostatue_fish_docker_no_subcommand --arguments config
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from config' --exclusive

# container
complete --command docker --description "Manage containers" --condition _halostatue_fish_docker_no_subcommand --arguments container
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from container' --exclusive

# context
complete --command docker --description "Manage contexts" --condition _halostatue_fish_docker_no_subcommand --arguments context
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from context' --exclusive

# image
complete --command docker --description "Manage images" --condition _halostatue_fish_docker_no_subcommand --arguments image
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from image' --exclusive

# manifest
complete --command docker --description "Manage Docker image manifests and manifest lists" --condition _halostatue_fish_docker_no_subcommand --arguments manifest
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from manifest' --exclusive

# network
complete --command docker --description "Manage networks" --condition _halostatue_fish_docker_no_subcommand --arguments network
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from network' --exclusive

# node
complete --command docker --description "Manage Swarm nodes" --condition _halostatue_fish_docker_no_subcommand --arguments node
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from node' --exclusive

# plugin
complete --command docker --description "Manage plugins" --condition _halostatue_fish_docker_no_subcommand --arguments plugin
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from plugin' --exclusive

# secret
complete --command docker --description "Manage Docker secrets" --condition _halostatue_fish_docker_no_subcommand --arguments secret
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from secret' --exclusive

# service
complete --command docker --description "Manage services" --condition _halostatue_fish_docker_no_subcommand --arguments service
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from service' --exclusive

# stack
complete --command docker --description "Manage Docker stacks" --condition _halostatue_fish_docker_no_subcommand --arguments stack
complete --command docker --description "Kubernetes config file" --condition '__fish_seen_subcommand_from stack' --exclusive --long-option kubeconfig
complete --command docker --description "Orchestrator to use (swarm|kubernetes|all)" --condition '__fish_seen_subcommand_from stack' --exclusive --long-option orchestrator
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from stack' --exclusive

# swarm
complete --command docker --description "Manage Swarm" --condition _halostatue_fish_docker_no_subcommand --arguments swarm
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from swarm' --exclusive

# system
complete --command docker --description "Manage Docker" --condition _halostatue_fish_docker_no_subcommand --arguments system
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from system' --exclusive

# trust
complete --command docker --description "Manage trust on Docker images" --condition _halostatue_fish_docker_no_subcommand --arguments trust
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from trust' --exclusive

# volume
complete --command docker --description "Manage volumes" --condition _halostatue_fish_docker_no_subcommand --arguments volume
complete --command docker --description COMMAND --condition '__fish_seen_subcommand_from volume' --exclusive