Refactor macros
This commit is contained in:
parent
f2df8192ff
commit
d751be7898
8 changed files with 53 additions and 40 deletions
|
@ -3,12 +3,11 @@
|
|||
;;;###autoload
|
||||
(defmacro def-electric! (modes &rest rest)
|
||||
(declare (indent 1))
|
||||
(let ((modes (if (listp modes) modes (list modes)))
|
||||
(let ((modes (-list modes))
|
||||
(chars (plist-get rest :chars))
|
||||
(words (plist-get rest :words)))
|
||||
(when (or chars words)
|
||||
(let ((fn-name (intern (format "narf--electric-%s"
|
||||
(s-join "-" (mapcar 'symbol-name modes))))))
|
||||
(let ((fn-name (intern (format "narf--electric-%s" (s-join "-" (mapcar 'symbol-name modes))))))
|
||||
`(progn
|
||||
(defun ,fn-name ()
|
||||
(electric-indent-local-mode +1)
|
||||
|
@ -16,5 +15,21 @@
|
|||
,(if words `(setq narf-electric-indent-words ',words)))
|
||||
(add-hook! ,modes ',fn-name))))))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro def-rotate! (modes &rest rest)
|
||||
(declare (indent 1))
|
||||
(let ((modes (if (listp modes) modes (list modes)))
|
||||
(symbols (plist-get rest :symbols))
|
||||
(words (plist-get rest :words))
|
||||
(patterns (plist-get rest :patterns)))
|
||||
(when (or symbols words patterns)
|
||||
(let ((fn-name (intern (format "narf--rotate-%s" (s-join "-" (mapcar 'symbol-name modes))))))
|
||||
`(progn
|
||||
(defun ,fn-name ()
|
||||
,(if symbols `(setq-local rotate-text-local-symbols ',symbols))
|
||||
,(if words `(setq-local rotate-text-local-words ',words))
|
||||
,(if patterns `(setq-local rotate-text-local-patterns ',patterns)))
|
||||
(add-hook! ,modes ',fn-name))))))
|
||||
|
||||
(provide 'macros-editor)
|
||||
;;; macros-editor.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue