coleslaw/src/plugins.lisp

15 lines
663 B
Common Lisp

(in-package :coleslaw)
(defun load-plugins (plugins)
"Resolve the path of each symbol in PLUGINS and call LOAD on the
resulting pathnames. It is expected that the matching *.lisp files
are in the plugins folder in coleslaw's source directory."
(let ((files (mapcar (lambda (sym)
(merge-pathnames
(concatenate 'string "plugins/"
(string-downcase (symbol-name sym)))
(asdf:system-source-directory 'coleslaw)))
plugins)))
(map nil (lambda (file)
(compile-file file)
(load file)) files)))