zsh-workers
 help / color / mirror / code / Atom feed
From: doron.behar@gmail.com
To: zsh-workers@zsh.org
Subject: [PATCH 03/25] Add marker style comments.
Date: Sat, 26 May 2018 18:06:12 +0300	[thread overview]
Message-ID: <20180526150634.15683-4-doron.behar@gmail.com> (raw)
In-Reply-To: <20180526150634.15683-1-doron.behar@gmail.com>

From: Doron Behar <doron.behar@gmail.com>

---
 Completion/Unix/Command/_luarocks | 92 +++++++++++++++++--------------
 1 file changed, 51 insertions(+), 41 deletions(-)

diff --git a/Completion/Unix/Command/_luarocks b/Completion/Unix/Command/_luarocks
index 6d5cb35bd..bb5588251 100644
--- a/Completion/Unix/Command/_luarocks
+++ b/Completion/Unix/Command/_luarocks
@@ -1,5 +1,6 @@
 #compdef luarocks
 
+# {{{ General options
 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'
@@ -9,7 +10,8 @@ local general_options=(
 	'--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>] 
+# }}}
+# {{{ All commands
 local commands=(
 	'build[Build/compile a rock]'
 	'config[Query information about the LuaRocks configuration]'
@@ -31,8 +33,8 @@ local commands=(
 	'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
+# }}}
+# {{{ `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]'
@@ -53,8 +55,8 @@ _luarocks_build_deps_mode(){
 	)
 	_describe 'dependencies mode' modes
 }
-
-# `config` command sets a flag in the format VAR=VALUE
+# }}}
+# {{{ `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]'
@@ -63,44 +65,44 @@ local config_command_options=(
 	'--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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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:'
 )
-
-# `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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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]'
@@ -108,31 +110,30 @@ local path_command_options=(
 	'--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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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()]'
@@ -142,21 +143,20 @@ local show_command_options=(
 	'--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
+# }}}
+# {{{ `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
+# }}}
+# {{{ `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
-
+# }}}
+# {{{ `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"}'
@@ -174,3 +174,13 @@ _luarocks_write_rockspec_lib(){
 _luarocks_version(){
 	_values -s , 
 }
+# }}}
+
+# {{{ Helpers
+_luarocks_commands(){
+	_describe 'command' commands
+}
+# }}}
+
+# The real thing
+_arguments "${general_options[@]}" '*:COMMAND:_luarocks_commands'
-- 
2.17.0


  parent reply	other threads:[~2018-05-26 15:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-26 15:06 [PATCH 00/25] *** Add completion for luarocks *** doron.behar
2018-05-26 15:06 ` [PATCH 01/25] Add variables for all commands and options doron.behar
2018-05-26 15:06 ` [PATCH 02/25] Remove architecture related option completion doron.behar
2018-05-26 15:06 ` doron.behar [this message]
2018-05-26 15:06 ` [PATCH 04/25] Remove variables and use their contents directly doron.behar
2018-05-26 15:06 ` [PATCH 05/25] Add curcontext case for every subcommand doron.behar
2018-05-26 15:06 ` [PATCH 06/25] Use better naming scheme for common helpers doron.behar
2018-05-26 15:06 ` [PATCH 07/25] Write better sub commands comments doron.behar
2018-05-26 15:06 ` [PATCH 08/25] Add helpers section doron.behar
2018-05-26 15:06 ` [PATCH 09/25] Make *all* helpers functions begin with __luarocks doron.behar
2018-05-26 15:06 ` [PATCH 10/25] Write all simple sub commands completions doron.behar
2018-05-26 15:06 ` [PATCH 11/25] General internal conventions sync doron.behar
2018-05-26 15:06 ` [PATCH 12/25] Finish helper `__luarocks_lua_versions` doron.behar
2018-05-26 15:06 ` [PATCH 13/25] General cleanup doron.behar
2018-05-26 15:06 ` [PATCH 14/25] Finish `_luarocks_doc` and `_luarocks_config` doron.behar
2018-05-26 15:06 ` [PATCH 15/25] Expand __luarocks_rock_version so it accpets args doron.behar
2018-05-26 15:06 ` [PATCH 16/25] Finish completions for purge and new_version doron.behar
2018-05-26 15:06 ` [PATCH 17/25] Write a better comment for last TODO doron.behar
2018-05-26 15:06 ` [PATCH 18/25] Make cache policy function safer doron.behar
2018-05-26 15:06 ` [PATCH 19/25] Fix git tag completion by autoloading _git doron.behar
2018-05-26 15:06 ` [PATCH 20/25] Use a generic sub command completer doron.behar
2018-05-26 15:06 ` [PATCH 21/25] Use 2 spaces instead of tabs doron.behar
2018-05-26 15:06 ` [PATCH 22/25] Use +functions[] for all helpers doron.behar
2018-05-26 15:06 ` [PATCH 23/25] Improve `___luarocks_installed_rocks_cache_policy` doron.behar
2018-05-26 15:06 ` [PATCH 24/25] Consider `--tree` when searching installed rocks doron.behar
2018-05-26 15:06 ` [PATCH 25/25] Consider `--tree` in versions completion doron.behar
2018-05-26 15:37 ` [PATCH 00/25] *** Add completion for luarocks *** Eitan Adler
2018-05-26 16:09   ` Doron Behar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180526150634.15683-4-doron.behar@gmail.com \
    --to=doron.behar@gmail.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).