Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Lua API for getopt similar to getopt_long(3)
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
lua_altgetopt is a MIT-licenced module for Lua programming language for processing application's arguments the same way BSD/GNU getopt_long(3) functions do. Main features and goals: 1) compatibility to SUS "Utility Syntax Guidelines" http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_02 guidelines 3-13. 2) This module is for plain Lua 2) No extra dependencies 3) No hooks, no functional tricks ;-) 4) Support for long options, e.g. compatibility with getopt_long(3) C function present in *BSD and GNU libc. 5) Long options may optionally have one-char synonym or other long synonym 6) Strict error checking (checks for an incorrect use of options) 7) alt_getopt.lua is a Lua module. In particular alt_getopt.lua supports the following -kVALUE, -k VALUE, --key=VALUE, --key VALUE, -abcd is equivalent to -a -b -c -d if neither of them accept value. All options must be declared as accepting value or not. Two ways of options handling are provided. See alt_getopt application which is a part of regression tests. Makefile: It's probably useless for end users, you can copy alt_getopt.lua to the destination yourself. Otherwise use BSD make, NetBSD make is preferred because NetBSD is my development platform. If 'make test' fails on your platform/Lua, please let me know. If you find a a bug, register it here https://github.com/cheusov/lua-alt-getopt/issues or send me bugreport directly. Author: Aleksey Cheusov <firstname.lastname@example.org>