aboutsummaryrefslogtreecommitdiff
path: root/gloss-display.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-28 13:56:06 -0500
committerCraig Jennings <c@cjennings.net>2026-04-28 13:56:06 -0500
commit71ccfdd0e6216356ec6cac90bc627fe02dbfdeb1 (patch)
treea75a387d0c2ec95bfc3850e01fb58067b56aa628 /gloss-display.el
downloadgloss-71ccfdd0e6216356ec6cac90bc627fe02dbfdeb1.tar.gz
gloss-71ccfdd0e6216356ec6cac90bc627fe02dbfdeb1.zip
chore: scaffold gloss package
Five layered files per the design at docs/design/gloss.org. gloss-core for the data layer, gloss-fetch for the network layer, gloss-display for the UI, gloss-drill for the spaced-repetition export, and gloss.el as the entry point. All five are skeletons. Implementation comes next. The Makefile delegates to ert with the usual unit, integration, and per-file targets. It also runs paren and lint passes. The package is licensed GPL-3.0-or-later. README is a placeholder pointing at the design doc.
Diffstat (limited to 'gloss-display.el')
-rw-r--r--gloss-display.el29
1 files changed, 29 insertions, 0 deletions
diff --git a/gloss-display.el b/gloss-display.el
new file mode 100644
index 0000000..c028698
--- /dev/null
+++ b/gloss-display.el
@@ -0,0 +1,29 @@
+;;; gloss-display.el --- Side-buffer UI for gloss -*- lexical-binding: t -*-
+
+;; Copyright (C) 2026 Craig Jennings
+;; Author: Craig Jennings <c@cjennings.net>
+;; SPDX-License-Identifier: GPL-3.0-or-later
+
+;;; Commentary:
+
+;; UI layer for `gloss'. Defines the side buffer's major mode and
+;; renders entries; also owns the picker shown when an online fetch
+;; returns multiple candidate definitions.
+;;
+;; Public API:
+;; `gloss-display-show-entry' TERM BODY
+;; `gloss-display-pick-definition' TERM DEFINITIONS -> chosen plist
+;;
+;; Pure helper (full N/B/E test coverage):
+;; `gloss-display--format-candidate' PLIST -> "[source] text..."
+;;
+;; `gloss-mode' is derived from `special-mode': `q' quits the window.
+;;
+;; See `docs/design/gloss.org' for the full design.
+
+;;; Code:
+
+;; Implementation pending. Track via todo.org.
+
+(provide 'gloss-display)
+;;; gloss-display.el ends here