package minicli

  1. Overview
  2. Docs
Minimalist library for command line parsing

Install

Dune Dependency

Authors

Maintainers

Sources

v5.0.2.tar.gz
md5=4d251eafc27d8f667f6c13f890f17546

Description

minicli provides the CLI module. It allows programmers to quickly and correctly handle options passed via the command line to their program. minicli is intended at people who develop software fast, but who don't want to break things. minicli can throw a variety of informative exceptions to the end user, when the command line interface is not being used properly. So that, the end user has a good chance to correct himself before calling the software support team. Another design goal of minicli is to make command-line scientific programs harder to use incorrectly.

Published: 19 Nov 2019

README

Minicli

Minimalist OCaml library for command line parsing. Look into the test.ml file for usage examples/quickstart.

Example session with the test program

# _build/default/test.exe
usage:
_build/default/test.exe {-i|--input} <file> {-o|--output} <file> -n <int> -x <float> [-v] [--hi <string>]

# _build/default/test.exe -i
Fatal error: exception Minicli__CLI.No_param_for_option("-i")

# _build/default/test.exe -i input.txt
Fatal error: exception Minicli__CLI.Option_is_mandatory("-o")

# _build/default/test.exe -i input.txt -o output.txt
Fatal error: exception Minicli__CLI.Option_is_mandatory("-n")

# _build/default/test.exe -i input.txt -o output.txt -n /dev/null
Fatal error: exception Minicli__CLI.Not_an_int("/dev/null")

# _build/default/test.exe -i input.txt -o output.txt -n 123
Fatal error: exception Minicli__CLI.Option_is_mandatory("-x")

# _build/default/test.exe -i input.txt -o output.txt -n 123 -x /dev/null
Fatal error: exception Minicli__CLI.Not_a_float("/dev/null")

# _build/default/test.exe -i input.txt -o output.txt -n 123 -x 0.123
i: input.txt o: output.txt n: 123 x: 0.123000 v: false

# _build/default/test.exe -i input.txt -o output.txt -n 123 -x 0.123 -v
i: input.txt o: output.txt n: 123 x: 0.123000 v: true

# _build/default/test.exe -i input.txt -o output.txt -n 123 -x 0.123 -v -i input.bin
Fatal error: exception Minicli__CLI.More_than_once("-i, --input")

# _build/default/test.exe --toto titi -i input.txt -o output.txt -n 123 -x 0.123 -v -y 42
Fatal error: exception Minicli__CLI.Unused_options("--toto,-y")

Bibliography

Stephenson, N. (1999). In the beginning... was the command line. New York: Avon books.

Dependencies (2)

  1. dune >= "1.6"
  2. ocaml

Dev Dependencies

None

Conflicts

None