Add paredit and rainbow delimeter to elisp cube

This commit is contained in:
Sameer Rahmani 2021-02-03 20:50:17 +00:00
parent a7cfe76bf3
commit 2031df182b
3 changed files with 26 additions and 3 deletions

View File

@ -28,10 +28,15 @@
(require 'fg42/cube) (require 'fg42/cube)
(autoload 'fg42/elisp-hook-handler "cubes/elisp/core")
(package-as-cube paredit)
(defcube fg42/elisp-cube () (defcube fg42/elisp-cube ()
:requires '() :requires '(paredit)
;;:modes '((emacs-lisp-mode . f42/elisp-cube-after-load)) ;;:modes '((emacs-lisp-mode . f42/elisp-cube-after-load))
;;:hooks (list (lambda (system) '(emacs-lisp-mode-hook . fssd))) :hooks '((emacs-lisp-mode-hook . fg42/elisp-hook-handler))
;;:auto-modes (list (lambda (system) '("\\.el\\'" . fg42/elisp-cube-mmm))) ;;:auto-modes (list (lambda (system) '("\\.el\\'" . fg42/elisp-cube-mmm)))
;;:init #'iii ;;:init #'iii
:dependencies '((:name rainbow-delimiters :version :latest))) :dependencies '((:name rainbow-delimiters :version :latest)))

View File

@ -27,7 +27,13 @@
;;; Code: ;;; Code:
(defun fg42/elisp-hook-handler ()
"Configure the elisp mode."
(require 'rainbow-delimiters)
(require 'paredit)
(rainbow-delimiters-mode t)
(paredit-mode t)
(message "Elisp cube is done"))
(provide 'cubes/elisp/core) (provide 'cubes/elisp/core)

View File

@ -45,6 +45,18 @@
,@body))))) ,@body)))))
(defmacro package-as-cube (name &rest body)
"Define a cube based on a package with the given NAME and BODY."
`(defun ,name (&optional __version__)
(lambda (system)
(cons
system
(list
:name ',name
:dependencies (list (list :name ',name :version (or __version__ :latest)))
,@body)))))
(defmacro active-cube? (name &rest body) (defmacro active-cube? (name &rest body)
"Run the BODY if the given cube NAME is activated." "Run the BODY if the given cube NAME is activated."
(declare (indent defun)) (declare (indent defun))