aboutsummaryrefslogtreecommitdiff
path: root/gloss-core.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-core.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-core.el')
-rw-r--r--gloss-core.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/gloss-core.el b/gloss-core.el
new file mode 100644
index 0000000..2e054c4
--- /dev/null
+++ b/gloss-core.el
@@ -0,0 +1,32 @@
+;;; gloss-core.el --- Data layer 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:
+
+;; Storage and lookup primitives for `gloss'. Owns the in-memory
+;; cache (a hash table keyed by term) and the org file I/O.
+;;
+;; Public API:
+;; `gloss-core-lookup' TERM -> entry plist or nil
+;; `gloss-core-save' TERM BODY SOURCE -> entry plist (saved)
+;; `gloss-core-list' -> (TERM ...)
+;; `gloss-core-find-buffer-position' TERM -> marker
+;;
+;; Entry plist shape:
+;; (:term "anaphora"
+;; :body "Reference to..."
+;; :source wiktionary
+;; :added "2026-04-28"
+;; :marker #<marker at N in gloss.org>)
+;;
+;; See `docs/design/gloss.org' for the full design.
+
+;;; Code:
+
+;; Implementation pending. Track via todo.org.
+
+(provide 'gloss-core)
+;;; gloss-core.el ends here