56 lines
1.5 KiB
EmacsLisp
56 lines
1.5 KiB
EmacsLisp
;;; etaf.el --- Text application framework facade -*- lexical-binding: t; -*-
|
|
|
|
;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
;; Author: ETAF contributors
|
|
;; Version: 0.2.1
|
|
;; Package-Requires: ((emacs "29.1") (ebox "3.0.0") (tp "2.0.0"))
|
|
;; Keywords: ui, tools, convenience
|
|
;; URL: https://github.com/ginqi7/etaf
|
|
|
|
;;; Commentary:
|
|
|
|
;; ETAF is a small Component and View layer above the independent Ebox
|
|
;; renderer. Runtime, reactive Scope, and the structural grammar are loaded
|
|
;; through this one public package entry.
|
|
|
|
;;; Code:
|
|
|
|
(defconst etaf--directory
|
|
(file-name-directory (or load-file-name buffer-file-name))
|
|
"Directory containing the ETAF implementation files.")
|
|
|
|
(defun etaf--prefer-local-files ()
|
|
"Keep this package's implementation directory first on `load-path'."
|
|
(setq load-path (cons etaf--directory
|
|
(delete etaf--directory load-path))))
|
|
|
|
(etaf--prefer-local-files)
|
|
|
|
(require 'etaf-view)
|
|
(require 'etaf-compiler)
|
|
(require 'etaf-component)
|
|
(require 'etaf-scheduler)
|
|
(require 'etaf-reactive)
|
|
(require 'etaf-observer)
|
|
(require 'etaf-context)
|
|
(require 'etaf-resource)
|
|
(require 'etaf-data)
|
|
(require 'etaf-generation)
|
|
(require 'etaf-host)
|
|
(require 'etaf-retirement)
|
|
(require 'etaf-render-port)
|
|
(require 'etaf-renderer)
|
|
(etaf--prefer-local-files)
|
|
(require 'etaf-runtime)
|
|
(require 'etaf-behavior)
|
|
(require 'etaf-actions)
|
|
(require 'etaf-events)
|
|
|
|
(unless (fboundp 'ebox-call-with-render-burst)
|
|
(error "ETAF requires an Ebox build with framework render-burst support"))
|
|
|
|
(provide 'etaf)
|
|
|
|
;;; etaf.el ends here
|