vagrant-unbundled 2.2.7.0 → 2.2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.hashibot.hcl +2 -0
  3. data/CHANGELOG.md +228 -0
  4. data/Gemfile +1 -1
  5. data/README.md +9 -51
  6. data/RELEASE.md +1 -1
  7. data/bin/vagrant +50 -1
  8. data/contrib/README.md +1 -0
  9. data/contrib/sudoers/linux-suse +2 -2
  10. data/contrib/zsh/_vagrant +738 -0
  11. data/contrib/zsh/generate_zsh_completion.rb +165 -0
  12. data/lib/vagrant.rb +28 -5
  13. data/lib/vagrant/action.rb +7 -0
  14. data/lib/vagrant/action/builder.rb +184 -38
  15. data/lib/vagrant/action/builtin/box_add.rb +24 -8
  16. data/lib/vagrant/action/builtin/box_check_outdated.rb +2 -1
  17. data/lib/vagrant/action/builtin/cleanup_disks.rb +56 -0
  18. data/lib/vagrant/action/builtin/cloud_init_setup.rb +122 -0
  19. data/lib/vagrant/action/builtin/cloud_init_wait.rb +30 -0
  20. data/lib/vagrant/action/builtin/delayed.rb +26 -0
  21. data/lib/vagrant/action/builtin/disk.rb +14 -1
  22. data/lib/vagrant/action/builtin/handle_box.rb +3 -1
  23. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +28 -9
  24. data/lib/vagrant/action/builtin/has_provisioner.rb +36 -0
  25. data/lib/vagrant/action/builtin/mixin_provisioners.rb +1 -0
  26. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +20 -21
  27. data/lib/vagrant/action/builtin/set_hostname.rb +5 -1
  28. data/lib/vagrant/action/builtin/synced_folders.rb +16 -0
  29. data/lib/vagrant/action/builtin/trigger.rb +37 -0
  30. data/lib/vagrant/action/hook.rb +76 -23
  31. data/lib/vagrant/action/runner.rb +12 -27
  32. data/lib/vagrant/action/warden.rb +28 -31
  33. data/lib/vagrant/box.rb +11 -4
  34. data/lib/vagrant/box_collection.rb +1 -1
  35. data/lib/vagrant/bundler.rb +310 -61
  36. data/lib/vagrant/cli.rb +4 -2
  37. data/lib/vagrant/environment.rb +1 -0
  38. data/lib/vagrant/errors.rb +69 -1
  39. data/lib/vagrant/machine.rb +64 -11
  40. data/lib/vagrant/machine_index.rb +28 -1
  41. data/lib/vagrant/patches/net-ssh.rb +186 -0
  42. data/lib/vagrant/plugin/manager.rb +45 -16
  43. data/lib/vagrant/plugin/v2/command.rb +7 -2
  44. data/lib/vagrant/plugin/v2/components.rb +6 -0
  45. data/lib/vagrant/plugin/v2/manager.rb +67 -0
  46. data/lib/vagrant/plugin/v2/plugin.rb +13 -0
  47. data/lib/vagrant/plugin/v2/synced_folder.rb +50 -0
  48. data/lib/vagrant/plugin/v2/trigger.rb +64 -25
  49. data/lib/vagrant/shared_helpers.rb +36 -0
  50. data/lib/vagrant/ui.rb +43 -2
  51. data/lib/vagrant/util.rb +2 -0
  52. data/lib/vagrant/util/ansi_escape_code_remover.rb +1 -1
  53. data/lib/vagrant/util/caps.rb +48 -0
  54. data/lib/vagrant/util/credential_scrubber.rb +1 -1
  55. data/lib/vagrant/util/curl_helper.rb +12 -8
  56. data/lib/vagrant/util/directory.rb +19 -0
  57. data/lib/vagrant/util/downloader.rb +10 -5
  58. data/lib/vagrant/util/guest_hosts.rb +68 -0
  59. data/lib/vagrant/util/guest_inspection.rb +9 -1
  60. data/lib/vagrant/util/install_cli_autocomplete.rb +118 -0
  61. data/lib/vagrant/util/io.rb +7 -27
  62. data/lib/vagrant/util/ipv4_interfaces.rb +15 -0
  63. data/lib/vagrant/util/is_port_open.rb +8 -19
  64. data/lib/vagrant/util/map_command_options.rb +33 -0
  65. data/lib/vagrant/util/mime.rb +92 -0
  66. data/lib/vagrant/util/network_ip.rb +11 -1
  67. data/lib/vagrant/util/numeric.rb +28 -0
  68. data/lib/vagrant/util/platform.rb +10 -2
  69. data/lib/vagrant/util/powershell.rb +31 -15
  70. data/lib/vagrant/util/subprocess.rb +9 -1
  71. data/lib/vagrant/util/template_renderer.rb +2 -2
  72. data/lib/vagrant/util/uploader.rb +7 -4
  73. data/lib/vagrant/vagrantfile.rb +2 -2
  74. data/plugins/commands/autocomplete/command/install.rb +49 -0
  75. data/plugins/commands/autocomplete/command/root.rb +64 -0
  76. data/plugins/commands/autocomplete/plugin.rb +18 -0
  77. data/plugins/commands/cap/command.rb +5 -1
  78. data/plugins/commands/cloud/auth/login.rb +20 -23
  79. data/plugins/commands/cloud/auth/logout.rb +2 -10
  80. data/plugins/commands/cloud/auth/middleware/add_authentication.rb +60 -31
  81. data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +64 -0
  82. data/plugins/commands/cloud/auth/whoami.rb +18 -20
  83. data/plugins/commands/cloud/box/create.rb +33 -29
  84. data/plugins/commands/cloud/box/delete.rb +30 -24
  85. data/plugins/commands/cloud/box/show.rb +41 -31
  86. data/plugins/commands/cloud/box/update.rb +34 -26
  87. data/plugins/commands/cloud/client/client.rb +55 -79
  88. data/plugins/commands/cloud/list.rb +3 -4
  89. data/plugins/commands/cloud/locales/en.yml +15 -11
  90. data/plugins/commands/cloud/plugin.rb +10 -0
  91. data/plugins/commands/cloud/provider/create.rb +38 -28
  92. data/plugins/commands/cloud/provider/delete.rb +39 -29
  93. data/plugins/commands/cloud/provider/update.rb +37 -28
  94. data/plugins/commands/cloud/provider/upload.rb +53 -33
  95. data/plugins/commands/cloud/publish.rb +193 -106
  96. data/plugins/commands/cloud/search.rb +34 -21
  97. data/plugins/commands/cloud/util.rb +273 -161
  98. data/plugins/commands/cloud/version/create.rb +33 -28
  99. data/plugins/commands/cloud/version/delete.rb +35 -28
  100. data/plugins/commands/cloud/version/release.rb +35 -29
  101. data/plugins/commands/cloud/version/revoke.rb +36 -29
  102. data/plugins/commands/cloud/version/update.rb +29 -25
  103. data/plugins/commands/destroy/command.rb +7 -7
  104. data/plugins/commands/login/plugin.rb +0 -13
  105. data/plugins/commands/ssh_config/command.rb +1 -1
  106. data/plugins/communicators/ssh/communicator.rb +25 -24
  107. data/plugins/communicators/winrm/config.rb +1 -1
  108. data/plugins/communicators/winrm/helper.rb +1 -1
  109. data/plugins/communicators/winrm/shell.rb +1 -1
  110. data/plugins/communicators/winssh/communicator.rb +126 -38
  111. data/plugins/communicators/winssh/config.rb +3 -7
  112. data/plugins/guests/alpine/cap/change_host_name.rb +10 -11
  113. data/plugins/guests/alpine/cap/configure_networks.rb +1 -1
  114. data/plugins/guests/alt/cap/change_host_name.rb +40 -53
  115. data/plugins/guests/arch/cap/change_host_name.rb +5 -14
  116. data/plugins/guests/arch/cap/configure_networks.rb +27 -10
  117. data/plugins/guests/arch/cap/smb.rb +1 -1
  118. data/plugins/guests/atomic/cap/change_host_name.rb +5 -14
  119. data/plugins/guests/centos/cap/flavor.rb +24 -0
  120. data/plugins/guests/centos/guest.rb +9 -0
  121. data/plugins/guests/centos/plugin.rb +20 -0
  122. data/plugins/guests/darwin/cap/change_host_name.rb +10 -6
  123. data/plugins/guests/darwin/cap/darwin_version.rb +40 -0
  124. data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +1 -1
  125. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +33 -10
  126. data/plugins/guests/darwin/plugin.rb +15 -0
  127. data/plugins/guests/debian/cap/change_host_name.rb +12 -11
  128. data/plugins/guests/debian/cap/configure_networks.rb +14 -6
  129. data/plugins/guests/esxi/cap/public_key.rb +3 -1
  130. data/plugins/guests/fedora/guest.rb +4 -4
  131. data/plugins/guests/freebsd/cap/change_host_name.rb +10 -6
  132. data/plugins/guests/gentoo/cap/change_host_name.rb +14 -22
  133. data/plugins/guests/haiku/cap/rsync.rb +19 -0
  134. data/plugins/guests/haiku/plugin.rb +15 -0
  135. data/plugins/guests/linux/cap/change_host_name.rb +46 -0
  136. data/plugins/guests/linux/cap/halt.rb +9 -1
  137. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +25 -34
  138. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +10 -11
  139. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +74 -0
  140. data/plugins/guests/linux/cap/reboot.rb +36 -7
  141. data/plugins/guests/linux/plugin.rb +10 -0
  142. data/plugins/guests/omnios/cap/change_host_name.rb +10 -16
  143. data/plugins/guests/openbsd/cap/change_host_name.rb +10 -6
  144. data/plugins/guests/openwrt/cap/change_host_name.rb +19 -0
  145. data/plugins/guests/openwrt/cap/halt.rb +16 -0
  146. data/plugins/guests/openwrt/cap/insert_public_key.rb +20 -0
  147. data/plugins/guests/openwrt/cap/remove_public_key.rb +22 -0
  148. data/plugins/guests/openwrt/cap/rsync.rb +35 -0
  149. data/plugins/guests/openwrt/guest.rb +23 -0
  150. data/plugins/guests/openwrt/plugin.rb +61 -0
  151. data/plugins/guests/photon/cap/change_host_name.rb +9 -15
  152. data/plugins/guests/pld/cap/change_host_name.rb +11 -17
  153. data/plugins/guests/redhat/cap/change_host_name.rb +14 -5
  154. data/plugins/guests/redhat/cap/flavor.rb +3 -1
  155. data/plugins/guests/redhat/cap/smb.rb +20 -0
  156. data/plugins/guests/redhat/plugin.rb +5 -0
  157. data/plugins/guests/slackware/cap/change_host_name.rb +11 -17
  158. data/plugins/guests/solaris11/plugin.rb +5 -0
  159. data/plugins/guests/suse/cap/change_host_name.rb +31 -9
  160. data/plugins/guests/windows/cap/public_key.rb +3 -3
  161. data/plugins/guests/windows/cap/reboot.rb +10 -5
  162. data/plugins/hosts/darwin/cap/fs_iso.rb +49 -0
  163. data/plugins/hosts/darwin/plugin.rb +10 -0
  164. data/plugins/hosts/linux/cap/fs_iso.rb +49 -0
  165. data/plugins/hosts/linux/cap/nfs.rb +1 -0
  166. data/plugins/hosts/linux/cap/rdp.rb +1 -1
  167. data/plugins/hosts/linux/plugin.rb +10 -0
  168. data/plugins/hosts/windows/cap/fs_iso.rb +48 -0
  169. data/plugins/hosts/windows/cap/rdp.rb +1 -1
  170. data/plugins/hosts/windows/plugin.rb +15 -0
  171. data/plugins/kernel_v2/config/cloud_init.rb +133 -0
  172. data/plugins/kernel_v2/config/disk.rb +67 -14
  173. data/plugins/kernel_v2/config/ssh_connect.rb +24 -0
  174. data/plugins/kernel_v2/config/vm.rb +155 -21
  175. data/plugins/kernel_v2/config/vm_provisioner.rb +13 -2
  176. data/plugins/kernel_v2/config/vm_trigger.rb +6 -5
  177. data/plugins/providers/docker/action.rb +8 -17
  178. data/plugins/providers/docker/action/forwarded_ports.rb +2 -0
  179. data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +61 -0
  180. data/plugins/providers/docker/cap/has_communicator.rb +11 -0
  181. data/plugins/providers/docker/communicator.rb +1 -1
  182. data/plugins/providers/docker/driver.rb +58 -7
  183. data/plugins/providers/docker/plugin.rb +5 -0
  184. data/plugins/providers/hyperv/action.rb +3 -1
  185. data/plugins/providers/hyperv/action/configure.rb +8 -0
  186. data/plugins/providers/hyperv/action/export.rb +4 -2
  187. data/plugins/providers/hyperv/cap/cleanup_disks.rb +54 -0
  188. data/plugins/providers/hyperv/cap/configure_disks.rb +200 -0
  189. data/plugins/providers/hyperv/cap/validate_disk_ext.rb +34 -0
  190. data/plugins/providers/hyperv/config.rb +5 -0
  191. data/plugins/providers/hyperv/driver.rb +90 -9
  192. data/plugins/providers/hyperv/plugin.rb +25 -0
  193. data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +28 -0
  194. data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +13 -0
  195. data/plugins/providers/hyperv/scripts/get_vhd.ps1 +16 -0
  196. data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +1 -1
  197. data/plugins/providers/hyperv/scripts/list_hdds.ps1 +17 -0
  198. data/plugins/providers/hyperv/scripts/new_vhd.ps1 +31 -0
  199. data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +25 -0
  200. data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +18 -0
  201. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +24 -0
  202. data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +3 -3
  203. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +14 -6
  204. data/plugins/providers/virtualbox/action.rb +13 -1
  205. data/plugins/providers/virtualbox/action/export.rb +4 -2
  206. data/plugins/providers/virtualbox/action/forward_ports.rb +2 -2
  207. data/plugins/providers/virtualbox/action/import.rb +8 -4
  208. data/plugins/providers/virtualbox/action/network.rb +12 -5
  209. data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +4 -2
  210. data/plugins/providers/virtualbox/action/snapshot_delete.rb +4 -2
  211. data/plugins/providers/virtualbox/action/snapshot_restore.rb +4 -2
  212. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +85 -0
  213. data/plugins/providers/virtualbox/cap/configure_disks.rb +440 -0
  214. data/plugins/providers/virtualbox/cap/mount_options.rb +40 -0
  215. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +34 -0
  216. data/plugins/providers/virtualbox/driver/base.rb +15 -0
  217. data/plugins/providers/virtualbox/driver/meta.rb +16 -2
  218. data/plugins/providers/virtualbox/driver/version_5_0.rb +217 -2
  219. data/plugins/providers/virtualbox/driver/version_6_1.rb +23 -0
  220. data/plugins/providers/virtualbox/model/storage_controller.rb +135 -0
  221. data/plugins/providers/virtualbox/model/storage_controller_array.rb +98 -0
  222. data/plugins/providers/virtualbox/plugin.rb +42 -0
  223. data/plugins/providers/virtualbox/provider.rb +2 -1
  224. data/plugins/providers/virtualbox/synced_folder.rb +1 -0
  225. data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +44 -0
  226. data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +1 -1
  227. data/plugins/provisioners/ansible/plugin.rb +5 -0
  228. data/plugins/provisioners/ansible/provisioner/base.rb +1 -1
  229. data/plugins/provisioners/container/client.rb +203 -0
  230. data/plugins/provisioners/container/config.rb +83 -0
  231. data/plugins/provisioners/container/installer.rb +13 -0
  232. data/plugins/provisioners/container/plugin.rb +23 -0
  233. data/plugins/provisioners/container/provisioner.rb +28 -0
  234. data/plugins/provisioners/docker/cap/{redhat → centos}/docker_install.rb +10 -7
  235. data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +24 -0
  236. data/plugins/provisioners/docker/client.rb +4 -175
  237. data/plugins/provisioners/docker/config.rb +2 -72
  238. data/plugins/provisioners/docker/installer.rb +3 -5
  239. data/plugins/provisioners/docker/plugin.rb +6 -6
  240. data/plugins/provisioners/docker/provisioner.rb +4 -10
  241. data/plugins/provisioners/podman/cap/centos/podman_install.rb +35 -0
  242. data/plugins/provisioners/podman/cap/linux/podman_installed.rb +13 -0
  243. data/plugins/provisioners/podman/cap/redhat/podman_install.rb +26 -0
  244. data/plugins/provisioners/podman/client.rb +12 -0
  245. data/plugins/provisioners/podman/config.rb +28 -0
  246. data/plugins/provisioners/podman/installer.rb +33 -0
  247. data/plugins/provisioners/podman/plugin.rb +38 -0
  248. data/plugins/provisioners/podman/provisioner.rb +52 -0
  249. data/plugins/provisioners/salt/bootstrap-salt.sh +7 -4
  250. data/plugins/provisioners/salt/provisioner.rb +4 -0
  251. data/plugins/provisioners/shell/config.rb +1 -6
  252. data/plugins/provisioners/shell/provisioner.rb +61 -26
  253. data/plugins/synced_folders/nfs/synced_folder.rb +3 -1
  254. data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +11 -0
  255. data/plugins/synced_folders/smb/cap/mount_options.rb +56 -0
  256. data/plugins/synced_folders/smb/plugin.rb +20 -0
  257. data/plugins/synced_folders/smb/synced_folder.rb +2 -2
  258. data/plugins/synced_folders/unix_mount_helpers.rb +14 -0
  259. data/scripts/website_push_www.sh +1 -1
  260. data/templates/commands/init/Vagrantfile.min.erb +3 -0
  261. data/templates/guests/arch/{network_dhcp.erb → default_network/network_dhcp.erb} +0 -0
  262. data/templates/guests/arch/{network_static.erb → default_network/network_static.erb} +0 -0
  263. data/templates/guests/arch/{network_static6.erb → default_network/network_static6.erb} +0 -0
  264. data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
  265. data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
  266. data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
  267. data/templates/guests/linux/etc_fstab.erb +6 -0
  268. data/templates/guests/nixos/network.erb +5 -6
  269. data/templates/locales/en.yml +221 -5
  270. data/templates/locales/providers_docker.yml +4 -0
  271. data/templates/nfs/exports_darwin.erb +1 -1
  272. data/vagrant.gemspec +14 -20
  273. data/version.txt +1 -1
  274. metadata +5092 -8978
  275. data/lib/vagrant/action/builtin/after_trigger.rb +0 -31
  276. data/lib/vagrant/action/builtin/before_trigger.rb +0 -28
  277. data/plugins/commands/login/client.rb +0 -253
  278. data/plugins/commands/login/command.rb +0 -137
  279. data/plugins/commands/login/errors.rb +0 -24
  280. data/plugins/commands/login/locales/en.yml +0 -49
  281. data/plugins/provisioners/docker/cap/redhat/docker_start_service.rb +0 -16
  282. data/scripts/website_push_docs.sh +0 -40
