diff options
| author | EuAndreh <eu@euandre.org> | 2026-06-12 09:19:28 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2026-06-12 09:19:28 -0300 |
| commit | 46fd0362bce11d709e5efe6d540358533985d363 (patch) | |
| tree | f77d2ed33c4f3fb6e85353e436efca4e19028f73 /deps.mk | |
| parent | rm .tdrc COPYING (diff) | |
| download | remembering-46fd0362bce11d709e5efe6d540358533985d363.tar.gz remembering-46fd0362bce11d709e5efe6d540358533985d363.tar.xz | |
Rewrite remembering in Go
The shell pipeline (sed | sort | tee | awk | sort | cut | "$@"
plus the cut | uniq | awk profile rewrite) becomes a single static
binary with the same observable behaviour, pinned by the original
ranking.sh, signals.sh and cli-opts.sh suites, now aimed at
remembering.bin:
- the profile keeps the exact on-disk format, COUNT profile TEXT,
byte-sorted with new picks appended at 1 and offered-but-never-
picked entries persisted at 0;
- the menu stays count-descending with byte-order ties, stdin
alone defines what is offered, and duplicate profile lines sum
for ranking but collapse to the highest count on rewrite, as
sort | uniq -f1 did;
- the wrapped command's exit status is forwarded as-is (128+sig
for signal deaths), its stderr passes through, and an empty pick
learns nothing;
- the profile rewrite stays atomic via .tmp plus rename.
Per the house CLI conventions, -h/-V/--help/--version are gone
(the manpage is the documentation; bad options print the usage on
stderr and exit 2), and getopts-style attached option arguments
(-pNAME) are not accepted any more --- no script in the wild used
them.
The project layout follows rot: raw go tool compile/link Makefile,
mkdeps.sh-generated deps.mk, white-box unit suite, fuzz target
over the profile parse/serialize roundtrip, functional pick
roundtrip, a 1M-line ranking benchmark, and a single English
asciidoc manpage absorbing the old .5 page; the po4a/aux release
machinery goes away.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'deps.mk')
| -rw-r--r-- | deps.mk | 60 |
1 files changed, 60 insertions, 0 deletions
@@ -0,0 +1,60 @@ +libs.go = \ + src/remembering.go \ + tests/benchmarks/ranking-throughput/remembering.go \ + tests/functional/pick-roundtrip/remembering.go \ + tests/fuzz/profile/remembering.go \ + tests/remembering.go \ + +mains.go = \ + src/main.go \ + tests/benchmarks/ranking-throughput/main.go \ + tests/functional/pick-roundtrip/main.go \ + tests/fuzz/profile/main.go \ + tests/main.go \ + +manpages.adoc = \ + doc/remembering.en.1.adoc \ + +functional/lib.go = \ + tests/functional/pick-roundtrip/remembering.go \ + +functional/main.go = \ + tests/functional/pick-roundtrip/main.go \ + +fuzz/lib.go = \ + tests/fuzz/profile/remembering.go \ + +fuzz/main.go = \ + tests/fuzz/profile/main.go \ + +benchmarks/lib.go = \ + tests/benchmarks/ranking-throughput/remembering.go \ + +benchmarks/main.go = \ + tests/benchmarks/ranking-throughput/main.go \ + +src/main.a: src/main.go +src/remembering.a: src/remembering.go +tests/benchmarks/ranking-throughput/main.a: tests/benchmarks/ranking-throughput/main.go +tests/benchmarks/ranking-throughput/remembering.a: tests/benchmarks/ranking-throughput/remembering.go +tests/functional/pick-roundtrip/main.a: tests/functional/pick-roundtrip/main.go +tests/functional/pick-roundtrip/remembering.a: tests/functional/pick-roundtrip/remembering.go +tests/fuzz/profile/main.a: tests/fuzz/profile/main.go +tests/fuzz/profile/remembering.a: tests/fuzz/profile/remembering.go +tests/main.a: tests/main.go +tests/remembering.a: tests/remembering.go +src/main.bin: src/main.a +tests/benchmarks/ranking-throughput/main.bin: tests/benchmarks/ranking-throughput/main.a +tests/functional/pick-roundtrip/main.bin: tests/functional/pick-roundtrip/main.a +tests/fuzz/profile/main.bin: tests/fuzz/profile/main.a +tests/main.bin: tests/main.a +src/main.bin-check: src/main.bin +tests/benchmarks/ranking-throughput/main.bin-check: tests/benchmarks/ranking-throughput/main.bin +tests/functional/pick-roundtrip/main.bin-check: tests/functional/pick-roundtrip/main.bin +tests/fuzz/profile/main.bin-check: tests/fuzz/profile/main.bin +tests/main.bin-check: tests/main.bin +src/main.a: src/$(NAME).a +tests/benchmarks/ranking-throughput/main.a: tests/benchmarks/ranking-throughput/$(NAME).a +tests/functional/pick-roundtrip/main.a: tests/functional/pick-roundtrip/$(NAME).a +tests/fuzz/profile/main.a: tests/fuzz/profile/$(NAME).a +tests/main.a: tests/$(NAME).a |
