summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2026-06-12 09:19:28 -0300
committerEuAndreh <eu@euandre.org>2026-06-12 09:19:28 -0300
commit46fd0362bce11d709e5efe6d540358533985d363 (patch)
treef77d2ed33c4f3fb6e85353e436efca4e19028f73 /README.md
parentrm .tdrc COPYING (diff)
downloadremembering-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 'README.md')
-rw-r--r--README.md148
1 files changed, 0 insertions, 148 deletions
diff --git a/README.md b/README.md
deleted file mode 100644
index a44abf6..0000000
--- a/README.md
+++ /dev/null
@@ -1,148 +0,0 @@
-# remembering
-
-[pt][pt1] | [fr][fr1] | [eo][eo1]
-
-[pt1]: https://euandreh.xyz/remembering/pt/
-[fr1]: https://euandreh.xyz/remembering/fr/
-[eo1]: https://euandreh.xyz/remembering/eo/
-
-Add memory to [`dmenu`][dmenu], [`fzf`][fzf] and similar tools.
-
-It can wrap such tools to accumulate preferences over time, and
-re-arrange the input according to common picks.
-
-
-## Usage
-
-Replace:
-```shell
-$ ls | fzf
-```
-
-with:
-```shell
-$ ls | remembering -p fzf-sample -c fzf
-```
-
-and see your previous choices from `fzf` start to appear at the beginning of the list.
-
-Similar to [`yeganesh`][yeganesh], but with no build-time or run-time dependencies, and not coupled with `dmenu`.
-
-[dmenu]: https://tools.suckless.org/dmenu/
-[fzf]: https://github.com/junegunn/fzf
-[yeganesh]: http://dmwit.com/yeganesh/
-
-
-## Installation
-
-```shell
-$ make
-$ make check
-# make install
-```
-
-You can pass `PREFIX` or `DESTDIR` to `make`:
-
-```shell
-$ make
-$ make check
-$ make install PREFIX=$HOME/.local
-```
-
-There are no dependencies or requirements, only standard tools such as
-POSIX sed, POSIX make, etc.
-
-
-## Documentation
-
-### Manuals
-
-The documentation is available via installed manpages or online:
-- [`remembering.1`] ([pt][pt.1], [fr][fr.1], [eo][eo.1]);
-- [`remembering.5`] ([pt][pt.5], [fr][fr.5], [eo][eo.5]).
-
-[`remembering.1`]: https://euandreh.xyz/remembering/en/remembering.1.html
-[pt.1]: https://euandreh.xyz/remembering/pt/remembering.1.html
-[fr.1]: https://euandreh.xyz/remembering/fr/remembering.1.html
-[eo.1]: https://euandreh.xyz/remembering/eo/remembering.1.html
-[`remembering.5`]: https://euandreh.xyz/remembering/en/remembering.5.html
-[pt.5]: https://euandreh.xyz/remembering/pt/remembering.5.html
-[fr.5]: https://euandreh.xyz/remembering/fr/remembering.5.html
-[eo.5]: https://euandreh.xyz/remembering/eo/remembering.5.html
-
-### Directory structure
-
-The directory structure of the repository is:
-- `aux/`: personal scripts and helpers I've vendored in to ensure the
- repository is self contained, feel free to ignore it;
-- `doc/`: manpages, with their translated versions;
-- `po/`: gettext `.po` files for the translated languages and hunspell
- dictionaries for spell checking;
-- `src/`: main source code for the project;
-- `tests/`: integration tests for the project.
-
-
-## Contributing
-
-Extra tools used for development are:
-- [Valgrind] for memory testing;
-- [ShellCheck] for validating scripts;
-- [po4a], [mdpo] and [gettext] for i18n and l10n support;
-- [makefile2graph] and [graphviz] for generating [makefile.svg];
-- [pandoc] for generating the documentation HTML and website.
-
-[Valgrind]: https://valgrind.org
-[ShellCheck]: https://www.shellcheck.net/
-[po4a]: https://po4a.org/index.php.en
-[gettext]: https://www.gnu.org/software/gettext/
-[pandoc]: https://pandoc.org/
-[mdpo]: https://mdpo.readthedocs.io/en/master/
-[makefile2graph]: https://github.com/lindenb/makefile2graph
-[graphviz]: https://graphviz.org/
-[makefile.svg]: https://euandreh.xyz/git-permalink/makefile.svg
-
-For running the extra development-only checks, run:
-
-```shell
-$ make dev-check
-```
-
-and for generating the documentation HTML and website, run:
-
-```shell
-$ make public
-```
-
-Send contributions to the [mailing list] via
-[`git send-email`](https://git-send-email.io/).
-
-
-## Links
-
-- [homepage](https://euandre.org/s/remembering/en/)
-- [source code](https://euandre.org/git/remembering/)
-- [bug tracking](https://euandre.org/s/remembering/TODOs.html)
-- [mailing list]
-- [CI logs](https://euandre.org/s/remembering/ci/)
-- [CHANGELOG](https://euandre.org/s/remembering/en/CHANGELOG.html)
-
-[mailing list]: https://lists.sr.ht/~euandreh/public-inbox?search=%5Bremembering%5D
-
-
-## Releases
-
-- [v0.3.0](https://euandre.org/git/remembering/commit/?id=v0.3.0) [remembering-v0.3.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.3.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.3.0.tar.gz.asc)) - 2022-11-25
-- [v0.2.1](https://euandre.org/git/remembering/commit/?id=v0.2.1) [remembering-v0.2.1.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.2.1.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.2.1.tar.gz.asc)) - 2021-02-23
-- [v0.2.0](https://euandre.org/git/remembering/commit/?id=v0.2.0) [remembering-v0.2.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.2.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.2.0.tar.gz.asc)) - 2021-02-21
-- [v0.1.2](https://euandre.org/git/remembering/commit/?id=v0.1.2) [remembering-v0.1.2.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.gz.asc)) - 2021-01-26
-- [v0.1.1](https://euandre.org/git/remembering/commit/?id=v0.1.1) [remembering-v0.1.1.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.1.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.1.tar.gz.asc)) - 2021-01-26
-- [v0.1.0](https://euandre.org/git/remembering/commit/?id=v0.1.0) [remembering-v0.1.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.0.tar.gz.asc)) - 2021-01-26
-
-
-## License
-
-The code is licensed under
-[GNU Affero General Public License v3.0 or later][AGPL-3.0-or-later]
-(AGPL-3.0-or-later).
-
-[AGPL-3.0-or-later]: https://euandre.org/git/remembering/tree/COPYING