@@ -1,6 +1,6 @@
1
1
  Cmnd_Alias VAGRANT_CHOWN = /usr/bin/chown 0\:0 /tmp/vagrant[a-z0-9-]*
2
2
  Cmnd_Alias VAGRANT_MV = /usr/bin/mv -f /tmp/vagrant[a-z0-9-]* /etc/exports
3
- Cmnd_Alias VAGRANT_START = /sbin/service nfsserver start
4
- Cmnd_Alias VAGRANT_STATUS = /sbin/service nfsserver status
3
+ Cmnd_Alias VAGRANT_START = /usr/bin/systemctl start --no-pager nfs-server
4
+ Cmnd_Alias VAGRANT_STATUS = /usr/bin/systemctl status --no-pager nfs-server
5
5
  Cmnd_Alias VAGRANT_APPLY = /usr/sbin/exportfs -ar
6
6
  %vagrant ALL=(root) NOPASSWD: VAGRANT_CHOWN, VAGRANT_MV, VAGRANT_START, VAGRANT_STATUS, VAGRANT_APPLY
@@ -0,0 +1,738 @@
1
+ #compdef _vagrant vagrant
2
+
3
+ # ZSH completion for Vagrant
4
+ #
5
+ # To use this completion add this to ~/.zshrc
6
+ # fpath=(/path/to/this/dir $fpath)
7
+ # compinit
8
+ #
9
+ # For development reload the function after making changes
10
+ # unfunction _vagrant && autoload -U _vagrant
11
+
12
+
13
+ __box_list ()
14
+ {
15
+ _wanted application expl 'command' compadd $(command vagrant box list | awk '{print $1}' )
16
+ }
17
+
18
+
19
+ __plugin_list ()
20
+ {
21
+ _wanted application expl 'command' compadd $(command vagrant plugin list | awk '{print $1}')
22
+ }
23
+
24
+
25
+ function _vagrant () {
26
+
27
+ local -a sub_commands && sub_commands=(
28
+ 'autocomplete:manages autocomplete installation on host'
29
+ 'box:manages boxes: installation, removal, etc.'
30
+ 'cloud:manages everything related to Vagrant Cloud'
31
+ 'destroy:stops and deletes all traces of the vagrant machine'
32
+ 'global-status:outputs status Vagrant environments for this user'
33
+ 'halt:stops the vagrant machine'
34
+ 'help:shows the help for a subcommand'
35
+ 'init:initializes a new Vagrant environment by creating a Vagrantfile'
36
+ 'login:'
37
+ 'package:packages a running vagrant environment into a box'
38
+ 'plugin:manages plugins: install, uninstall, update, etc.'
39
+ 'port:displays information about guest port mappings'
40
+ 'powershell:connects to machine via powershell remoting'
41
+ 'provision:provisions the vagrant machine'
42
+ 'push:deploys code in this environment to a configured destination'
43
+ 'rdp:connects to machine via RDP'
44
+ 'reload:restarts vagrant machine, loads new Vagrantfile configuration'
45
+ 'resume:resume a suspended vagrant machine'
46
+ 'snapshot:manages snapshots: saving, restoring, etc.'
47
+ 'ssh:connects to machine via SSH'
48
+ 'ssh-config:outputs OpenSSH valid configuration to connect to the machine'
49
+ 'status:outputs status of the vagrant machine'
50
+ 'suspend:suspends the machine'
51
+ 'up:starts and provisions the vagrant environment'
52
+ 'upload:upload to machine via communicator'
53
+ 'validate:validates the Vagrantfile'
54
+ 'version:prints current and latest Vagrant version'
55
+ 'winrm:executes commands on a machine via WinRM'
56
+ 'winrm-config:outputs WinRM configuration to connect to the machine'
57
+ )
58
+
59
+ local -a cloud_arguments && cloud_arguments=(
60
+ '--(no-)color=[Enable or disable color output]'
61
+ '--machine-readable=[Enable machine readable output]'
62
+ '--debug=[Enable debug output]'
63
+ '--timestamp=[Enable timestamps on log output]'
64
+ '--debug-timestamp=[Enable debug output with timestamps]'
65
+ '--no-tty=[Enable non_interactive output]'
66
+ )
67
+
68
+ local -a destroy_arguments && destroy_arguments=(
69
+ '--(no-)parallel=[Enable or disable parallelism if provider supports it (automatically enables force)]'
70
+ '--(no-)color=[Enable or disable color output]'
71
+ '--machine-readable=[Enable machine readable output]'
72
+ '--debug=[Enable debug output]'
73
+ '--timestamp=[Enable timestamps on log output]'
74
+ '--debug-timestamp=[Enable debug output with timestamps]'
75
+ '--no-tty=[Enable non_interactive output]'
76
+ )
77
+
78
+ local -a global_status_arguments && global_status_arguments=(
79
+ '--prune=[Prune invalid entries.]'
80
+ '--(no-)color=[Enable or disable color output]'
81
+ '--machine-readable=[Enable machine readable output]'
82
+ '--debug=[Enable debug output]'
83
+ '--timestamp=[Enable timestamps on log output]'
84
+ '--debug-timestamp=[Enable debug output with timestamps]'
85
+ '--no-tty=[Enable non_interactive output]'
86
+ )
87
+
88
+ local -a halt_arguments && halt_arguments=(
89
+ '--(no-)color=[Enable or disable color output]'
90
+ '--machine-readable=[Enable machine readable output]'
91
+ '--debug=[Enable debug output]'
92
+ '--timestamp=[Enable timestamps on log output]'
93
+ '--debug-timestamp=[Enable debug output with timestamps]'
94
+ '--no-tty=[Enable non_interactive output]'
95
+ )
96
+
97
+ local -a help_arguments && help_arguments=(
98
+ '--(no-)color=[Enable or disable color output]'
99
+ '--machine-readable=[Enable machine readable output]'
100
+ '--debug=[Enable debug output]'
101
+ '--timestamp=[Enable timestamps on log output]'
102
+ '--debug-timestamp=[Enable debug output with timestamps]'
103
+ '--no-tty=[Enable non_interactive output]'
104
+ )
105
+
106
+ local -a init_arguments && init_arguments=(
107
+ '--box-version=[Version of the box to add]'
108
+ '--output=[Output path for the box. _ for stdout]'
109
+ '--template=[Path to custom Vagrantfile template]'
110
+ '--(no-)color=[Enable or disable color output]'
111
+ '--machine-readable=[Enable machine readable output]'
112
+ '--debug=[Enable debug output]'
113
+ '--timestamp=[Enable timestamps on log output]'
114
+ '--debug-timestamp=[Enable debug output with timestamps]'
115
+ '--no-tty=[Enable non_interactive output]'
116
+ )
117
+
118
+ local -a login_arguments && login_arguments=(
119
+ '--(no-)color=[Enable or disable color output]'
120
+ '--machine-readable=[Enable machine readable output]'
121
+ '--debug=[Enable debug output]'
122
+ '--timestamp=[Enable timestamps on log output]'
123
+ '--debug-timestamp=[Enable debug output with timestamps]'
124
+ '--no-tty=[Enable non_interactive output]'
125
+ )
126
+
127
+ local -a package_arguments && package_arguments=(
128
+ '--base=[Name of a VM in VirtualBox to package as a base box (VirtualBox Only)]'
129
+ '--output=[Name of the file to output]'
130
+ '--include=[Comma separated additional files to package with the box]'
131
+ '--vagrantfile=[Vagrantfile to package with the box]'
132
+ '--(no-)color=[Enable or disable color output]'
133
+ '--machine-readable=[Enable machine readable output]'
134
+ '--debug=[Enable debug output]'
135
+ '--timestamp=[Enable timestamps on log output]'
136
+ '--debug-timestamp=[Enable debug output with timestamps]'
137
+ '--no-tty=[Enable non_interactive output]'
138
+ )
139
+
140
+ local -a port_arguments && port_arguments=(
141
+ '--guest=[Output the host port that maps to the given guest port]'
142
+ '--(no-)color=[Enable or disable color output]'
143
+ '--machine-readable=[Enable machine readable output]'
144
+ '--debug=[Enable debug output]'
145
+ '--timestamp=[Enable timestamps on log output]'
146
+ '--debug-timestamp=[Enable debug output with timestamps]'
147
+ '--no-tty=[Enable non_interactive output]'
148
+ )
149
+
150
+ local -a powershell_arguments && powershell_arguments=(
151
+ '--(no-)color=[Enable or disable color output]'
152
+ '--machine-readable=[Enable machine readable output]'
153
+ '--debug=[Enable debug output]'
154
+ '--timestamp=[Enable timestamps on log output]'
155
+ '--debug-timestamp=[Enable debug output with timestamps]'
156
+ '--no-tty=[Enable non_interactive output]'
157
+ )
158
+
159
+ local -a provision_arguments && provision_arguments=(
160
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
161
+ '--(no-)color=[Enable or disable color output]'
162
+ '--machine-readable=[Enable machine readable output]'
163
+ '--debug=[Enable debug output]'
164
+ '--timestamp=[Enable timestamps on log output]'
165
+ '--debug-timestamp=[Enable debug output with timestamps]'
166
+ '--no-tty=[Enable non_interactive output]'
167
+ )
168
+
169
+ local -a push_arguments && push_arguments=(
170
+ '--(no-)color=[Enable or disable color output]'
171
+ '--machine-readable=[Enable machine readable output]'
172
+ '--debug=[Enable debug output]'
173
+ '--timestamp=[Enable timestamps on log output]'
174
+ '--debug-timestamp=[Enable debug output with timestamps]'
175
+ '--no-tty=[Enable non_interactive output]'
176
+ )
177
+
178
+ local -a rdp_arguments && rdp_arguments=(
179
+ '--(no-)color=[Enable or disable color output]'
180
+ '--machine-readable=[Enable machine readable output]'
181
+ '--debug=[Enable debug output]'
182
+ '--timestamp=[Enable timestamps on log output]'
183
+ '--debug-timestamp=[Enable debug output with timestamps]'
184
+ '--no-tty=[Enable non_interactive output]'
185
+ )
186
+
187
+ local -a reload_arguments && reload_arguments=(
188
+ '--(no-)provision=[Enable or disable provisioning]'
189
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
190
+ '--(no-)color=[Enable or disable color output]'
191
+ '--machine-readable=[Enable machine readable output]'
192
+ '--debug=[Enable debug output]'
193
+ '--timestamp=[Enable timestamps on log output]'
194
+ '--debug-timestamp=[Enable debug output with timestamps]'
195
+ '--no-tty=[Enable non_interactive output]'
196
+ )
197
+
198
+ local -a resume_arguments && resume_arguments=(
199
+ '--(no-)provision=[Enable or disable provisioning]'
200
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
201
+ '--(no-)color=[Enable or disable color output]'
202
+ '--machine-readable=[Enable machine readable output]'
203
+ '--debug=[Enable debug output]'
204
+ '--timestamp=[Enable timestamps on log output]'
205
+ '--debug-timestamp=[Enable debug output with timestamps]'
206
+ '--no-tty=[Enable non_interactive output]'
207
+ )
208
+
209
+ local -a ssh_arguments && ssh_arguments=(
210
+ '--(no-)color=[Enable or disable color output]'
211
+ '--machine-readable=[Enable machine readable output]'
212
+ '--debug=[Enable debug output]'
213
+ '--timestamp=[Enable timestamps on log output]'
214
+ '--debug-timestamp=[Enable debug output with timestamps]'
215
+ '--no-tty=[Enable non_interactive output]'
216
+ )
217
+
218
+ local -a ssh_config_arguments && ssh_config_arguments=(
219
+ '--host=[Name the host for the config]'
220
+ '--(no-)color=[Enable or disable color output]'
221
+ '--machine-readable=[Enable machine readable output]'
222
+ '--debug=[Enable debug output]'
223
+ '--timestamp=[Enable timestamps on log output]'
224
+ '--debug-timestamp=[Enable debug output with timestamps]'
225
+ '--no-tty=[Enable non_interactive output]'
226
+ )
227
+
228
+ local -a status_arguments && status_arguments=(
229
+ '--(no-)color=[Enable or disable color output]'
230
+ '--machine-readable=[Enable machine readable output]'
231
+ '--debug=[Enable debug output]'
232
+ '--timestamp=[Enable timestamps on log output]'
233
+ '--debug-timestamp=[Enable debug output with timestamps]'
234
+ '--no-tty=[Enable non_interactive output]'
235
+ )
236
+
237
+ local -a suspend_arguments && suspend_arguments=(
238
+ '--(no-)color=[Enable or disable color output]'
239
+ '--machine-readable=[Enable machine readable output]'
240
+ '--debug=[Enable debug output]'
241
+ '--timestamp=[Enable timestamps on log output]'
242
+ '--debug-timestamp=[Enable debug output with timestamps]'
243
+ '--no-tty=[Enable non_interactive output]'
244
+ )
245
+
246
+ local -a up_arguments && up_arguments=(
247
+ '--(no-)provision=[Enable or disable provisioning]'
248
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
249
+ '--(no-)destroy-on-error=[Destroy machine if any fatal error happens (default to true)]'
250
+ '--(no-)parallel=[Enable or disable parallelism if provider supports it]'
251
+ '--provider=[Back the machine with a specific provider]'
252
+ '--(no-)install-provider=[If possible, install the provider if it isnt installed]'
253
+ '--(no-)color=[Enable or disable color output]'
254
+ '--machine-readable=[Enable machine readable output]'
255
+ '--debug=[Enable debug output]'
256
+ '--timestamp=[Enable timestamps on log output]'
257
+ '--debug-timestamp=[Enable debug output with timestamps]'
258
+ '--no-tty=[Enable non_interactive output]'
259
+ )
260
+
261
+ local -a upload_arguments && upload_arguments=(
262
+ '--(no-)color=[Enable or disable color output]'
263
+ '--machine-readable=[Enable machine readable output]'
264
+ '--debug=[Enable debug output]'
265
+ '--timestamp=[Enable timestamps on log output]'
266
+ '--debug-timestamp=[Enable debug output with timestamps]'
267
+ '--no-tty=[Enable non_interactive output]'
268
+ )
269
+
270
+ local -a validate_arguments && validate_arguments=(
271
+ '--(no-)color=[Enable or disable color output]'
272
+ '--machine-readable=[Enable machine readable output]'
273
+ '--debug=[Enable debug output]'
274
+ '--timestamp=[Enable timestamps on log output]'
275
+ '--debug-timestamp=[Enable debug output with timestamps]'
276
+ '--no-tty=[Enable non_interactive output]'
277
+ )
278
+
279
+ local -a version_arguments && version_arguments=(
280
+ '--(no-)color=[Enable or disable color output]'
281
+ '--machine-readable=[Enable machine readable output]'
282
+ '--debug=[Enable debug output]'
283
+ '--timestamp=[Enable timestamps on log output]'
284
+ '--debug-timestamp=[Enable debug output with timestamps]'
285
+ '--no-tty=[Enable non_interactive output]'
286
+ )
287
+
288
+ local -a winrm_arguments && winrm_arguments=(
289
+ '--(no-)color=[Enable or disable color output]'
290
+ '--machine-readable=[Enable machine readable output]'
291
+ '--debug=[Enable debug output]'
292
+ '--timestamp=[Enable timestamps on log output]'
293
+ '--debug-timestamp=[Enable debug output with timestamps]'
294
+ '--no-tty=[Enable non_interactive output]'
295
+ )
296
+
297
+ local -a winrm_config_arguments && winrm_config_arguments=(
298
+ '--host=[Name the host for the config]'
299
+ '--(no-)color=[Enable or disable color output]'
300
+ '--machine-readable=[Enable machine readable output]'
301
+ '--debug=[Enable debug output]'
302
+ '--timestamp=[Enable timestamps on log output]'
303
+ '--debug-timestamp=[Enable debug output with timestamps]'
304
+ '--no-tty=[Enable non_interactive output]'
305
+ )
306
+
307
+
308
+
309
+ _arguments -C ':command:->command' '*::options:->options'
310
+
311
+ case $state in
312
+ (command)
313
+ _describe -t commands 'command' sub_commands
314
+ return
315
+ ;;
316
+
317
+ (options)
318
+ case $line[1] in
319
+ autocomplete)
320
+ __vagrant-autocomplete ;;
321
+ box)
322
+ __vagrant-box ;;
323
+ cloud)
324
+ _arguments -s -S : $cloud_arguments ;;
325
+ destroy)
326
+ _arguments -s -S : $destroy_arguments ;;
327
+ global-status)
328
+ _arguments -s -S : $global_status_arguments ;;
329
+ halt)
330
+ _arguments -s -S : $halt_arguments ;;
331
+ help)
332
+ _arguments -s -S : $help_arguments ;;
333
+ init)
334
+ _arguments -s -S : $init_arguments ;;
335
+ login)
336
+ _arguments -s -S : $login_arguments ;;
337
+ package)
338
+ _arguments -s -S : $package_arguments ;;
339
+ plugin)
340
+ __vagrant-plugin ;;
341
+ port)
342
+ _arguments -s -S : $port_arguments ;;
343
+ powershell)
344
+ _arguments -s -S : $powershell_arguments ;;
345
+ provision)
346
+ _arguments -s -S : $provision_arguments ;;
347
+ push)
348
+ _arguments -s -S : $push_arguments ;;
349
+ rdp)
350
+ _arguments -s -S : $rdp_arguments ;;
351
+ reload)
352
+ _arguments -s -S : $reload_arguments ;;
353
+ resume)
354
+ _arguments -s -S : $resume_arguments ;;
355
+ snapshot)
356
+ __vagrant-snapshot ;;
357
+ ssh)
358
+ _arguments -s -S : $ssh_arguments ;;
359
+ ssh-config)
360
+ _arguments -s -S : $ssh_config_arguments ;;
361
+ status)
362
+ _arguments -s -S : $status_arguments ;;
363
+ suspend)
364
+ _arguments -s -S : $suspend_arguments ;;
365
+ up)
366
+ _arguments -s -S : $up_arguments ;;
367
+ upload)
368
+ _arguments -s -S : $upload_arguments ;;
369
+ validate)
370
+ _arguments -s -S : $validate_arguments ;;
371
+ version)
372
+ _arguments -s -S : $version_arguments ;;
373
+ winrm)
374
+ _arguments -s -S : $winrm_arguments ;;
375
+ winrm-config)
376
+ _arguments -s -S : $winrm_config_arguments ;;
377
+ esac
378
+ ;;
379
+ esac
380
+
381
+ }
382
+
383
+ function __vagrant-box () {
384
+
385
+ local -a sub_commands && sub_commands=(
386
+ 'add:add'
387
+ 'list:list'
388
+ 'outdated:outdated'
389
+ 'prune:prune'
390
+ 'remove:remove'
391
+ 'repackage:repackage'
392
+ 'update:update'
393
+ )
394
+
395
+ local -a add_arguments && add_arguments=(
396
+ '--insecure=[Do not validate SSL certificates]'
397
+ '--cacert=[CA certificate for SSL download]'
398
+ '--capath=[CA certificate directory for SSL download]'
399
+ '--cert=[A client SSL cert, if needed]'
400
+ '--location-trusted=[Trust Location header from HTTP redirects and use the same credentials for subsequent urls as for the initial one]'
401
+ '--provider=[Provider the box should satisfy]'
402
+ '--box-version=[Constrain version of the added box]'
403
+ '--checksum=[Checksum for the box]'
404
+ '--checksum-type=[Checksum type (md5, sha1, sha256)]'
405
+ '--name=[Name of the box]'
406
+ '--(no-)color=[Enable or disable color output]'
407
+ '--machine-readable=[Enable machine readable output]'
408
+ '--debug=[Enable debug output]'
409
+ '--timestamp=[Enable timestamps on log output]'
410
+ '--debug-timestamp=[Enable debug output with timestamps]'
411
+ '--no-tty=[Enable non_interactive output]'
412
+ )
413
+
414
+ local -a list_arguments && list_arguments=(
415
+ '--(no-)color=[Enable or disable color output]'
416
+ '--machine-readable=[Enable machine readable output]'
417
+ '--debug=[Enable debug output]'
418
+ '--timestamp=[Enable timestamps on log output]'
419
+ '--debug-timestamp=[Enable debug output with timestamps]'
420
+ '--no-tty=[Enable non_interactive output]'
421
+ )
422
+
423
+ local -a outdated_arguments && outdated_arguments=(
424
+ '--global=[Check all boxes installed]'
425
+ '--insecure=[Do not validate SSL certificates]'
426
+ '--cacert=[CA certificate for SSL download]'
427
+ '--capath=[CA certificate directory for SSL download]'
428
+ '--cert=[A client SSL cert, if needed]'
429
+ '--(no-)color=[Enable or disable color output]'
430
+ '--machine-readable=[Enable machine readable output]'
431
+ '--debug=[Enable debug output]'
432
+ '--timestamp=[Enable timestamps on log output]'
433
+ '--debug-timestamp=[Enable debug output with timestamps]'
434
+ '--no-tty=[Enable non_interactive output]'
435
+ )
436
+
437
+ local -a prune_arguments && prune_arguments=(
438
+ '--name=[The specific box name to check for outdated versions.]'
439
+ '--(no-)color=[Enable or disable color output]'
440
+ '--machine-readable=[Enable machine readable output]'
441
+ '--debug=[Enable debug output]'
442
+ '--timestamp=[Enable timestamps on log output]'
443
+ '--debug-timestamp=[Enable debug output with timestamps]'
444
+ '--no-tty=[Enable non_interactive output]'
445
+ )
446
+
447
+ local -a remove_arguments && remove_arguments=(
448
+ '--provider=[The specific provider type for the box to remove]'
449
+ '--box-version=[The specific version of the box to remove]'
450
+ '--all=[Remove all available versions of the box]'
451
+ '--(no-)color=[Enable or disable color output]'
452
+ '--machine-readable=[Enable machine readable output]'
453
+ '--debug=[Enable debug output]'
454
+ '--timestamp=[Enable timestamps on log output]'
455
+ '--debug-timestamp=[Enable debug output with timestamps]'
456
+ '--no-tty=[Enable non_interactive output]'
457
+ )
458
+
459
+ local -a repackage_arguments && repackage_arguments=(
460
+ '--(no-)color=[Enable or disable color output]'
461
+ '--machine-readable=[Enable machine readable output]'
462
+ '--debug=[Enable debug output]'
463
+ '--timestamp=[Enable timestamps on log output]'
464
+ '--debug-timestamp=[Enable debug output with timestamps]'
465
+ '--no-tty=[Enable non_interactive output]'
466
+ )
467
+
468
+ local -a update_arguments && update_arguments=(
469
+ '--box=[__box flag.]'
470
+ '--box=[Update a specific box]'
471
+ '--provider=[Update box with specific provider]'
472
+ '--insecure=[Do not validate SSL certificates]'
473
+ '--cacert=[CA certificate for SSL download]'
474
+ '--capath=[CA certificate directory for SSL download]'
475
+ '--cert=[A client SSL cert, if needed]'
476
+ '--(no-)color=[Enable or disable color output]'
477
+ '--machine-readable=[Enable machine readable output]'
478
+ '--debug=[Enable debug output]'
479
+ '--timestamp=[Enable timestamps on log output]'
480
+ '--debug-timestamp=[Enable debug output with timestamps]'
481
+ '--no-tty=[Enable non_interactive output]'
482
+ )
483
+
484
+
485
+
486
+ _arguments -C ':command:->command' '*::options:->options'
487
+
488
+ case $state in
489
+ (command)
490
+ _describe -t commands 'command' sub_commands
491
+ return
492
+ ;;
493
+
494
+ (options)
495
+ case $line[1] in
496
+ add)
497
+ _arguments -s -S : $add_arguments ;;
498
+ list)
499
+ _arguments -s -S : $list_arguments ;;
500
+ outdated)
501
+ _arguments -s -S : $outdated_arguments ;;
502
+ prune)
503
+ _arguments -s -S : $prune_arguments ;;
504
+ remove)
505
+ _arguments -s -S : $remove_arguments ':feature:__box_list' ;;
506
+ repackage)
507
+ _arguments -s -S : $repackage_arguments ':feature:__box_list' ;;
508
+ update)
509
+ _arguments -s -S : $update_arguments ':feature:__box_list' ;;
510
+ esac
511
+ ;;
512
+ esac
513
+
514
+ }
515
+
516
+ function __vagrant-snapshot () {
517
+
518
+ local -a sub_commands && sub_commands=(
519
+ 'delete:delete'
520
+ 'list:list'
521
+ 'pop:pop'
522
+ 'push:push'
523
+ 'restore:restore'
524
+ 'save:save'
525
+ )
526
+
527
+ local -a delete_arguments && delete_arguments=(
528
+ '--(no-)color=[Enable or disable color output]'
529
+ '--machine-readable=[Enable machine readable output]'
530
+ '--debug=[Enable debug output]'
531
+ '--timestamp=[Enable timestamps on log output]'
532
+ '--debug-timestamp=[Enable debug output with timestamps]'
533
+ '--no-tty=[Enable non_interactive output]'
534
+ )
535
+
536
+ local -a list_arguments && list_arguments=(
537
+ '--(no-)color=[Enable or disable color output]'
538
+ '--machine-readable=[Enable machine readable output]'
539
+ '--debug=[Enable debug output]'
540
+ '--timestamp=[Enable timestamps on log output]'
541
+ '--debug-timestamp=[Enable debug output with timestamps]'
542
+ '--no-tty=[Enable non_interactive output]'
543
+ )
544
+
545
+ local -a pop_arguments && pop_arguments=(
546
+ '--(no-)provision=[Enable or disable provisioning]'
547
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
548
+ '--no-delete=[Dont delete the snapshot after the restore]'
549
+ '--no-start=[Dont start the snapshot after the restore]'
550
+ '--(no-)color=[Enable or disable color output]'
551
+ '--machine-readable=[Enable machine readable output]'
552
+ '--debug=[Enable debug output]'
553
+ '--timestamp=[Enable timestamps on log output]'
554
+ '--debug-timestamp=[Enable debug output with timestamps]'
555
+ '--no-tty=[Enable non_interactive output]'
556
+ )
557
+
558
+ local -a push_arguments && push_arguments=(
559
+ '--(no-)color=[Enable or disable color output]'
560
+ '--machine-readable=[Enable machine readable output]'
561
+ '--debug=[Enable debug output]'
562
+ '--timestamp=[Enable timestamps on log output]'
563
+ '--debug-timestamp=[Enable debug output with timestamps]'
564
+ '--no-tty=[Enable non_interactive output]'
565
+ )
566
+
567
+ local -a restore_arguments && restore_arguments=(
568
+ '--(no-)provision=[Enable or disable provisioning]'
569
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
570
+ '--no-start=[Dont start the snapshot after the restore]'
571
+ '--(no-)color=[Enable or disable color output]'
572
+ '--machine-readable=[Enable machine readable output]'
573
+ '--debug=[Enable debug output]'
574
+ '--timestamp=[Enable timestamps on log output]'
575
+ '--debug-timestamp=[Enable debug output with timestamps]'
576
+ '--no-tty=[Enable non_interactive output]'
577
+ )
578
+
579
+ local -a save_arguments && save_arguments=(
580
+ '--(no-)color=[Enable or disable color output]'
581
+ '--machine-readable=[Enable machine readable output]'
582
+ '--debug=[Enable debug output]'
583
+ '--timestamp=[Enable timestamps on log output]'
584
+ '--debug-timestamp=[Enable debug output with timestamps]'
585
+ '--no-tty=[Enable non_interactive output]'
586
+ )
587
+
588
+
589
+
590
+ _arguments -C ':command:->command' '*::options:->options'
591
+
592
+ case $state in
593
+ (command)
594
+ _describe -t commands 'command' sub_commands
595
+ return
596
+ ;;
597
+
598
+ (options)
599
+ case $line[1] in
600
+ delete)
601
+ _arguments -s -S : $delete_arguments ;;
602
+ list)
603
+ _arguments -s -S : $list_arguments ;;
604
+ pop)
605
+ _arguments -s -S : $pop_arguments ;;
606
+ push)
607
+ _arguments -s -S : $push_arguments ;;
608
+ restore)
609
+ _arguments -s -S : $restore_arguments ;;
610
+ save)
611
+ _arguments -s -S : $save_arguments ;;
612
+ esac
613
+ ;;
614
+ esac
615
+
616
+ }
617
+
618
+ function __vagrant-plugin () {
619
+
620
+ local -a sub_commands && sub_commands=(
621
+ 'expunge:expunge'
622
+ 'install:install'
623
+ 'license:license'
624
+ 'list:list'
625
+ 'repair:repair'
626
+ 'uninstall:uninstall'
627
+ 'update:update'
628
+ )
629
+
630
+ local -a expunge_arguments && expunge_arguments=(
631
+ '--force=[Do not prompt for confirmation]'
632
+ '--local=[Include plugins from local project for expunge]'
633
+ '--local-only=[Only expunge local project plugins]'
634
+ '--global-only=[Only expunge global plugins]'
635
+ '--reinstall=[Reinstall current plugins after expunge]'
636
+ '--(no-)color=[Enable or disable color output]'
637
+ '--machine-readable=[Enable machine readable output]'
638
+ '--debug=[Enable debug output]'
639
+ '--timestamp=[Enable timestamps on log output]'
640
+ '--debug-timestamp=[Enable debug output with timestamps]'
641
+ '--no-tty=[Enable non_interactive output]'
642
+ )
643
+
644
+ local -a install_arguments && install_arguments=(
645
+ '--entry-point=[The name of the entry point file for loading the plugin.]'
646
+ '--plugin-clean-sources=[Remove all plugin sources defined so far (including defaults)]'
647
+ '--plugin-source=[__plugin_source PLUGIN_SOURCE]'
648
+ '--plugin-version=[__plugin_version PLUGIN_VERSION]'
649
+ '--local=[Install plugin for local project only]'
650
+ '--verbose=[Enable verbose output for plugin installation]'
651
+ '--(no-)color=[Enable or disable color output]'
652
+ '--machine-readable=[Enable machine readable output]'
653
+ '--debug=[Enable debug output]'
654
+ '--timestamp=[Enable timestamps on log output]'
655
+ '--debug-timestamp=[Enable debug output with timestamps]'
656
+ '--no-tty=[Enable non_interactive output]'
657
+ )
658
+
659
+ local -a license_arguments && license_arguments=(
660
+ '--(no-)color=[Enable or disable color output]'
661
+ '--machine-readable=[Enable machine readable output]'
662
+ '--debug=[Enable debug output]'
663
+ '--timestamp=[Enable timestamps on log output]'
664
+ '--debug-timestamp=[Enable debug output with timestamps]'
665
+ '--no-tty=[Enable non_interactive output]'
666
+ )
667
+
668
+ local -a list_arguments && list_arguments=(
669
+ '--local=[Include local project plugins]'
670
+ '--(no-)color=[Enable or disable color output]'
671
+ '--machine-readable=[Enable machine readable output]'
672
+ '--debug=[Enable debug output]'
673
+ '--timestamp=[Enable timestamps on log output]'
674
+ '--debug-timestamp=[Enable debug output with timestamps]'
675
+ '--no-tty=[Enable non_interactive output]'
676
+ )
677
+
678
+ local -a repair_arguments && repair_arguments=(
679
+ '--local=[Repair plugins in local project]'
680
+ '--(no-)color=[Enable or disable color output]'
681
+ '--machine-readable=[Enable machine readable output]'
682
+ '--debug=[Enable debug output]'
683
+ '--timestamp=[Enable timestamps on log output]'
684
+ '--debug-timestamp=[Enable debug output with timestamps]'
685
+ '--no-tty=[Enable non_interactive output]'
686
+ )
687
+
688
+ local -a uninstall_arguments && uninstall_arguments=(
689
+ '--local=[Remove plugin from local project]'
690
+ '--(no-)color=[Enable or disable color output]'
691
+ '--machine-readable=[Enable machine readable output]'
692
+ '--debug=[Enable debug output]'
693
+ '--timestamp=[Enable timestamps on log output]'
694
+ '--debug-timestamp=[Enable debug output with timestamps]'
695
+ '--no-tty=[Enable non_interactive output]'
696
+ )
697
+
698
+ local -a update_arguments && update_arguments=(
699
+ '--local=[Update plugin in local project]'
700
+ '--(no-)color=[Enable or disable color output]'
701
+ '--machine-readable=[Enable machine readable output]'
702
+ '--debug=[Enable debug output]'
703
+ '--timestamp=[Enable timestamps on log output]'
704
+ '--debug-timestamp=[Enable debug output with timestamps]'
705
+ '--no-tty=[Enable non_interactive output]'
706
+ )
707
+
708
+
709
+
710
+ _arguments -C ':command:->command' '*::options:->options'
711
+
712
+ case $state in
713
+ (command)
714
+ _describe -t commands 'command' sub_commands
715
+ return
716
+ ;;
717
+
718
+ (options)
719
+ case $line[1] in
720
+ expunge)
721
+ _arguments -s -S : $expunge_arguments ;;
722
+ install)
723
+ _arguments -s -S : $install_arguments ;;
724
+ license)
725
+ _arguments -s -S : $license_arguments ;;
726
+ list)
727
+ _arguments -s -S : $list_arguments ;;
728
+ repair)
729
+ _arguments -s -S : $repair_arguments ':feature:__plugin_list' ;;
730
+ uninstall)
731
+ _arguments -s -S : $uninstall_arguments ':feature:__plugin_list' ;;
732
+ update)
733
+ _arguments -s -S : $update_arguments ':feature:__plugin_list' ;;
734
+ esac
735
+ ;;
736
+ esac
737
+
738
+ }