miller/internal/pkg/cli
John Kerl 7a97c9b868
Performance improvement by JIT type inference (#786)
* JIT mlrval type-interfence: mlrval package

* mlrmap refactor

* complete merge from #779

* iterating

* mlrval/format.go

* mlrval/copy.go

* bifs/arithmetic_test.go

* iterate on bifs/collections_test.go

* mlrval_cmp.go

* mlrval JSON iterate

* iterate applying mlrval refactors to dependent packages

* first clean compile in a long while on this branch

* results of first post-compile profiling

* testing

* bugfix in ofmt formatting

* bugfix in octal-supporess

* go fmt

* neaten

* regression tests all passing
2021-12-20 23:56:04 -05:00
..
doc.go Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
flag_types.go Approximate-match feature for online help (#754) 2021-11-17 23:37:48 -05:00
flatten_unflatten.go Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
mlrcli_util.go Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
option_parse.go Performance improvement by JIT type inference (#786) 2021-12-20 23:56:04 -05:00
option_types.go Performance improvement: record-batching (#779) 2021-12-13 00:57:52 -05:00
README.md Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
separators.go Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
verb_utils.go More Go-package restructuring (#748) 2021-11-12 12:49:55 -05:00

Datatypes for parsing the Miller command line, and the flags table.

  • internal/pkg/climain 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 transformer chain of put then filter, and a JSON record-writer.
  • internal/pkg/cli contains datatypes and the flags table for the CLI-parser, which was split out to avoid a Go package-import cycle.