FG42/lib/fg42/ability.el

28 lines
589 B
EmacsLisp

;;; ability --- ability library of FG42
;;; Commentary:
;;;
;;; Code:
(require 'cl-lib)
(defvar fg42--abilities '()
"Internal data structure to store abilities.")
(cl-defstruct fg42-ability
"Each FG42 ability should implement a copy of this structure."
name
docs
depends-on
(start! nil)
(stop! nil))
(defun register-ability (ability-name)
"Register the given ABILITY-NAME as an activity."
(add-to-list
fg42--abilities
'(ability-name . (make-fg42-ability :name ability-name))))
(defun start-ability (ability-name))
(provide 'fg42/ability)
;;; ability ends here