miller/pkg
John Kerl 19e772d0e6 Add --infer-true/--infer-false for user-defined boolean strings (#1651)
By default Miller does not infer booleans from data files: "true" and
"false" (let alone "True", "yes", "on", etc.) are read as strings. This
adds opt-in flags letting users specify exactly which field values
should be inferred as boolean true/false when read from data files:

  mlr --infer-true True,yes,on --infer-false False,no,off ...

Details:

* Matching is exact and case-sensitive; unlisted values are unaffected.
* As with ints and floats, the original string representation is
  retained for non-JSON output, so CSV/TSV/etc. round-trip unchanged.
* JSON output emits canonical true/false (fixed marshalJSONBool to use
  the underlying boolean rather than the retained string, which would
  otherwise produce invalid JSON for e.g. "yes").
* Works with the -O and -A inference variants; -S (no inference)
  bypasses it, as it bypasses all other type inference.
* Works from .mlrrc as infer-true/infer-false, like any other flag.

Includes unit tests, regression-test cases under
test/cases/io-infer-flags/, and doc updates (reference-main-data-types,
regenerated flag list and man pages).

Addresses #1651.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 09:46:03 -04:00
..
auxents Lint round 5+6: staticcheck and errcheck to zero (#2130) 2026-07-03 11:42:08 -04:00
bifs Support %a %A %e %h %c %x %X in strptime (#1518) (#2179) 2026-07-08 16:42:03 -04:00
cli Add --infer-true/--infer-false for user-defined boolean strings (#1651) 2026-07-14 09:46:03 -04:00
climain Add DSL validate/dry-run: put/filter --explain (#2098 PR5) (#2131) 2026-07-03 18:12:23 -04:00
colorizer Strip dead code from pkg/ (#2121) 2026-07-01 19:32:13 -04:00
dkvpx DKVPX reader: honor --ifs and --ips instead of hard-coding comma and equals (#2172) 2026-07-06 17:37:07 -04:00
dsl Add sparkline DSL function and mlr sparkline verb (#166) (#2177) 2026-07-07 15:47:01 -04:00
entrypoint Add mlr mcp MCP server + agent playbook, with a --no-shell gate (#2098 PR7) (#2133) 2026-07-03 19:41:49 -04:00
go-csv Some fixes for staticcheck (#2006) 2026-03-03 09:27:03 -05:00
input DKVPX reader: honor --ifs and --ips instead of hard-coding comma and equals (#2172) 2026-07-06 17:37:07 -04:00
lib Add mlr mcp MCP server + agent playbook, with a --no-shell gate (#2098 PR7) (#2133) 2026-07-03 19:41:49 -04:00
mlrval Add --infer-true/--infer-false for user-defined boolean strings (#1651) 2026-07-14 09:46:03 -04:00
output DKVPX reader: honor --ifs and --ips instead of hard-coding comma and equals (#2172) 2026-07-06 17:37:07 -04:00
parsing Add a first-class bytes type to the DSL, with b"..." literals and base64/hex codecs (#2122) 2026-07-03 11:58:44 -04:00
pbnjay-strptime Support %a %A %e %h %c %x %X in strptime (#1518) (#2179) 2026-07-08 16:42:03 -04:00
platform Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
runtime Lint round 5+6: staticcheck and errcheck to zero (#2130) 2026-07-03 11:42:08 -04:00
scan Strip dead code from pkg/ (#2121) 2026-07-01 19:32:13 -04:00
stream Lint round 5+6: staticcheck and errcheck to zero (#2130) 2026-07-03 11:42:08 -04:00
terminals More AI skill/MCP docs (#2140) 2026-07-04 14:45:29 -04:00
transformers Add mlr rank verb (#2178) 2026-07-07 17:35:18 -04:00
types Strip dead code from pkg/ (#2121) 2026-07-01 19:32:13 -04:00
version Post-6.20.2 release: back to 6.20.2-dev 2026-07-04 15:44:14 -04:00
README.md Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00

Please see ../../README-dev.md for an overview; please see each subdirectory for details about it.