From dae1e9da557dea5f07fc5c02f418c45a3b331d2a Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 2 Sep 2020 14:51:52 -0400 Subject: [PATCH] src/miller/cli/README.md --- go/src/miller/cli/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/go/src/miller/cli/README.md b/go/src/miller/cli/README.md index 4a2d1b799..55131b1a3 100644 --- a/go/src/miller/cli/README.md +++ b/go/src/miller/cli/README.md @@ -1,2 +1,3 @@ * `src/miller/cli` is the flag-parsing logic for supporting Miller's command-line interface. When you type something like `mlr --icsv --ojson put '$sum = $a + $b' then filter '$sum > 1000' myfile.csv`, it's the CLI parser which makes it possible for Miller to construct a CSV record-reader, a mapper chain of `put` then `filter`, and a JSON record-writer. * `src/miller/clitypes` contains datatypes for the CLI-parser, which was split out to avoid a Go package-import cycle. +* I don't use the Go [`flag`](https://golang.org/pkg/flag/) package here, although I do use it within the mappers' subcommand flag-handling. The `flag` package is quite fine; Miller's command-line processing is multi-purpose between serving CLI needs per se as well as for manpage/docfile generation, and I found it simplest to roll my own command-line handling here.