Add def-rotate! for rotate-text
This commit is contained in:
parent
25c9b90000
commit
fe88ff70ff
|
@ -263,17 +263,7 @@ enable multiple minor modes for the same regexp.")
|
|||
|
||||
(use-package rotate-text
|
||||
:commands (rotate-text rotate-text-backward)
|
||||
:init
|
||||
(add-hook! (emacs-lisp-mode lisp-mode)
|
||||
(setq rotate-text-local-symbols
|
||||
'(("t" "nil")
|
||||
("let" "let*")
|
||||
("when" "unless")
|
||||
("append" "prepend")
|
||||
("advice-add" "advice-remove")
|
||||
("add-hook" "add-hook!" "remove-hook"))))
|
||||
:config
|
||||
(push '("true" "false") rotate-text-words))
|
||||
:config (push '("true" "false") rotate-text-words))
|
||||
|
||||
(use-package smart-forward :commands (smart-up smart-down smart-left smart-right))
|
||||
|
||||
|
|
24
core/defuns/macros-rotate-text.el
Normal file
24
core/defuns/macros-rotate-text.el
Normal file
|
@ -0,0 +1,24 @@
|
|||
;;; macros-rotate-text.el
|
||||
|
||||
;;;###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))
|
||||
fn-name)
|
||||
(setq fn-name (intern (format "narf--rotate-%s"
|
||||
(s-join "-" (mapcar 'symbol-name modes)))))
|
||||
`(progn
|
||||
(defun ,fn-name ()
|
||||
,(when symbols
|
||||
`(setq-local rotate-text-local-symbols ',symbols))
|
||||
,(when words
|
||||
`(setq-local rotate-text-local-words ',words))
|
||||
,(when patterns
|
||||
`(setq-local rotate-text-local-patterns ',patterns)))
|
||||
(add-hook! ,modes ',fn-name))))
|
||||
|
||||
(provide 'macros-rotate-text)
|
||||
;;; macros-rotate-text.el ends here
|
Loading…
Reference in New Issue
Block a user