# 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:

  - file string filename
  - opt string same as second parameter of io.open (optional)
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. '<ival> (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