;;; 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