Skip to content
This repository has been archived by the owner on Nov 20, 2020. It is now read-only.
/ alt-getopt Public archive

Process application arguments the same way as getopt_long

Notifications You must be signed in to change notification settings

LuaDist/alt-getopt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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>