John Kerl
af1adf80ad
Replace GOCC parser-generator with PGPG ( #2015 )
...
* Porting
* Update some tests that depend on AST-print output
* iterating on GOCC -> PGPG
* iterating
* iterating
* iterating
* iterating
* iterating
* Modify expout files that need only AST-print-syntax updates
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* sync test cases from mlr-6.17.0, except AST-prints ...
* sync test cases from mlr-6.17.0, except AST-prints ...
* Fix lashed emit for $* and @*
* Fix --1 and ++1 chained unary ops
* Emit with function callsite
* test cases
* dot operator
* M_PI and M_E
* Iterating on lashed emit cases
* error-wording differences
* rm some should-fail files
* Fix issue with leading semicolon
* trailing comma in func params; most AST-print deltas
* error-wording delta
* fix unset all
* AST-print deltas
* go mod tidy: forced `go 1.25` to `go 1.25.0`
* Depend on PGPG v1.0.0
* Fix Windows CI failure
* Remove cmd/experiments/dsl_parser
* GOCC -> PGPG
* neaten
* Fix regex issue found in doc gen
2026-03-15 22:28:57 -04:00
John Kerl
f8a8f29584
Experiment with mlr script ( #2009 )
2026-03-05 20:14:32 -05:00
John Kerl
d0079a9dac
Simplify positional-indexing syntax in mlr.bnf; push logic to .go source ( #2008 )
...
* Move `$[[...]]` and `$[[[...]]]` out of the grammar and into Go
* Update pkg/parsing/mlr.bnf
* Update Go source
* update test files
* Fix NPE
* .gitignore
* more
2026-03-04 21:48:09 -05:00
John Kerl
ed84aeb300
yet more staticcheck
2026-03-03 10:17:01 -05:00
John Kerl
718ec1685a
More staticcheck fixes ( #2007 )
...
* more staticcheck
* more staticcheck
2026-03-03 10:07:12 -05:00
John Kerl
761b46219c
Some fixes for staticcheck ( #2006 )
...
* Implement some staticcheck fixes
* make fmt
* more
* more staticcheck
2026-03-03 09:27:03 -05:00
John Kerl
ed0ae66ac2
Fix #1998 ( #2005 )
2026-03-02 23:49:31 -05:00
John Kerl
56add7d1f0
Fix #1784 : inconsistent mapexcept behavior ( #2004 )
...
* Fix #1784
* test/cases/dsl-mapsum-mapdiff-mapexcept/0033/
2026-03-02 23:41:32 -05:00
John Kerl
5f14dbc752
Add LRU-caching for split ( #2003 )
2026-03-02 23:31:44 -05:00
John Kerl
102c624cee
Add DKVPX file format ( #2002 )
...
* Initial DKVPX parser
* pkg/input/record_reader_dkvpx*go
* pkg/output/record_writer_dkvpx.go
* docs update
* make fmt
* perf note
2026-03-02 22:35:08 -05:00
Balki
de31cb1fc8
Add fixed width support for pprint reader ( #1999 )
...
* Add fixed width support for pprint reader
* fix windows fail
* fix windows fail 2
2026-03-01 11:25:17 -05:00
John Kerl
f60314daaf
Update performance docs ( #1991 )
...
* Organize perf-stats runs
* reorg
* scripts/perf/timings-2026-02-22.txt
* iterating
* iterating
* more
* .gitignore
* more
* link checks
2026-02-22 17:04:35 -05:00
Balki
d9ee24460c
Add unicode printing support for barred output ( #1984 )
2026-02-21 23:15:03 -05:00
John Kerl
47ca5eb88a
Post-6.17.0
2026-02-21 09:40:15 -05:00
John Kerl
dc00aa3e16
Miller 6.17.0
2026-02-21 09:16:55 -05:00
John Kerl
8d85b46404
Follow-up for #1981 ( #1982 )
2026-02-18 10:25:21 -05:00
Stephen Kitt
f0a7c5832f
Performance and style fixes ( #1981 )
...
* Switch to integer ranges in for loops
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Switch to slices functions where appropriate
A number of utility functions can be replaced outright; since Miller
can technically be used as a library, these are deprecated rather than
removed. go:fix directives ensure that they can be replaced
automatically.
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Switch to reflect.TypeFor
This is slightly more efficient than TypeOf when the type is known at
compile time.
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Switch to strings.SplitSeq instead of strings.Split
SplitSeq results in fewer allocations.
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Drop obsolete build directives
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Use min/max instead of explicit comparisons
Signed-off-by: Stephen Kitt <steve@sk2.org>
* Append slices instead of looping
Signed-off-by: Stephen Kitt <steve@sk2.org>
---------
Signed-off-by: Stephen Kitt <steve@sk2.org>
2026-02-18 09:19:31 -05:00
John Kerl
e8c4187e67
Fix: mlr -i nonesuch cat says mlr: empty IRS ( #1980 )
...
* Fix: `mlr -i nonesuch cat` says `mlr: empty IRS`
* fix experr
2026-02-17 15:30:28 -05:00
John Kerl
1f459824f0
Handle control-C in mlr repl ( #1977 )
2026-02-16 17:17:30 -05:00
John Kerl
45d2104771
No exit from mlr repl when function is not found ( #1976 )
2026-02-16 17:07:22 -05:00
John Kerl
e1346691da
Improve error propagation ( #1975 )
2026-02-16 16:48:41 -05:00
John Kerl
5eb40c9e7b
Multiple style updates ( #1974 )
...
* Comment style
* IRecordTransformer -> RecordTransfomer
* make fmt
* else-return style mod
* snake-case -> camel-case
* Remove redundant err = nil and similar zero-value initializations.
* redundant break;
* bugfix
* neaten
* typofix
* simplify/standardize init of zero-length slices
* Standardize fmt.Fprintf w/ errors
* fix double print of "mlr:"
* neatening
* Uniformize error messages
* make docs
* avoid shadowing package names
* shorten some receiver names
2026-02-16 15:49:21 -05:00
John Kerl
a3b5d25933
Neaten some comments ( #1973 )
...
* comment-neaten
* comment-neaten
* more
2026-02-16 13:38:49 -05:00
John Kerl
daae7ff7f0
Add DCF (Debian Control Format) as supported file type ( #1970 )
...
* reader
* record writer
* pkg/output/record_writer_dcf.go
* test/input/test.dcf
* test/cases/io-dcf/
* pkg/cli/option_parse.go
* make fmt
* make dev
* docs and `make dev`
2026-02-16 11:10:39 -05:00
John Kerl
6894ad3d56
Improve parsing of variable-length fractional seconds using strptime ( #1968 )
2026-02-15 16:43:44 -05:00
John Kerl
9399de5f6c
Fix strptime with zero-padded and non-zero-padded months/days ( #1967 )
...
* new test input
* first pass
* more tests
* iterating
* make fmt
2026-02-15 15:29:08 -05:00
John Kerl
271e558d4b
Fix bug with both %f and %z in strptime ( #1966 )
2026-02-15 14:51:42 -05:00
John Kerl
f375440bd4
Support YAML I/O ( #1963 )
...
* docs/src/proposal-yaml-io.md
* initial step
* Add `--y2c` etc
* test cases
* docs
* more testing
* more
* more test cases
* git rm docs/src/proposal-yaml-io.md
* make dev
* ylistwrap -> yarray
2026-02-15 09:24:38 -05:00
John Kerl
0003b83654
mlr split with --folder (#1962 )
2026-02-14 20:22:24 -05:00
John Kerl
26600f77aa
Add -r (for regex field-name matching) to mlr nest ( #1961 )
...
* initial attempt
* fix up cli flag
* make dev
2026-02-14 19:59:51 -05:00
John Kerl
5e0114e0cf
mlr reorder -r (#1960 )
...
* `mlr reorder -r`
* fix
* update test/cases/cli-help/
* make dev
2026-02-14 19:40:20 -05:00
John Kerl
7271fb9de3
Format Go bits within mlr.bnf ( #1955 )
...
* step
* step
* step
* step
* step
* step
* step
* whitespace
* programmatic reformat
* BNF-formatter automation
* run tools/build-dsl
2026-02-07 15:45:48 -05:00
John Kerl
7a1943acdb
Resolve a few to-do comments in the source code ( #1951 )
...
* Resolve a few to-do comments in the source code
* more
* more
2026-02-01 18:14:20 -05:00
John Kerl
7da6f1453d
Replace list.List with Go slices ( #1950 )
...
* Add .vscode to .gitignore
* Replace `list.List` with slices
2026-02-01 17:22:28 -05:00
John Kerl
0f7f415974
Some performance tweaks ( #1949 )
2026-02-01 16:26:27 -05:00
John Kerl
e143857b70
Genericize lib.OrderedMap ( #1948 )
2026-02-01 16:08:43 -05:00
John Kerl
143ff7e20d
Deadstrip ( #1947 )
2026-02-01 15:44:08 -05:00
John Kerl
ced5e43065
Simplify the internal AST API ( #1946 )
...
* Simplify the internal AST API
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating
* iterating, bisecting
* mlr.bnf neatens
* update old/experimental .bnf files
* More AST method-name changes
2026-02-01 15:15:49 -05:00
John Kerl
18e5204513
Require that filter expressions be boolean (or absent) ( #1935 )
...
* Insist that filter expressions be boolean
* docs
2026-02-01 12:36:38 -05:00
John Kerl
96f13b6618
Internal function-name update
2026-01-31 16:35:30 -05:00
John Kerl
eb972e19eb
Use GOCC fork for performance improvement ( #1934 )
...
* Use GOCC fork for performance improvement
* fix versions
2026-01-10 16:48:53 -05:00
John Kerl
b8db798a2f
Miller 6.16.0 ( #1930 )
...
* Miller 6.16.0
* make dev
2026-01-02 13:57:59 -05:00
John Kerl
3b9f169162
Support -o jsonl as well as --ojsonl ( #1879 )
...
* `mlr sort -b` feature
* mlr regtest -p test/cases/cli-help && make dev
* Support `-o jsonl` as well as `--ojsonl`
2025-09-02 16:47:19 -04:00
Andrea Borruso
120e977c1e
Update subs.go ( #1868 )
...
If I read “Convert all field names,” I think the verb acts on the field names. I think it would be better to write “Convert all fields.”
2025-08-20 10:11:34 -07:00
John Kerl
3c2d4b22d2
Miller 6.15.0-dev ( #1862 )
...
* 6.15.0-dev
* make dev
2025-08-15 19:55:46 -04:00
John Kerl
d2925aafe5
error-handling in the CSV-reader's constructor
2025-08-15 19:52:37 -04:00
John Kerl
4d83e88ff6
Note that comment prefix for CSV must be single-character
2025-08-15 19:45:18 -04:00
John Kerl
4ebef873d2
Miller 6.15.0 ( #1860 )
...
* miller 6.15.0
* make dev
2025-08-14 18:00:22 -04:00
John Kerl
06e16ea3ee
Don't parse CSV comments ( #1859 )
...
* `mlr sort -b` feature
* mlr regtest -p test/cases/cli-help && make dev
* Don't parse CSV comments
* Add tests for PR 1346
* Add tests for PR 1787
* Add test CSV files
2025-08-13 18:07:32 -04:00
John Kerl
19e72f9dac
Preserve file mods on mlr -I ( #1849 )
...
* extract a helper function
* Preserve file mode on mlr -I
2025-08-05 18:11:27 -05:00