From fa360145596d95cff79be8d84850a461d7f467a6 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 19 Jun 2018 13:19:44 +0200 Subject: [PATCH] Allow set-yas-minor-mode! to accept multiple modes --- modules/feature/snippets/autoload/settings.el | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/feature/snippets/autoload/settings.el b/modules/feature/snippets/autoload/settings.el index f02d5f187..32386f789 100644 --- a/modules/feature/snippets/autoload/settings.el +++ b/modules/feature/snippets/autoload/settings.el @@ -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)