diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-30 01:11:27 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-30 01:11:27 -0500 |
| commit | 5c7bb207081278e41122e62d8f6c282a18574665 (patch) | |
| tree | fd49b588b2ce32f74e2cd170fd9a50938c38695b /docs | |
| parent | d313c37f14511564849c70c564c14ca51bd4ae7c (diff) | |
| download | gloss-5c7bb207081278e41122e62d8f6c282a18574665.tar.gz gloss-5c7bb207081278e41122e62d8f6c282a18574665.zip | |
feat: implement gloss secondary commands
Five interactive commands plus the supporting major mode and pure
helpers for `gloss-add'.
`gloss-add' opens a `*gloss-add: TERM*' buffer in `gloss-add-mode',
a `text-mode' derivative with C-c C-c to save and C-c C-k to abort.
The pure save side, `gloss--add-finish-internal', validates term and
body, trims trailing whitespace, and delegates to `gloss-core-save'
with source `manual' before showing the new entry.
`gloss-edit' resolves a term to its source-buffer marker, jumps point
there, unfolds the entry under both the legacy `org-show-entry' and
the post-9.6 `org-fold-show-entry' (with-no-warnings on the fallback),
and installs `gloss--after-save-refresh-cache' as a buffer-local
after-save hook so manual edits keep the cache honest.
`gloss-list-terms' prompts via `completing-read' over
`gloss-core-list' and dispatches the chosen term to
`gloss--lookup-flow'. Empty glossary raises a user-error.
`gloss-stats' formats a multi-line report (total / by-source /
drill-tagged / file size / cache mtime) via the pure helper
`gloss--stats-text' and shows it in `*gloss-stats*' under
`special-mode'. Drill counting walks the file via `org-map-entries'
to be safe against tag-substring false positives.
`gloss-reload' is a thin wrapper that resets the in-memory cache and
re-ensures it from disk.
`gloss-drill-export' is a thin wrapper around
`gloss-drill-export-all'.
Audit fold-in: renamed the stats-text missing-file test from
`-reports-zero-and-never' to `-reports-zero' to match what the
assertion actually checks (the file is auto-created on first call,
so mtime is set, not "never").
Filed as a v1.1 follow-up: `gloss.el' reaches into
`gloss-core--cache-reset' and `gloss-core--cache-ensure'
double-dash-private functions. Decide whether to treat double-dash as
"package-private" idiom or to expose public aliases.
125 tests pass in 0.25s — 111 prior plus 14 new across the six new
files. No byte-compile warnings.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
