Module pl.lapp

Simple command-line parsing using human-readable specification.

Supports GNU-style parameters.

lapp = require 'pl.lapp'
local args = lapp [[
Does some calculations
  -o,--offset (default 0.0)  Offset to add to scaled number
  -s,--scale  (number)  Scaling factor
  <number> (number) Number to be scaled
]]

print(args.offset + args.scale * args.number)

Lines beginning with '-' are flags; there may be a short and a long name; lines beginning with '<var>' are arguments. Anything in parens after the flag/argument is either a default, a type name or a range constraint.

See the Guide

Dependencies: pl.sip

Functions

quit (msg, no_usage) quit this script immediately.
error (msg, no_usage) print an error to stderr and quit.
open (file[, opt]) open a file.
assert (condn, msg) quit if the condition is false.
add_type (name, converter[, constraint]) add a new type to Lapp.
process_options_string (str, args) process a Lapp options string.

Fields

show_usage_error controls whether to dump usage on error.


Functions

quit (msg, no_usage)
quit this script immediately.

Parameters:

  • msg string optional message
  • no_usage boolean suppress 'usage' display
error (msg, no_usage)
print an error to stderr and quit.

Parameters:

  • msg string a message
  • no_usage boolean suppress 'usage' display
open (file[, opt])
open a file. This will quit on error, and keep a list of file objects for later cleanup.

Parameters:

assert (condn, msg)
quit if the condition is false.

Parameters:

  • condn boolean a condition
  • msg string message text
add_type (name, converter[, constraint])
add a new type to Lapp. These appear in parens after the value like a range constraint, e.g. ' (integer) Process PID'

Parameters:

  • name string name of type
  • converter either a function to convert values, or a Lua type name.
  • constraint function optional function to verify values, should use lapp.error if failed. (optional)
process_options_string (str, args)
process a Lapp options string. Usually called as lapp().

Parameters:

  • str string the options text
  • args {string} a table of arguments (default is _G.arg)

Returns:

    a table with parameter-value pairs

Fields

show_usage_error
controls whether to dump usage on error. Defaults to true
generated by LDoc 1.5.0