From 71ccfdd0e6216356ec6cac90bc627fe02dbfdeb1 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 28 Apr 2026 13:56:06 -0500 Subject: 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. --- gloss-fetch.el | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 gloss-fetch.el (limited to 'gloss-fetch.el') diff --git a/gloss-fetch.el b/gloss-fetch.el new file mode 100644 index 0000000..e4477f2 --- /dev/null +++ b/gloss-fetch.el @@ -0,0 +1,35 @@ +;;; gloss-fetch.el --- Online definition fetcher for gloss -*- lexical-binding: t -*- + +;; Copyright (C) 2026 Craig Jennings +;; Author: Craig Jennings +;; SPDX-License-Identifier: GPL-3.0-or-later + +;;; Commentary: + +;; Network layer for `gloss'. Walks a registry of online sources +;; (`gloss-fetch--sources') in the order specified by the user-facing +;; `gloss-fetch-sources' defcustom; aggregates per-source results into +;; a single response shape. +;; +;; Public API: +;; `gloss-fetch-definitions' TERM +;; -> (:ok DEFS) ; any source returned >=1 def +;; | (:empty :no-defs (SYM ...) :failed (SYM ...)) +;; +;; Each definition is a plist: +;; (:source SYM :text "Reference to ...") +;; +;; Per-source internal status taxonomy: +;; :ok :defs (...) :no-defs :unreachable :server-error :rate-limited +;; +;; libxml is treated as a precondition (probed once at first fetch); +;; absent libxml disables online fetch package-wide for the session. +;; +;; See `docs/design/gloss.org' for the full design. + +;;; Code: + +;; Implementation pending. Track via todo.org. + +(provide 'gloss-fetch) +;;; gloss-fetch.el ends here -- cgit v1.2.3