vagrant-unbundled 2.2.9.0 → 2.2.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/README.md +5 -5
  4. data/contrib/README.md +1 -0
  5. data/contrib/sudoers/linux-suse +2 -2
  6. data/contrib/zsh/_vagrant +736 -0
  7. data/contrib/zsh/generate_zsh_completion.rb +166 -0
  8. data/lib/vagrant/action.rb +3 -0
  9. data/lib/vagrant/action/builder.rb +52 -18
  10. data/lib/vagrant/action/builtin/box_add.rb +6 -5
  11. data/lib/vagrant/action/builtin/cloud_init_setup.rb +127 -0
  12. data/lib/vagrant/action/builtin/cloud_init_wait.rb +30 -0
  13. data/lib/vagrant/action/builtin/handle_box.rb +1 -1
  14. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +13 -13
  15. data/lib/vagrant/action/builtin/has_provisioner.rb +36 -0
  16. data/lib/vagrant/action/builtin/mixin_provisioners.rb +1 -0
  17. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +20 -21
  18. data/lib/vagrant/action/builtin/set_hostname.rb +5 -1
  19. data/lib/vagrant/action/builtin/synced_folders.rb +10 -0
  20. data/lib/vagrant/action/builtin/trigger.rb +3 -2
  21. data/lib/vagrant/action/hook.rb +59 -24
  22. data/lib/vagrant/action/warden.rb +25 -5
  23. data/lib/vagrant/box.rb +5 -4
  24. data/lib/vagrant/bundler.rb +6 -1
  25. data/lib/vagrant/errors.rb +37 -1
  26. data/lib/vagrant/machine.rb +47 -0
  27. data/lib/vagrant/machine_index.rb +27 -1
  28. data/lib/vagrant/plugin/v2/command.rb +5 -1
  29. data/lib/vagrant/plugin/v2/components.rb +6 -0
  30. data/lib/vagrant/plugin/v2/manager.rb +14 -0
  31. data/lib/vagrant/plugin/v2/plugin.rb +12 -0
  32. data/lib/vagrant/plugin/v2/synced_folder.rb +50 -0
  33. data/lib/vagrant/plugin/v2/trigger.rb +6 -5
  34. data/lib/vagrant/ui.rb +1 -1
  35. data/lib/vagrant/util/ansi_escape_code_remover.rb +1 -1
  36. data/lib/vagrant/util/caps.rb +48 -0
  37. data/lib/vagrant/util/credential_scrubber.rb +1 -1
  38. data/lib/vagrant/util/directory.rb +19 -0
  39. data/lib/vagrant/util/downloader.rb +3 -3
  40. data/lib/vagrant/util/guest_hosts.rb +68 -0
  41. data/lib/vagrant/util/install_cli_autocomplete.rb +118 -0
  42. data/lib/vagrant/util/ipv4_interfaces.rb +15 -0
  43. data/lib/vagrant/util/is_port_open.rb +8 -19
  44. data/lib/vagrant/util/network_ip.rb +11 -1
  45. data/lib/vagrant/util/powershell.rb +1 -1
  46. data/lib/vagrant/util/subprocess.rb +9 -1
  47. data/lib/vagrant/vagrantfile.rb +1 -1
  48. data/plugins/commands/autocomplete/command/install.rb +49 -0
  49. data/plugins/commands/autocomplete/command/root.rb +64 -0
  50. data/plugins/commands/autocomplete/plugin.rb +18 -0
  51. data/plugins/commands/destroy/command.rb +6 -2
  52. data/plugins/communicators/ssh/communicator.rb +7 -1
  53. data/plugins/communicators/winrm/helper.rb +1 -1
  54. data/plugins/communicators/winssh/communicator.rb +1 -1
  55. data/plugins/guests/alpine/cap/change_host_name.rb +10 -11
  56. data/plugins/guests/alt/cap/change_host_name.rb +40 -53
  57. data/plugins/guests/arch/cap/change_host_name.rb +5 -14
  58. data/plugins/guests/arch/cap/configure_networks.rb +27 -10
  59. data/plugins/guests/atomic/cap/change_host_name.rb +5 -14
  60. data/plugins/guests/darwin/cap/change_host_name.rb +10 -6
  61. data/plugins/guests/debian/cap/change_host_name.rb +11 -11
  62. data/plugins/guests/esxi/cap/public_key.rb +3 -1
  63. data/plugins/guests/freebsd/cap/change_host_name.rb +10 -6
  64. data/plugins/guests/gentoo/cap/change_host_name.rb +14 -22
  65. data/plugins/guests/haiku/cap/rsync.rb +19 -0
  66. data/plugins/guests/haiku/plugin.rb +15 -0
  67. data/plugins/guests/linux/cap/change_host_name.rb +46 -0
  68. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +4 -11
  69. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +62 -0
  70. data/plugins/guests/linux/plugin.rb +10 -0
  71. data/plugins/guests/omnios/cap/change_host_name.rb +10 -16
  72. data/plugins/guests/openbsd/cap/change_host_name.rb +10 -6
  73. data/plugins/guests/photon/cap/change_host_name.rb +9 -15
  74. data/plugins/guests/pld/cap/change_host_name.rb +11 -17
  75. data/plugins/guests/redhat/cap/change_host_name.rb +10 -5
  76. data/plugins/guests/slackware/cap/change_host_name.rb +11 -17
  77. data/plugins/guests/solaris11/plugin.rb +5 -0
  78. data/plugins/guests/suse/cap/change_host_name.rb +12 -11
  79. data/plugins/hosts/darwin/cap/fs_iso.rb +49 -0
  80. data/plugins/hosts/darwin/plugin.rb +10 -0
  81. data/plugins/hosts/linux/cap/fs_iso.rb +49 -0
  82. data/plugins/hosts/linux/cap/rdp.rb +1 -1
  83. data/plugins/hosts/linux/plugin.rb +10 -0
  84. data/plugins/hosts/windows/cap/fs_iso.rb +48 -0
  85. data/plugins/hosts/windows/cap/rdp.rb +1 -1
  86. data/plugins/hosts/windows/plugin.rb +15 -0
  87. data/plugins/kernel_v2/config/cloud_init.rb +126 -0
  88. data/plugins/kernel_v2/config/disk.rb +40 -18
  89. data/plugins/kernel_v2/config/vm.rb +122 -13
  90. data/plugins/kernel_v2/config/vm_provisioner.rb +13 -2
  91. data/plugins/kernel_v2/config/vm_trigger.rb +5 -1
  92. data/plugins/providers/docker/action.rb +8 -17
  93. data/plugins/providers/docker/action/forwarded_ports.rb +2 -0
  94. data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +61 -0
  95. data/plugins/providers/docker/cap/has_communicator.rb +11 -0
  96. data/plugins/providers/docker/communicator.rb +1 -1
  97. data/plugins/providers/docker/driver.rb +35 -0
  98. data/plugins/providers/docker/plugin.rb +5 -0
  99. data/plugins/providers/hyperv/action.rb +2 -0
  100. data/plugins/providers/hyperv/action/configure.rb +8 -0
  101. data/plugins/providers/hyperv/cap/cleanup_disks.rb +54 -0
  102. data/plugins/providers/hyperv/cap/configure_disks.rb +200 -0
  103. data/plugins/providers/hyperv/cap/validate_disk_ext.rb +34 -0
  104. data/plugins/providers/hyperv/config.rb +5 -0
  105. data/plugins/providers/hyperv/driver.rb +80 -0
  106. data/plugins/providers/hyperv/plugin.rb +25 -0
  107. data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +28 -0
  108. data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +13 -0
  109. data/plugins/providers/hyperv/scripts/get_vhd.ps1 +16 -0
  110. data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +1 -1
  111. data/plugins/providers/hyperv/scripts/list_hdds.ps1 +17 -0
  112. data/plugins/providers/hyperv/scripts/new_vhd.ps1 +31 -0
  113. data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +25 -0
  114. data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +18 -0
  115. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +24 -0
  116. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +8 -0
  117. data/plugins/providers/virtualbox/action.rb +12 -1
  118. data/plugins/providers/virtualbox/action/forward_ports.rb +2 -2
  119. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +40 -9
  120. data/plugins/providers/virtualbox/cap/configure_disks.rb +230 -77
  121. data/plugins/providers/virtualbox/cap/mount_options.rb +35 -0
  122. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +10 -3
  123. data/plugins/providers/virtualbox/driver/meta.rb +3 -0
  124. data/plugins/providers/virtualbox/driver/version_5_0.rb +96 -21
  125. data/plugins/providers/virtualbox/model/storage_controller.rb +135 -0
  126. data/plugins/providers/virtualbox/model/storage_controller_array.rb +100 -0
  127. data/plugins/providers/virtualbox/plugin.rb +18 -1
  128. data/plugins/providers/virtualbox/synced_folder.rb +1 -0
  129. data/plugins/provisioners/container/client.rb +1 -1
  130. data/plugins/provisioners/shell/provisioner.rb +15 -9
  131. data/plugins/synced_folders/nfs/synced_folder.rb +3 -1
  132. data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +11 -0
  133. data/plugins/synced_folders/smb/cap/mount_options.rb +36 -0
  134. data/plugins/synced_folders/smb/plugin.rb +10 -0
  135. data/plugins/synced_folders/smb/synced_folder.rb +1 -1
  136. data/plugins/synced_folders/unix_mount_helpers.rb +14 -0
  137. data/templates/guests/arch/{network_dhcp.erb → default_network/network_dhcp.erb} +0 -0
  138. data/templates/guests/arch/{network_static.erb → default_network/network_static.erb} +0 -0
  139. data/templates/guests/arch/{network_static6.erb → default_network/network_static6.erb} +0 -0
  140. data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
  141. data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
  142. data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
  143. data/templates/guests/linux/etc_fstab.erb +6 -0
  144. data/templates/locales/en.yml +121 -11
  145. data/templates/locales/providers_docker.yml +4 -0
  146. data/vagrant.gemspec +8 -7
  147. data/version.txt +1 -1
  148. metadata +1492 -1309
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc8998228365e044e5c4dae334de559593ead91cec2b40a2fb4b659068de08ed
4
- data.tar.gz: a1c1681b1fcea9ad3079a71ce3a36ff13a950149d997ccb110c95bec92c7a329
3
+ metadata.gz: d625edeb97ba13f5f08f17901d1bc642034e6742e3a790c7392487d8b65548d1
4
+ data.tar.gz: 7b1c09badb49f546e1d13db200840007ed671428f55b702591daed6a23fb512a
5
5
  SHA512:
