Allow set-yas-minor-mode! to accept multiple modes

This commit is contained in:
Henrik Lissner 2018-06-19 13:19:44 +02:00
parent 8f76ee9a8a
commit fa36014559
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,13 +1,16 @@
;;; feature/snippets/autoload/settings.el -*- lexical-binding: t; -*-
;;;###autodef
(defun set-yas-minor-mode! (mode)
"Register a minor MODE with yasnippet so it can have its own snippets
category, if the folder exists."
(after! yasnippet
(let ((fn (intern (format "+snippets|register-%s" mode))))
(fset fn (lambda () (+snippets|enable-project-modes mode)))
(add-hook (intern (format "%s-hook" mode)) fn))))
(defun set-yas-minor-mode! (modes)
"Register minor MODES (one mode symbol or a list of them) with yasnippet so it
can have its own snippets category, if the folder exists."
(let ((fn (intern (format "+snippets|register-%s" mode))))
(fset fn (lambda ()
(make-local-variable 'yas--extra-modes)
(dolist (mode (doom-enlist modes))
(add-to-list 'yas--extra-modes mode nil #'eq))
(yas--load-pending-jits)))
(add-hook (intern (format "%s-hook" mode)) fn)))
;;;###autoload
(def-setting! :yas-minor-mode (mode)