diff options
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/main.ml | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/main.ml b/bin/main.ml index 573f190..141f016 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -336,6 +336,17 @@ let readings_report y = resolved_year_report ~line:readings_line y pager or grepped); being invoked wrongly is an error, so [usage] prints a one-liner to stderr and exits 2, keeping stdout clean for whatever the caller was really trying to capture. *) +(* Kept in lockstep with dune-project's own [(version ...)] by `make release`, + which bumps BOTH and refuses to proceed if either edit did not take. Two + places rather than one because dune's watermarking (`dune subst`) only + substitutes in a release tarball, not in a plain `dune build` from a + checkout, so a binary built the ordinary way would report a placeholder. + A constant edited by the release target is what lectio does too, for the + same reason. Deliberately NOT embedded in [help_text]: the cram test pins + help's first line, and a version in it would make every release edit a + test expectation for no gain. *) +let version = "0.1.0" + let help_text = {|colitur -- deterministic liturgical calendar engine (Roman rite, 1962) @@ -345,6 +356,7 @@ usage: colitur day <year> the resolved day identity, one line per day colitur readings <year> the Mass reading citations, one line per day colitur -h, --help this help + colitur -V, --version print the version and exit <year> is a civil year, 1583..9999 inclusive. Each report covers 1 January to 31 December of that year, not a liturgical year. @@ -394,6 +406,9 @@ let with_year ys f = let () = match Sys.argv with | [| _; ("-h" | "--help" | "help") |] -> print_help () + | [| _; ("-V" | "--version" | "version") |] -> + print_endline version; + exit 0 | [| _; "easter"; ys |] -> with_year ys easter_report | [| _; "temporal"; ys |] -> with_year ys temporal_report | [| _; "day"; ys |] -> with_year ys day_report |
