Replace :rotate with set-rotate-patterns! autodef

And its references.
This commit is contained in:
Henrik Lissner 2018-06-15 17:58:21 +02:00
parent 8ca88aba9e
commit ab9b8d97bc
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 17 additions and 13 deletions

View file

@ -8,7 +8,7 @@
(set-lookup-handlers! 'emacs-lisp-mode :documentation 'info-lookup-symbol) (set-lookup-handlers! 'emacs-lisp-mode :documentation 'info-lookup-symbol)
(set-docset! '(lisp-mode emacs-lisp-mode) "Emacs Lisp") (set-docset! '(lisp-mode emacs-lisp-mode) "Emacs Lisp")
(set! :rotate 'emacs-lisp-mode (set-rotate-patterns! 'emacs-lisp-mode
:symbols '(("t" "nil") :symbols '(("t" "nil")
("let" "let*") ("let" "let*")
("when" "unless") ("when" "unless")

View file

@ -1,17 +1,21 @@
;;; tools/rotate-text/autoload.el -*- lexical-binding: t; -*- ;;; tools/rotate-text/autoload.el -*- lexical-binding: t; -*-
;;;###autoload ;;;###autodef
(def-setting! :rotate (modes &rest plist) (cl-defun set-rotate-patterns! (modes &key symbols words patterns)
"Declare :symbols, :words or :patterns (all lists of strings) that "Declare :symbols, :words or :patterns (all lists of strings) that
`rotate-text' will cycle through." `rotate-text' will cycle through."
(declare (indent 1)) (declare (indent 1))
(let* ((modes (doom-enlist (doom-unquote modes))) (dolist (mode (doom-enlist modes))
(fn-name (intern (format "doom--rotate-%s" (mapconcat #'symbol-name modes "-"))))) (let ((fn-name (intern (format "+rotate-text--init-%s" mode))))
`(progn (fset fn-name
(defun ,fn-name () (lambda ()
(require 'rotate-text) (setq-local rotate-text-local-symbols symbols)
(let ((plist (list ,@plist))) (setq-local rotate-text-local-words words)
(setq rotate-text-local-symbols (plist-get plist :symbols) (setq-local rotate-text-local-patterns patterns)))
rotate-text-local-words (plist-get plist :words) (add-hook (intern (format "%s-hook" mode)) fn-name))))
rotate-text-local-patterns (plist-get plist :patterns))))
(add-hook! ,modes #',fn-name)))) ;; FIXME obsolete :rotate
;;;###autoload
(def-setting! :rotate (modes &rest plist)
:obsolete set-rotate-patterns!
`(set-rotate-patterns! ,modes ,@plist))