6
- metadata.gz: 46388919cbbee6ce29ad5a4590ca652736076d1f951d50574ff66babd15acb22829db1e61a4bae7962af5734d27e7fbbc6c8262fc62ac147ac5d0736e560051b
7
- data.tar.gz: 6ceff4e11163fe20e30415a9582c34a94b8241603c0807cc9a8cd10209fc9904ce7cd79f6ae66a2e238d179d90aef071b894792e649d8223f327b511d2c735f3
6
+ metadata.gz: 01e2904251bdfc815bf1dd5a6272c2b84a99225842d8ec2a761296af1479ab3fa112ad4c52460604296299471cc28c1a01cfcf237cc13a04867342feb4dc135f
7
+ data.tar.gz: f1a8ab0331ca605242690523fd479b292ec43a34719fa787e8617fb3a3bd7512824e468b72e32e9b5b89f48867b15e68a9556c52d4c6beb3fbf291ae9d7bb9bd
@@ -1,3 +1,63 @@
1
+ ## 2.2.10 (August 24, 2020)
2
+
3
+ FEATURES:
4
+
5
+ - hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]
6
+
7
+ IMPROVEMENTS:
8
+
9
+ - core: Allow provisioners to be run when a communicator is not available [GH-11579]
10
+ - core: Add `autocomplete` command that allows for install of bash or zsh autocomplete scripts [GH-11523]
11
+ - core: Update to childprocess gem to 4.0.0 [GH-11717]
12
+ - core: Add action to wait for cloud-init to finish running [GH-11773]
13
+ - core: Update to net-ssh to 6.0 and net-sftp to 3.0 [GH-11621]
14
+ - core: Optimize port in use check for faster validation [GH-11810]
15
+ - core: Support for Ruby 2.7 [GH-11814]
16
+ - core: Add synced folder capabilities for mount options and default fstab modification behavior [GH-11797]
17
+ - guest/arch: Use systemd-networkd to configure networking for guests [GH-11400]
18
+ - guest/haiku: Rsync install for rsync synced folders [GH-11614]
19
+ - guest/solaris11: Add guest capability shell_expand_guest_path [GH-11759]
20
+ - host/darwin: Add ability to build ISO [GH-11694]
21
+ - hosts/linux: Add ability to build ISO [GH-11750]
22
+ - hosts/windows: Add ability to build ISO [GH-11750]
23
+ - providers/hyperv: Add support for SecureBootTemplate setting on import [GH-11756]
24
+ - providers/hyperv: Add support for EnhancedSessionTransportType [GH-11014]
25
+ - virtualbox/disks: Add ability to manage virtual dvds for guests [GH-11613]
26
+
27
+ BUG FIXES:
28
+
29
+ - core: Ensure MapCommandOptions class is required [GH-11629]
30
+ - core: Fix `:all` special value on triggers [GH-11688]
31
+ - core: Ensure network addresses have a valid netmask [GH-11679]
32
+ - core: Recover local machine metadata in global index [GH-11656]
33
+ - core: Print CLI help message is ambiguous option provided [GH-11746]
34
+ - core: Update how `/etc/hosts` gets updated for darwin, freebsd and openbsd [GH-11719]
35
+ - core: Capture `[3J` escape sequence [GH-11807]
36
+ - core: Treat empty box value as invalid [GH-11618]
37
+ - core: Allow forwarding ports to unknown addresses [GH-11810]
38
+ - core: Scrub credentials as whole words [GH-11837]
39
+ - commands/destroy: Add gracefull option to switch beween gracefully or forcefully shutting down a vm [GH-11628]
40
+ - communicator/ssh: Raise an error for a nil exit status [GH-11721]
41
+ - communicator/winrm: Check for nil return from querying for forwarded ports [GH-11831]
42
+ - config/vm: Add option `allow_hosts_modification` to allow/disable Vagrant editing the guests `/etc/hosts` file [GH-11565]
43
+ - config/vm: Add config option `hostname` to `config.vm.network` [GH-11566]
44
+ - config/vm: Don't ignore NFS synced folders on Windows hosts [GH-11631]
45
+ - host: Use regular port check for loopback addresses [GH-11654]
46
+ - host: Allow windows and linux hosts to detach from rdp process [GH-11732]
47
+ - host/windows: Properly register SMB password validation capability [GH-11795]
48
+ - guests: Allow setting of hostname according to `hostname` option for multiple guests [GH-11704]
49
+ - guest/alpine: Allow setting of hostname according to `hostname` option [GH-11718]
50
+ - guest/esxi: Be more permissive with permissions of ssh directory [GH-11587]
51
+ - guest/linux: Add virtual box shared folders to guest fstab [GH-11570]
52
+ - guest/suse: Allow setting of hostname according to `hostname` option [GH-11567]
53
+ - providers/docker: Ensure new containers don't grab existing bound ports [GH-11602]
54
+ - providers/hyperv: Fix check for secure boot [GH-11809]
55
+ - providers/virtualbox: Fix inability to create disk with same name across multiple guests [GH-11767]
56
+ - provisioners/docker: Allow to specify docker image version using the `run` option [GH-11806]
57
+ - provisioners/file: Allow creating empty folders [GH-11805]
58
+ - provisioners/shell: Ensure Windows shell provisioner gets the correct file extension [GH-11644]
59
+ - util/powershell: Use correct powershell executable for privileged commands [GH-11787]
60
+
1
61
  ## 2.2.9 (May 07, 2020)
