Skip to content

UnixJunkie/minicli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aad31fe · Oct 7, 2020

History

45 Commits
Jun 20, 2019
Dec 11, 2018
Aug 15, 2017
Dec 11, 2018
Oct 7, 2020
Dec 11, 2018
Nov 15, 2019
Nov 15, 2019
Dec 11, 2018
Dec 11, 2018
Dec 11, 2018
Jun 20, 2019

Repository files navigation

Minicli

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

"Minicli: because the UNIX command-line is to the computer scientist what latin and greek are to the linguist"

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.