Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH 01/25] Add variables for all commands and options.
- X-seq: zsh-workers 42827
- From: doron.behar@xxxxxxxxx
- To: zsh-workers@xxxxxxx
- Subject: [PATCH 01/25] Add variables for all commands and options.
- Date: Sat, 26 May 2018 18:06:10 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=nP2LO7TPwdo7fh/ccgSNET54etk9o5rHKG3C2IJqz0g=; b=HNe5G3dhui384Ey6pQuCoDAvJD0ioVMb2dqZUlSmZqDtQxH7CfqORgWE71Q+DFnLfw sWNxpwTqIH42LjsVD17SPr2rxKWHsh0b8dWkYQrvBBG3vJ5ZOQgTth8mQrUWLIKmUERb 8qk2dl3SIzdZ3/Qxwkz6h1+AvceluZ/5CP+78+NeFVs4vKB1cWhPFxmGaHwIpMlCfLPd o7VP4nzPda432HYVAUecERwmWTS/IYVoJnXzAzYDc8tTfTn0HvrOxsKoMkplzA1tM+P5 Qnd3y0tCUsQGuvR8/XiQwIA8RssnzNvYB9FoZg0LkB5CbtoSShDLaSURo4LbrYOXcN2c 26Og==
- In-reply-to: <20180526150634.15683-1-doron.behar@gmail.com>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <20180526150634.15683-1-doron.behar@gmail.com>
From: Doron Behar <doron.behar@xxxxxxxxx>
---
Completion/Unix/Command/_luarocks | 178 ++++++++++++++++++++++++++++++
1 file changed, 178 insertions(+)
create mode 100644 Completion/Unix/Command/_luarocks
diff --git a/Completion/Unix/Command/_luarocks b/Completion/Unix/Command/_luarocks
new file mode 100644
index 000000000..753fdb381
--- /dev/null
+++ b/Completion/Unix/Command/_luarocks
@@ -0,0 +1,178 @@
+#compdef luarocks
+
+local general_options=(
+ '(--server --only-server)--server=[Fetch rocks/rockspecs from this server]:HOST:_hosts'
+ '(--server --only-server)--only-server=[Fetch rocks/rockspecs from this server only]:HOST:_hosts'
+ '--only-sources=[Restrict downloads to paths matching the given URL]:URL:_urls'
+ '--tree=[Which tree to operate on]:TREE:'
+ '--local[Use the tree in the user'"'"'s home directory]'
+ '--verbose[Display verbose output of commands executed]'
+ '--timeout=[Timeout on network operations]:SECONDS:{_message "timeout (seconds)"}'
+)
+# SYNOPSIS: /usr/bin/luarocks [--server=<server> | --only-server=<server>] [--tree=<tree>] [VAR=VALUE]... <command> [<argument>]
+local commands=(
+ 'build[Build/compile a rock]'
+ 'config[Query information about the LuaRocks configuration]'
+ 'doc[Show documentation for an installed rock]'
+ 'download[Download a specific rock file from a rocks server]'
+ 'help[Help on commands]'
+ 'install[Install a rock]'
+ 'lint[Check syntax of a rockspec]'
+ 'list[List currently installed rocks]'
+ 'make[Compile package in current directory using a rockspec]'
+ 'new_version[Auto-write a rockspec for a new version of a rock]'
+ 'pack[Create a rock, packing sources or binaries]'
+ 'path[Return the currently configured package path]'
+ 'purge[Remove all installed rocks from a tree]'
+ 'remove[Uninstall a rock]'
+ 'search[Query the LuaRocks servers]'
+ 'show[Show information about an installed rock]'
+ 'unpack[Unpack the contents of a rock]'
+ 'upload[Upload a rockspec to the public rocks repository]'
+ 'write_rockspect[Write a template for a rockspec file]'
+)
+
+# `build` command receives as an argument a .rockspec file, or external rock and afterwards a version
+local make_command_options=(
+ '--pack-binary-rock[Produce a .rock file with the contents of compilation inside the current directory instead of installing it]'
+ '--keep[Do not remove previously installed versions of the rock after building a new one]'
+ '--branch=[Override the `source.branch` field in the loaded rockspec]:NAME:{_message "branch name"}'
+)
+local option_deps_mode='--deps-mode=[How to handle dependencies. Four modes are supported:MODE:_luarocks_build_deps_mode'
+local build_command_options=(
+ "${make_command_options[@]}"
+ '--only-deps[Installs only the dependencies of the rock]'
+ $option_deps_mode
+)
+_luarocks_build_deps_mode(){
+ local modes=(
+ 'all:use all trees from the rocks_trees list for finding dependencies'
+ 'one:use only the current tree (possibly set with --tree)'
+ 'order:use trees based on order (use the current tree and all trees below it on the rocks_trees list)'
+ 'none:ignore dependencies altogether'
+ )
+ _describe 'dependencies mode' modes
+}
+
+# `config` command sets a flag in the format VAR=VALUE
+local config_command_options=(
+ '--lua-incdir[Path to Lua header files]'
+ '--lua-libdir[Path to Lua library files]'
+ '--lua-ver[Lua version (in major.minor format)]'
+ '--system-config[Location of the system config file]'
+ '--user-config[Location of the user config file]'
+ '--rock-trees[Rocks trees in useFirst the user tree, then the system tree]'
+)
+
+# `doc` command ... TODO: what kind of argument it receives
+local doc_command_options=(
+ '--home[Open the home page of project]'
+ '--list[List documentation files only]'
+)
+
+# `download` command receives an argument of an external only rockspec
+local download_command_options=(
+ '--all[Download all files if there are multiple matches]'
+ '--source[Download .src.rock if available]'
+ '--rockspec[Download .rockspec if available]'
+ '--arch=[Download rock for a specific architecture]:ARCH:_luarocks_architecture'
+)
+_luarocks_architecture(){
+}
+
+# `help` command receives an argument of an internal command
+
+# `install` command receives the same argument as the build command and it accepts the same options as well
+
+# `lint` command receives an argument of a rockspec file
+
+# `list` command receives only options
+local list_command_options=(
+ '--outdated[List only rocks for which there is a higher version available in the rocks server]'
+ '--porcelain[Produce machine-friendly output]'
+)
+
+# `make` command receives an argument of a rockspec file
+# it's options were already described above.
+
+# `new_version` command receives an argument a .rockspec file, or external rock and afterwards a version and optionally afterwards a URL
+local new_version_command_options=(
+ '--tag=[if no version is specified, this option'"'"'s argument is used instead]:TAG:__git_tag'
+)
+
+# `pack` command receives as an argument a .rockspec file, or external rock and afterwards a version
+
+# `path` command receives only options
+local path_command_options=(
+ '--bin[Adds the system path to the output]'
+ '--append[Appends the paths to the existing paths]'
+ '--lr-path[Exports the Lua path (not formatted as shell command)]'
+ '--lr-cpath[Exports the Lua cpath (not formatted as shell command)]'
+ '--lr-bin[Exports the system path (not formatted as shell command)]'
+)
+
+# `purge` command receives only options, --tree is mandatory, --force can be used only in conjunction with --old-versions
+local option_force='--force[Force removing old versions when]'
+local purge_command_options=(
+ '--old-versions[Keep the highest-numbered version of each rock and remove the other ones]'
+ $option_force
+)
+
+
+# `remove` command receives as an argument a name of a locally installed rock
+local option_force_fast='--force-fast[works like --force but doesn'"'"'t reports forced removals]'
+local remove_command_options=(
+ $option_deps_mode
+ $option_force
+ $option_force_fast
+)
+
+# `search` command receives as an argument only a string as a search query
+local search_command_options=(
+ '--source[Return only rockspecs and source rocks]'
+ '--binary[Return only pure Lua and binary rocks (rocks that can be used with the "install" command without requiring a C toolchain)]'
+ '--all[List all contents of the server that are suitable to this platform, do not filter by name]'
+)
+
+# `show` command receives as an argument only an installed rock
+local show_command_options=(
+ '--home[home page of project]'
+ '--modules[all modules provided by this package as used by require()]'
+ '--deps[packages this package depends on]'
+ '--rockspec[the full path of the rockspec file]'
+ '--mversion[the package version]'
+ '--rock-tree[local tree where rock is installed]'
+ '--rock-dir[data directory of the installed rock]'
+)
+
+# `unpack` command receives as an argument a rock package or an external rock and afterwards a version
+local unpack_command_options=(
+ '--force[Unpack files even if the output directory already exists]'
+)
+
+# `upload` command receives as an argument a rockspec file with .src.rock extension
+local upload_command_options=(
+ '--skip-pack[Do not pack and send source rock]'
+ '--api-key=[Give it an API key]:KEY:{_message "api key"}'
+ '--force[Replace existing rockspec if the same revision of a module already exists]'
+)
+
+# `write_rockspec` command receives as an argument a name and a version with optionally a URL/PATH
+
+local write_rockspec_command_options=(
+ '--output=[Write the rockspec with the given filename]:FILE:_files'
+ '--license=[A license string, ]:LICENSE:{_message -e "write a license string such as "MIT/X11" or "GNU GPL v3"}'
+ '--summary=[A short one-line description summary]:SUMMARY_TEXT:{_message -e "write a short summary of the rock"}'
+ '--detailed=[A longer description string]:DETAILED_TEXT:{_message -e "write a detailed description of the rock"}'
+ '--homepage=[Project homepage]:URL:_luarocks_write_rockspec_homepage'
+ '--lua-version=[Supported Lua versions]:LUA_VER:_luarocks_version'
+ '--rockspec-format=[Rockspec format version, such as "1.0" or "1.1"]:VER: '
+ '--tag=[Tag to use. Will attempt to extract version number from it]:TAG:__git_tag'
+ '--lib=[A comma-separated list of libraries that C files need to link to]:_luarocks_write_rockspec_lib'
+)
+_luarocks_write_rockspec_lib(){
+}
+# TODO
+_luarocks_version(){
+ _values -s ,
+}
--
2.17.0
Messages sorted by:
Reverse Date,
Date,
Thread,
Author