diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-28 13:56:06 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-28 13:56:06 -0500 |
| commit | 71ccfdd0e6216356ec6cac90bc627fe02dbfdeb1 (patch) | |
| tree | a75a387d0c2ec95bfc3850e01fb58067b56aa628 /gloss-fetch.el | |
| download | gloss-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-fetch.el')
| -rw-r--r-- | gloss-fetch.el | 35 |
1 files changed, 35 insertions, 0 deletions
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 <c@cjennings.net> +;; 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 |
