Remove obsolete stuffs
This commit is contained in:
141
bin/cmder/vendor/clink-completions/vagrant.lua
vendored
Normal file
141
bin/cmder/vendor/clink-completions/vagrant.lua
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
local matchers = require('matchers')
|
||||
local path = require('path')
|
||||
local parser = clink.arg.new_parser
|
||||
|
||||
local boxes = matchers.create_dirs_matcher(clink.get_env("userprofile") .. "/.vagrant.d/boxes/*")
|
||||
|
||||
local function is_empty(s)
|
||||
return s == nil or s == ''
|
||||
end
|
||||
|
||||
local function find_vagrantfile(start_dir)
|
||||
local vagrantfile_name = clink.get_env("VAGRANT_VAGRANTFILE")
|
||||
if is_empty(vagrantfile_name) then vagrantfile_name = "Vagrantfile" end
|
||||
|
||||
local function has_vagrantfile(dir)
|
||||
return #clink.find_files(dir .. "./" .. vagrantfile_name .. "*") > 0
|
||||
end
|
||||
|
||||
if not start_dir or start_dir == '.' then start_dir = clink.get_cwd() end
|
||||
|
||||
if has_vagrantfile(start_dir) then return io.open(start_dir.."\\"..vagrantfile_name) end
|
||||
|
||||
local parent_path = path.pathname(start_dir)
|
||||
if parent_path ~= start_dir then return find_vagrantfile(parent_path) end
|
||||
end
|
||||
|
||||
local function get_vagrantfile()
|
||||
local vagrant_cwd = clink.get_env("VAGRANT_CWD")
|
||||
if not is_empty(vagrant_cwd) then
|
||||
return find_vagrantfile(vagrant_cwd)
|
||||
else
|
||||
return find_vagrantfile()
|
||||
end
|
||||
end
|
||||
|
||||
local function delete_ruby_comment(line)
|
||||
if line == nil then return nil end
|
||||
local index = string.find(line, '#')
|
||||
if (not (index == nil) and index > 0) then
|
||||
return string.sub(line, 0, index-1)
|
||||
end
|
||||
return line
|
||||
end
|
||||
|
||||
local get_provisions = function ()
|
||||
local vagrant_file = get_vagrantfile()
|
||||
if vagrant_file == nil then return {} end
|
||||
|
||||
local provisions = {}
|
||||
for line in vagrant_file:lines() do
|
||||
line = delete_ruby_comment(line)
|
||||
if not is_empty(line) then
|
||||
local provision_name = line:match('.vm.provision[ \r\t]+[\"|\']([A-z]+[A-z0-9|-]*)[\"|\']')
|
||||
|
||||
if not is_empty(provision_name) then
|
||||
table.insert(provisions, provision_name)
|
||||
end
|
||||
end
|
||||
end
|
||||
vagrant_file:close()
|
||||
return provisions
|
||||
end
|
||||
|
||||
local vagrant_parser = parser({
|
||||
"box" .. parser({
|
||||
"add" .. parser(
|
||||
"--checksum",
|
||||
"--checksum-type" .. parser({"md5", "sha1", "sha256"}),
|
||||
"-c", "--clean",
|
||||
"-f", "--force",
|
||||
"--insecure",
|
||||
"--cacert",
|
||||
"--cert",
|
||||
"--provider"
|
||||
),
|
||||
"list" .. parser("-i", "--box-info"),
|
||||
"outdated"..parser("--global", "-h", "--help"),
|
||||
"remove" .. parser({boxes}),
|
||||
"repackage" .. parser({boxes}),
|
||||
"update"
|
||||
}),
|
||||
"connect",
|
||||
"destroy" .. parser("-f", "--force"),
|
||||
"global-status",
|
||||
"halt" .. parser("-f", "--force"),
|
||||
"init" .. parser({boxes}, {}, "--output"),
|
||||
"package" .. parser("--base", "--output", "--include", "--vagrantfile"),
|
||||
"plugin" .. parser({
|
||||
"install" .. parser(
|
||||
"--entry-point",
|
||||
"--plugin-prerelease",
|
||||
"--plugin-source",
|
||||
"--plugin-version"
|
||||
),
|
||||
"license",
|
||||
"list",
|
||||
"uninstall",
|
||||
"update" .. parser(
|
||||
"--entry-point",
|
||||
"--plugin-prerelease",
|
||||
"--plugin-source",
|
||||
"--plugin-version"
|
||||
)
|
||||
}),
|
||||
"provision" .. parser("--provision-with" .. parser({get_provisions}), "--no-parallel", "--parallel"),
|
||||
"reload" .. parser("--provision-with" .. parser({get_provisions}), "--no-parallel", "--parallel"),
|
||||
"resume",
|
||||
"ssh" .. parser("-c", "--command", "-p", "--plain") ,
|
||||
"ssh-config",
|
||||
"snapshot" .. parser({
|
||||
"push",
|
||||
"pop" .. parser(
|
||||
"--provision",
|
||||
"--no-provision",
|
||||
"--no-delete"),
|
||||
"save",
|
||||
"restore" .. parser(
|
||||
"--provision",
|
||||
"--no-provision"),
|
||||
"list",
|
||||
"delete"}),
|
||||
"status",
|
||||
"suspend",
|
||||
"up" .. parser(
|
||||
"--provision",
|
||||
"--no-provision",
|
||||
"--provision-with" .. parser({get_provisions}),
|
||||
"--destroy-on-error",
|
||||
"--no-destroy-on-error",
|
||||
"--parallel",
|
||||
"--no-parallel",
|
||||
"--provider"
|
||||
)
|
||||
}, "-h", "--help", "-v", "--version")
|
||||
|
||||
local help_parser = parser({
|
||||
"help" .. parser(vagrant_parser:flatten_argument(1))
|
||||
})
|
||||
|
||||
clink.arg.register_parser("vagrant", vagrant_parser)
|
||||
clink.arg.register_parser("vagrant", help_parser)
|
||||
Reference in New Issue
Block a user