2
62
 
3
63
  BUG FIXES:
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Vagrant
2
2
 
3
- * Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
- * Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
- * HashiCorp Discuss: [https://discuss.hashicorp.com/c/vagrant/24](https://discuss.hashicorp.com/c/vagrant/24)
3
+ - Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
+ - Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
+ - HashiCorp Discuss: [https://discuss.hashicorp.com/c/vagrant/24](https://discuss.hashicorp.com/c/vagrant/24)
6
6
 
7
7
  Vagrant is a tool for building and distributing development environments.
8
8
 
@@ -41,12 +41,12 @@ the box doesn't already exist on your system.
41
41
  ## Getting Started Guide
42
42
 
43
43
  To learn how to build a fully functional development environment, follow the
44
- [getting started guide](https://www.vagrantup.com/docs/getting-started/index.html).
44
+ [getting started guide](https://www.vagrantup.com/docs/getting-started).
45
45
 
46
46
  ## Installing from Source
47
47
 
48
48
  If you want the bleeding edge version of Vagrant, we try to keep master pretty stable
49
- and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source.html).
49
+ and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source).
50
50
 
51
51
  ## Contributing to Vagrant
52
52
 
@@ -14,3 +14,4 @@ for each item will be kept below.
14
14
  starting machines.
15
15
  * `vim` - Contains a `.vim` file for enabling Ruby syntax highlighting
16
16
  for `Vagrantfile`s in `vim`.
17
+ * `zsh` - Contains a zsh script for improving autocompletion with zsh.
@@ -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,736 @@
1
+
2
+ #compdef _vagrant vagrant
3
+
4
+ # ZSH completion for Vagrant
5
+ #
6
+ # To use this completion add this to ~/.zshrc
7
+ # fpath=(/path/to/this/dir $fpath)
8
+ # compinit
9
+ #
10
+ # For development reload the function after making changes
11
+ # unfunction _vagrant && autoload -U _vagrant
12
+
13
+
14
+ __box_list ()
15
+ {
16
+ _wanted application expl 'command' compadd $(command vagrant box list | awk '{print $1}' )
17
+ }
18
+
19
+
20
+ __plugin_list ()
21
+ {
22
+ _wanted application expl 'command' compadd $(command vagrant plugin list | awk '{print $1}')
23
+ }
24
+
25
+
26
+ function _vagrant () {
27
+
28
+ local -a sub_commands && sub_commands=(
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
+ box)
320
+ __vagrant-box ;;
321
+ cloud)
322
+ _arguments -s -S : $cloud_arguments ;;
323
+ destroy)
324
+ _arguments -s -S : $destroy_arguments ;;
325
+ global-status)
326
+ _arguments -s -S : $global_status_arguments ;;
327
+ halt)
328
+ _arguments -s -S : $halt_arguments ;;
329
+ help)
330
+ _arguments -s -S : $help_arguments ;;
331
+ init)
332
+ _arguments -s -S : $init_arguments ;;
333
+ login)
334
+ _arguments -s -S : $login_arguments ;;
335
+ package)
336
+ _arguments -s -S : $package_arguments ;;
337
+ plugin)
338
+ __vagrant-plugin ;;
339
+ port)
340
+ _arguments -s -S : $port_arguments ;;
341
+ powershell)
342
+ _arguments -s -S : $powershell_arguments ;;
343
+ provision)
344
+ _arguments -s -S : $provision_arguments ;;
345
+ push)
346
+ _arguments -s -S : $push_arguments ;;
347
+ rdp)
348
+ _arguments -s -S : $rdp_arguments ;;
349
+ reload)
350
+ _arguments -s -S : $reload_arguments ;;
351
+ resume)
352
+ _arguments -s -S : $resume_arguments ;;
353
+ snapshot)
354
+ __vagrant-snapshot ;;
355
+ ssh)
356
+ _arguments -s -S : $ssh_arguments ;;
357
+ ssh-config)
358
+ _arguments -s -S : $ssh_config_arguments ;;
359
+ status)
360
+ _arguments -s -S : $status_arguments ;;
361
+ suspend)
362
+ _arguments -s -S : $suspend_arguments ;;
363
+ up)
364
+ _arguments -s -S : $up_arguments ;;
365
+ upload)
366
+ _arguments -s -S : $upload_arguments ;;
367
+ validate)
368
+ _arguments -s -S : $validate_arguments ;;
369
+ version)
370
+ _arguments -s -S : $version_arguments ;;
371
+ winrm)
372
+ _arguments -s -S : $winrm_arguments ;;
373
+ winrm-config)
374
+ _arguments -s -S : $winrm_config_arguments ;;
375
+ esac
376
+ ;;
377
+ esac
378
+
379
+ }
380
+
381
+ function __vagrant-box () {
382
+
383
+ local -a sub_commands && sub_commands=(
384
+ 'add:add'
385
+ 'list:list'
386
+ 'outdated:outdated'
387
+ 'prune:prune'
388
+ 'remove:remove'
389
+ 'repackage:repackage'
390
+ 'update:update'
391
+ )
392
+
393
+ local -a add_arguments && add_arguments=(
394
+ '--insecure=[Do not validate SSL certificates]'
395
+ '--cacert=[CA certificate for SSL download]'
396
+ '--capath=[CA certificate directory for SSL download]'
397
+ '--cert=[A client SSL cert, if needed]'
398
+ '--location-trusted=[Trust Location header from HTTP redirects and use the same credentials for subsequent urls as for the initial one]'
399
+ '--provider=[Provider the box should satisfy]'
400
+ '--box-version=[Constrain version of the added box]'
401
+ '--checksum=[Checksum for the box]'
402
+ '--checksum-type=[Checksum type (md5, sha1, sha256)]'
403
+ '--name=[Name of the box]'
404
+ '--(no-)color=[Enable or disable color output]'
405
+ '--machine-readable=[Enable machine readable output]'
406
+ '--debug=[Enable debug output]'
407
+ '--timestamp=[Enable timestamps on log output]'
408
+ '--debug-timestamp=[Enable debug output with timestamps]'
409
+ '--no-tty=[Enable non_interactive output]'
410
+ )
411
+
412
+ local -a list_arguments && list_arguments=(
413
+ '--(no-)color=[Enable or disable color output]'
414
+ '--machine-readable=[Enable machine readable output]'
415
+ '--debug=[Enable debug output]'
416
+ '--timestamp=[Enable timestamps on log output]'
417
+ '--debug-timestamp=[Enable debug output with timestamps]'
418
+ '--no-tty=[Enable non_interactive output]'
419
+ )
420
+
421
+ local -a outdated_arguments && outdated_arguments=(
422
+ '--global=[Check all boxes installed]'
423
+ '--insecure=[Do not validate SSL certificates]'
424
+ '--cacert=[CA certificate for SSL download]'
425
+ '--capath=[CA certificate directory for SSL download]'
426
+ '--cert=[A client SSL cert, if needed]'
427
+ '--(no-)color=[Enable or disable color output]'
428
+ '--machine-readable=[Enable machine readable output]'
429
+ '--debug=[Enable debug output]'
430
+ '--timestamp=[Enable timestamps on log output]'
431
+ '--debug-timestamp=[Enable debug output with timestamps]'
432
+ '--no-tty=[Enable non_interactive output]'
433
+ )
434
+
435
+ local -a prune_arguments && prune_arguments=(
436
+ '--name=[The specific box name to check for outdated versions.]'
437
+ '--(no-)color=[Enable or disable color output]'
438
+ '--machine-readable=[Enable machine readable output]'
439
+ '--debug=[Enable debug output]'
440
+ '--timestamp=[Enable timestamps on log output]'
441
+ '--debug-timestamp=[Enable debug output with timestamps]'
442
+ '--no-tty=[Enable non_interactive output]'
443
+ )
444
+
445
+ local -a remove_arguments && remove_arguments=(
446
+ '--provider=[The specific provider type for the box to remove]'
447
+ '--box-version=[The specific version of the box to remove]'
448
+ '--all=[Remove all available versions of the box]'
449
+ '--(no-)color=[Enable or disable color output]'
450
+ '--machine-readable=[Enable machine readable output]'
451
+ '--debug=[Enable debug output]'
452
+ '--timestamp=[Enable timestamps on log output]'
453
+ '--debug-timestamp=[Enable debug output with timestamps]'
454
+ '--no-tty=[Enable non_interactive output]'
455
+ )
456
+
457
+ local -a repackage_arguments && repackage_arguments=(
458
+ '--(no-)color=[Enable or disable color output]'
459
+ '--machine-readable=[Enable machine readable output]'
460
+ '--debug=[Enable debug output]'
461
+ '--timestamp=[Enable timestamps on log output]'
462
+ '--debug-timestamp=[Enable debug output with timestamps]'
463
+ '--no-tty=[Enable non_interactive output]'
464
+ )
465
+
466
+ local -a update_arguments && update_arguments=(
467
+ '--box=[__box flag.]'
468
+ '--box=[Update a specific box]'
469
+ '--provider=[Update box with specific provider]'
470
+ '--insecure=[Do not validate SSL certificates]'
471
+ '--cacert=[CA certificate for SSL download]'
472
+ '--capath=[CA certificate directory for SSL download]'
473
+ '--cert=[A client SSL cert, if needed]'
474
+ '--(no-)color=[Enable or disable color output]'
475
+ '--machine-readable=[Enable machine readable output]'
476
+ '--debug=[Enable debug output]'
477
+ '--timestamp=[Enable timestamps on log output]'
478
+ '--debug-timestamp=[Enable debug output with timestamps]'
479
+ '--no-tty=[Enable non_interactive output]'
480
+ )
481
+
482
+
483
+
484
+ _arguments -C ':command:->command' '*::options:->options'
485
+
486
+ case $state in
487
+ (command)
488
+ _describe -t commands 'command' sub_commands
489
+ return
490
+ ;;
491
+
492
+ (options)
493
+ case $line[1] in
494
+ add)
495
+ _arguments -s -S : $add_arguments ;;
496
+ list)
497
+ _arguments -s -S : $list_arguments ;;
498
+ outdated)
499
+ _arguments -s -S : $outdated_arguments ;;
500
+ prune)
501
+ _arguments -s -S : $prune_arguments ;;
502
+ remove)
503
+ _arguments -s -S : $remove_arguments ':feature:__box_list' ;;
504
+ repackage)
505
+ _arguments -s -S : $repackage_arguments ':feature:__box_list' ;;
506
+ update)
507
+ _arguments -s -S : $update_arguments ':feature:__box_list' ;;
508
+ esac
509
+ ;;
510
+ esac
511
+
512
+ }
513
+
514
+ function __vagrant-snapshot () {
515
+
516
+ local -a sub_commands && sub_commands=(
517
+ 'delete:delete'
518
+ 'list:list'
519
+ 'pop:pop'
520
+ 'push:push'
521
+ 'restore:restore'
522
+ 'save:save'
523
+ )
524
+
525
+ local -a delete_arguments && delete_arguments=(
526
+ '--(no-)color=[Enable or disable color output]'
527
+ '--machine-readable=[Enable machine readable output]'
528
+ '--debug=[Enable debug output]'
529
+ '--timestamp=[Enable timestamps on log output]'
530
+ '--debug-timestamp=[Enable debug output with timestamps]'
531
+ '--no-tty=[Enable non_interactive output]'
532
+ )
533
+
534
+ local -a list_arguments && list_arguments=(
535
+ '--(no-)color=[Enable or disable color output]'
536
+ '--machine-readable=[Enable machine readable output]'
537
+ '--debug=[Enable debug output]'
538
+ '--timestamp=[Enable timestamps on log output]'
539
+ '--debug-timestamp=[Enable debug output with timestamps]'
540
+ '--no-tty=[Enable non_interactive output]'
541
+ )
542
+
543
+ local -a pop_arguments && pop_arguments=(
544
+ '--(no-)provision=[Enable or disable provisioning]'
545
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
546
+ '--no-delete=[Dont delete the snapshot after the restore]'
547
+ '--no-start=[Dont start the snapshot after the restore]'
548
+ '--(no-)color=[Enable or disable color output]'
549
+ '--machine-readable=[Enable machine readable output]'
550
+ '--debug=[Enable debug output]'
551
+ '--timestamp=[Enable timestamps on log output]'
552
+ '--debug-timestamp=[Enable debug output with timestamps]'
553
+ '--no-tty=[Enable non_interactive output]'
554
+ )
555
+
556
+ local -a push_arguments && push_arguments=(
557
+ '--(no-)color=[Enable or disable color output]'
558
+ '--machine-readable=[Enable machine readable output]'
559
+ '--debug=[Enable debug output]'
560
+ '--timestamp=[Enable timestamps on log output]'
561
+ '--debug-timestamp=[Enable debug output with timestamps]'
562
+ '--no-tty=[Enable non_interactive output]'
563
+ )
564
+
565
+ local -a restore_arguments && restore_arguments=(
566
+ '--(no-)provision=[Enable or disable provisioning]'
567
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
568
+ '--no-start=[Dont start the snapshot after the restore]'
569
+ '--(no-)color=[Enable or disable color output]'
570
+ '--machine-readable=[Enable machine readable output]'
571
+ '--debug=[Enable debug output]'
572
+ '--timestamp=[Enable timestamps on log output]'
573
+ '--debug-timestamp=[Enable debug output with timestamps]'
574
+ '--no-tty=[Enable non_interactive output]'
575
+ )
576
+
577
+ local -a save_arguments && save_arguments=(
578
+ '--(no-)color=[Enable or disable color output]'
579
+ '--machine-readable=[Enable machine readable output]'
580
+ '--debug=[Enable debug output]'
581
+ '--timestamp=[Enable timestamps on log output]'
582
+ '--debug-timestamp=[Enable debug output with timestamps]'
583
+ '--no-tty=[Enable non_interactive output]'
584
+ )
585
+
586
+
587
+
588
+ _arguments -C ':command:->command' '*::options:->options'
589
+
590
+ case $state in
591
+ (command)
592
+ _describe -t commands 'command' sub_commands
593
+ return
594
+ ;;
595
+
596
+ (options)
597
+ case $line[1] in
598
+ delete)
599
+ _arguments -s -S : $delete_arguments ;;
600
+ list)
601
+ _arguments -s -S : $list_arguments ;;
602
+ pop)
603
+ _arguments -s -S : $pop_arguments ;;
604
+ push)
605
+ _arguments -s -S : $push_arguments ;;
606
+ restore)
607
+ _arguments -s -S : $restore_arguments ;;
608
+ save)
609
+ _arguments -s -S : $save_arguments ;;
610
+ esac
611
+ ;;
612
+ esac
613
+
614
+ }
615
+
616
+ function __vagrant-plugin () {
617
+
618
+ local -a sub_commands && sub_commands=(
619
+ 'expunge:expunge'
620
+ 'install:install'
621
+ 'license:license'
622
+ 'list:list'
623
+ 'repair:repair'
624
+ 'uninstall:uninstall'
625
+ 'update:update'
626
+ )
627
+
628
+ local -a expunge_arguments && expunge_arguments=(
629
+ '--force=[Do not prompt for confirmation]'
630
+ '--local=[Include plugins from local project for expunge]'
631
+ '--local-only=[Only expunge local project plugins]'
632
+ '--global-only=[Only expunge global plugins]'
633
+ '--reinstall=[Reinstall current plugins after expunge]'
634
+ '--(no-)color=[Enable or disable color output]'
635
+ '--machine-readable=[Enable machine readable output]'
636
+ '--debug=[Enable debug output]'
637
+ '--timestamp=[Enable timestamps on log output]'
638
+ '--debug-timestamp=[Enable debug output with timestamps]'
639
+ '--no-tty=[Enable non_interactive output]'
640
+ )
641
+
642
+ local -a install_arguments && install_arguments=(
643
+ '--entry-point=[The name of the entry point file for loading the plugin.]'
644
+ '--plugin-clean-sources=[Remove all plugin sources defined so far (including defaults)]'
645
+ '--plugin-source=[__plugin_source PLUGIN_SOURCE]'
646
+ '--plugin-version=[__plugin_version PLUGIN_VERSION]'
647
+ '--local=[Install plugin for local project only]'
648
+ '--verbose=[Enable verbose output for plugin installation]'
649
+ '--(no-)color=[Enable or disable color output]'
650
+ '--machine-readable=[Enable machine readable output]'
651
+ '--debug=[Enable debug output]'
652
+ '--timestamp=[Enable timestamps on log output]'
653
+ '--debug-timestamp=[Enable debug output with timestamps]'
654
+ '--no-tty=[Enable non_interactive output]'
655
+ )
656
+
657
+ local -a license_arguments && license_arguments=(
658
+ '--(no-)color=[Enable or disable color output]'
659
+ '--machine-readable=[Enable machine readable output]'
660
+ '--debug=[Enable debug output]'
661
+ '--timestamp=[Enable timestamps on log output]'
662
+ '--debug-timestamp=[Enable debug output with timestamps]'
663
+ '--no-tty=[Enable non_interactive output]'
664
+ )
665
+
666
+ local -a list_arguments && list_arguments=(
667
+ '--local=[Include local project plugins]'
668
+ '--(no-)color=[Enable or disable color output]'
669
+ '--machine-readable=[Enable machine readable output]'
670
+ '--debug=[Enable debug output]'
671
+ '--timestamp=[Enable timestamps on log output]'
672
+ '--debug-timestamp=[Enable debug output with timestamps]'
673
+ '--no-tty=[Enable non_interactive output]'
674
+ )
675
+
676
+ local -a repair_arguments && repair_arguments=(
677
+ '--local=[Repair plugins in local project]'
678
+ '--(no-)color=[Enable or disable color output]'
679
+ '--machine-readable=[Enable machine readable output]'
680
+ '--debug=[Enable debug output]'
681
+ '--timestamp=[Enable timestamps on log output]'
682
+ '--debug-timestamp=[Enable debug output with timestamps]'
683
+ '--no-tty=[Enable non_interactive output]'
684
+ )
685
+
686
+ local -a uninstall_arguments && uninstall_arguments=(
687
+ '--local=[Remove plugin from local project]'
688
+ '--(no-)color=[Enable or disable color output]'
689
+ '--machine-readable=[Enable machine readable output]'
690
+ '--debug=[Enable debug output]'
691
+ '--timestamp=[Enable timestamps on log output]'
692
+ '--debug-timestamp=[Enable debug output with timestamps]'
693
+ '--no-tty=[Enable non_interactive output]'
694
+ )
695
+
696
+ local -a update_arguments && update_arguments=(
697
+ '--local=[Update plugin in local project]'
698
+ '--(no-)color=[Enable or disable color output]'
699
+ '--machine-readable=[Enable machine readable output]'
700
+ '--debug=[Enable debug output]'
701
+ '--timestamp=[Enable timestamps on log output]'
702
+ '--debug-timestamp=[Enable debug output with timestamps]'
703
+ '--no-tty=[Enable non_interactive output]'
704
+ )
705
+
706
+
707
+
708
+ _arguments -C ':command:->command' '*::options:->options'
709
+
710
+ case $state in
711
+ (command)
712
+ _describe -t commands 'command' sub_commands
713
+ return
714
+ ;;
715
+
716
+ (options)
717
+ case $line[1] in
718
+ expunge)
719
+ _arguments -s -S : $expunge_arguments ;;
720
+ install)
721
+ _arguments -s -S : $install_arguments ;;
722
+ license)
723
+ _arguments -s -S : $license_arguments ;;
724
+ list)
725
+ _arguments -s -S : $list_arguments ;;
726
+ repair)
727
+ _arguments -s -S : $repair_arguments ':feature:__plugin_list' ;;
728
+ uninstall)
729
+ _arguments -s -S : $uninstall_arguments ':feature:__plugin_list' ;;
730
+ update)
731
+ _arguments -s -S : $update_arguments ':feature:__plugin_list' ;;
732
+ esac
733
+ ;;
734
+ esac
735
+
736
+ }