Remove obsolete stuffs
This commit is contained in:
240
bin/cmder/vendor/clink-completions/pip.lua
vendored
Normal file
240
bin/cmder/vendor/clink-completions/pip.lua
vendored
Normal file
@@ -0,0 +1,240 @@
|
||||
-- -*- coding: utf-8 -*-
|
||||
-- preamble: common routines
|
||||
|
||||
local matchers = require("matchers")
|
||||
local w = require("tables").wrap
|
||||
|
||||
local parser = clink.arg.new_parser
|
||||
|
||||
local function pip_libs_list(token)
|
||||
local handle = io.popen('python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"')
|
||||
local python_lib_path = handle:read("*a")
|
||||
handle:close()
|
||||
|
||||
-- trim spaces
|
||||
python_lib_path = python_lib_path:gsub("^%s*(.-)%s*$", "%1")
|
||||
|
||||
local finder = matchers.create_files_matcher(python_lib_path .. "\\*.dist-info")
|
||||
|
||||
local list = w(finder(token))
|
||||
|
||||
list =
|
||||
list:map(
|
||||
function(package)
|
||||
package = package:gsub("-[%d%.]+dist%-info$", "")
|
||||
return package
|
||||
end
|
||||
)
|
||||
|
||||
return list
|
||||
end
|
||||
|
||||
local pip_default_flags = {
|
||||
"--help",
|
||||
"-h",
|
||||
"--isolated",
|
||||
"--verbose",
|
||||
"-v",
|
||||
"--version",
|
||||
"-V",
|
||||
"--quiet",
|
||||
"-q",
|
||||
"--log",
|
||||
"--proxy",
|
||||
"--retries",
|
||||
"--timeout",
|
||||
"--exists-action",
|
||||
"--trusted-host",
|
||||
"--cert",
|
||||
"--client-cert",
|
||||
"--cache-dir",
|
||||
"--no-cache-dir",
|
||||
"--disable-pip-version-check",
|
||||
"--no-color"
|
||||
}
|
||||
|
||||
local pip_requirement_flags = {
|
||||
"--requirement" .. parser({clink.matches_are_files}),
|
||||
"-r" .. parser({clink.matches_are_files})
|
||||
}
|
||||
|
||||
local pip_index_flags = {
|
||||
"--index-url",
|
||||
"-i",
|
||||
"--extra-index-url",
|
||||
"--no-index",
|
||||
"--find-links",
|
||||
"-f"
|
||||
}
|
||||
|
||||
local pip_install_download_wheel_flags = {
|
||||
pip_requirement_flags,
|
||||
"--no-binary",
|
||||
"--only-binary",
|
||||
"--prefer-binary",
|
||||
"--no-build-isolation",
|
||||
"--use-pep517",
|
||||
"--constraint",
|
||||
"-c",
|
||||
"--src",
|
||||
"--no-deps",
|
||||
"--progress-bar" .. parser({"off", "on", "ascii", "pretty", "emoji"}),
|
||||
"--global-option",
|
||||
"--pre",
|
||||
"--no-clean",
|
||||
"--requires-hashes"
|
||||
}
|
||||
|
||||
local pip_install_download_flags = {
|
||||
pip_install_download_wheel_flags,
|
||||
"--platform",
|
||||
"--python-version",
|
||||
"--implementation" .. parser({"pp", "jy", "cp", "ip"}),
|
||||
"--abi"
|
||||
}
|
||||
|
||||
local pip_install_parser =
|
||||
parser(
|
||||
{},
|
||||
"--editable",
|
||||
"-e",
|
||||
"--target",
|
||||
"-t",
|
||||
"--user",
|
||||
"--root",
|
||||
"--prefix",
|
||||
"--build",
|
||||
"-b",
|
||||
"--upgrade",
|
||||
"-U",
|
||||
"--upgrade-strategy" .. parser({"eager", "only-if-needed"}),
|
||||
"--force-reinstall",
|
||||
"--ignore-installed",
|
||||
"-I",
|
||||
"--ignore-requires-python",
|
||||
"--install-option",
|
||||
"--compile",
|
||||
"--no-compile",
|
||||
"--no-warn-script-location",
|
||||
"--no-warn-conflicts"
|
||||
):loop(1)
|
||||
pip_install_parser:add_flags(pip_install_download_flags)
|
||||
pip_install_parser:add_flags(pip_index_flags)
|
||||
pip_install_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_download_parser = parser({}, "--build", "-b", "--dest", "-d"):loop(1)
|
||||
pip_download_parser:add_flags(pip_install_download_flags)
|
||||
pip_download_parser:add_flags(pip_index_flags)
|
||||
pip_download_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_uninstall_parser =
|
||||
parser({pip_libs_list}, "--yes", "-y"):add_flags(pip_default_flags, pip_requirement_flags):loop(1)
|
||||
|
||||
local pip_freeze_parser = parser({}, "--find-links", "--local", "-l", "--user", "--all", "--exclude-editable")
|
||||
pip_freeze_parser:add_flags(pip_default_flags, pip_requirement_flags)
|
||||
|
||||
local pip_list_parser =
|
||||
parser(
|
||||
{},
|
||||
"--outdated",
|
||||
"-o",
|
||||
"--uptodate",
|
||||
"-u",
|
||||
"--editable",
|
||||
"-e",
|
||||
"--local",
|
||||
"-l",
|
||||
"--user",
|
||||
"--pre",
|
||||
"--format" .. parser({"columns", "freeze", "json"}),
|
||||
"--not-required",
|
||||
"--exclude-editable",
|
||||
"--include-editable"
|
||||
)
|
||||
pip_list_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_config_parser =
|
||||
parser(
|
||||
{
|
||||
"list",
|
||||
"edit",
|
||||
"get",
|
||||
"set",
|
||||
"unset"
|
||||
},
|
||||
"--editor",
|
||||
"--global",
|
||||
"--user",
|
||||
"--venv",
|
||||
pip_default_flags
|
||||
)
|
||||
pip_config_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_search_parser = parser({}, "--index", "-i"):add_flags(pip_default_flags)
|
||||
|
||||
local pip_wheel_parser =
|
||||
parser(
|
||||
{},
|
||||
"--wheel-dir",
|
||||
"-w",
|
||||
"--build-option",
|
||||
"--editable",
|
||||
"-e",
|
||||
"--ignore-requires-python",
|
||||
"--build",
|
||||
"-b"
|
||||
):loop(1)
|
||||
pip_wheel_parser:add_flags(pip_install_download_flags)
|
||||
pip_wheel_parser:add_flags(pip_index_flags)
|
||||
pip_wheel_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_hash_parser =
|
||||
parser(
|
||||
{},
|
||||
"--algorithm" .. parser({"sha256", "sha384", "sha512"}),
|
||||
"-a" .. parser({"sha256", "sha384", "sha512"}),
|
||||
pip_default_flags
|
||||
)
|
||||
pip_hash_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_completion_parser = parser({}, "--bash", "-b", "--zsh", "-z", "--fish", "-f"):add_flags(pip_default_flags)
|
||||
|
||||
local pip_help_parser =
|
||||
parser(
|
||||
{
|
||||
"install",
|
||||
"download",
|
||||
"uninstall",
|
||||
"freeze",
|
||||
"list",
|
||||
"show",
|
||||
"config",
|
||||
"search",
|
||||
"wheel",
|
||||
"hash",
|
||||
"completion",
|
||||
"help"
|
||||
}
|
||||
)
|
||||
pip_help_parser:add_flags(pip_default_flags)
|
||||
|
||||
local pip_parser =
|
||||
parser(
|
||||
{
|
||||
"install" .. pip_install_parser,
|
||||
"download" .. pip_download_parser,
|
||||
"uninstall" .. pip_uninstall_parser,
|
||||
"freeze" .. pip_freeze_parser,
|
||||
"list" .. pip_list_parser,
|
||||
"show" .. parser({pip_libs_list}, pip_default_flags),
|
||||
"config" .. pip_config_parser,
|
||||
"search" .. pip_search_parser,
|
||||
"wheel" .. pip_wheel_parser,
|
||||
"hash" .. pip_hash_parser,
|
||||
"completion" .. pip_completion_parser,
|
||||
"help" .. pip_help_parser
|
||||
}
|
||||
)
|
||||
pip_parser:add_flags(pip_default_flags)
|
||||
|
||||
clink.arg.register_parser("pip", pip_parser)
|
||||
Reference in New Issue
Block a user