ProductPromotion
Logo

Lua

made by https://0x3d.site

GitHub - mpeterv/argparse: Feature-rich command line parser for Lua
Feature-rich command line parser for Lua. Contribute to mpeterv/argparse development by creating an account on GitHub.
Visit Site

GitHub - mpeterv/argparse: Feature-rich command line parser for Lua

GitHub - mpeterv/argparse: Feature-rich command line parser for Lua

argparse

Build Status Coverage status

Argparse is a feature-rich command line parser for Lua inspired by argparse for Python.

Argparse supports positional arguments, options, flags, optional arguments, subcommands and more. Argparse automatically generates usage, help and error messages.

Contents

Example

Simple example:

-- script.lua
local argparse = require "argparse"

local parser = argparse("script", "An example.")
parser:argument("input", "Input file.")
parser:option("-o --output", "Output file.", "a.out")
parser:option("-I --include", "Include locations."):count("*")

local args = parser:parse()

args contents depending on command line arguments:

$ lua script.lua foo
{
   input = "foo",
   output = "a.out",
   include = {}
}
$ lua script.lua foo -I/usr/local/include -Isrc -o bar
{
   input = "foo",
   output = "bar",
   include = {"/usr/local/include", "src"}
}

Error messages depending on command line arguments:

$ lua script.lua foo bar
Usage: script [-o <output>] [-I <include>] [-h] <input>

Error: too many arguments
$ lua script.lua --help
Usage: script [-o <output>] [-I <include>] [-h] <input>

An example. 

Arguments: 
   input                 Input file.

Options: 
   -o <output>, --output <output>
                         Output file. (default: a.out)
   -I <include>, --include <include>
                         Include locations.
   -h, --help            Show this help message and exit.
$ lua script.lua foo --outptu=bar
Usage: script [-o <output>] [-I <include>] [-h] <input>

Error: unknown option '--outptu'
Did you mean '--output'?

Installation

Using LuaRocks

Installing argparse using LuaRocks is simple:

$ luarocks install argparse

Without LuaRocks

Download src/argparse.lua file and put it into the directory for Lua libraries or your working directory.

Tutorial

The tutorial is available online. If argparse has been installed using LuaRocks 2.1.2 or later, it can be viewed using luarocks doc argparse command.

Tutorial HTML files can be built using Sphinx: sphinx-build docsrc doc, the files will be found inside doc/.

Testing

argparse comes with a testing suite located in spec directory. busted is required for testing, it can be installed using LuaRocks. Run the tests using busted command from the argparse folder.

License

argparse is licensed under the same terms as Lua itself (MIT license).

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory