summaryrefslogtreecommitdiff
path: root/support/lualibs/lua-alt-getopt/README
blob: 91131baa030ed8367e67b13833ef68e219b2c07e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
http://luaforge.net/project/lua_altgetopt
or send me bugreport directly.

Author: Aleksey Cheusov <vle@gmx.net>