From 91b76d8437c4d417ac719fa22d49301aa01e90ee Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 2 Nov 2018 11:29:58 -0400 Subject: [PATCH] Move default snippets library to feature/snippets Removes the +snippets flag from config/default. The default snippets can be disabled by disabling the emacs-snippets package. --- init.example.el | 3 +-- modules/config/default/+bindings.el | 6 +++--- modules/config/default/autoload/default.el | 7 ------- modules/config/default/config.el | 8 -------- modules/config/default/packages.el | 8 -------- modules/feature/snippets/autoload/snippets.el | 19 +++++++++++++++++++ modules/feature/snippets/config.el | 5 +++++ modules/feature/snippets/packages.el | 4 ++++ 8 files changed, 32 insertions(+), 28 deletions(-) delete mode 100644 modules/config/default/packages.el diff --git a/init.example.el b/init.example.el index ee0f5da5d..cbecc46d0 100644 --- a/init.example.el +++ b/init.example.el @@ -156,5 +156,4 @@ ;; provides a Spacemacs-inspired keybinding scheme, a custom yasnippet ;; library, and additional ex commands for evil-mode. Use it as a ;; reference for your own modules. - (default +bindings +snippets +evil-commands)) - + (default +bindings +evil-commands)) diff --git a/modules/config/default/+bindings.el b/modules/config/default/+bindings.el index 9d035cdc0..1f4eaf539 100644 --- a/modules/config/default/+bindings.el +++ b/modules/config/default/+bindings.el @@ -766,9 +766,9 @@ (:desc "snippets" :prefix "s" :desc "New snippet" :n "n" #'yas-new-snippet :desc "Insert snippet" :nv "i" #'yas-insert-snippet - :desc "Find snippet" :n "s" #'+default/find-in-snippets - :desc "Find snippet for mode" :n "S" #'+default/browse-snippets - :desc "Find global snippet" :n "/" #'yas-visit-snippet-file + :desc "Jump to mode snippet" :n "/" #'yas-visit-snippet-file + :desc "Jump to snippet" :n "s" #'+snippets/find-file + :desc "Browse snippets" :n "S" #'+snippets/browse :desc "Reload snippets" :n "r" #'yas-reload-all)) (:desc "toggle" :prefix "t" diff --git a/modules/config/default/autoload/default.el b/modules/config/default/autoload/default.el index 87e3277cd..81d673ab1 100644 --- a/modules/config/default/autoload/default.el +++ b/modules/config/default/autoload/default.el @@ -34,13 +34,6 @@ (defun +default/find-in-notes () (interactive) (doom-project-find-file org-directory)) -;;;###autoload -(defun +default/browse-snippets () - (interactive) (doom-project-browse +snippets-dir)) -;;;###autoload -(defun +default/find-in-snippets () - (interactive) (doom-project-find-file +snippets-dir)) - ;;;###autoload (defun +default/find-in-config () "Open a file somewhere in `doom-private-dir' via a fuzzy filename search." diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 16e745595..a3e032618 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -3,14 +3,6 @@ (if (featurep! +bindings) (load! "+bindings")) -;; -;; Packages - -(def-package! emacs-snippets - :if (featurep! +snippets) - :after yasnippet) - - ;; ;; Config diff --git a/modules/config/default/packages.el b/modules/config/default/packages.el deleted file mode 100644 index 87f8e83b6..000000000 --- a/modules/config/default/packages.el +++ /dev/null @@ -1,8 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; config/default/packages.el - -(when (featurep! +snippets) - (package! emacs-snippets - :recipe (:fetcher github - :repo "hlissner/emacs-snippets" - :files ("*")))) diff --git a/modules/feature/snippets/autoload/snippets.el b/modules/feature/snippets/autoload/snippets.el index f58752a9e..9745e0ea9 100644 --- a/modules/feature/snippets/autoload/snippets.el +++ b/modules/feature/snippets/autoload/snippets.el @@ -101,3 +101,22 @@ buggy behavior when is pressed in an empty field." (if (symbol-value mode) (yas-activate-extra-mode mode) (yas-deactivate-extra-mode mode))) + + +;; +;; Commands + +;;;###autoload +(defun +snippets/browse (arg) + "TODO" + (interactive "P") + (doom-project-browse +snippets-dir)) + +;;;###autoload +(defun +snippets/find-file () + "TODO" + (interactive) + (if (file-directory-p +snippets-dir) + (doom-project-find-file +snippets-dir) + (yas-visit-snippet-file))) + diff --git a/modules/feature/snippets/config.el b/modules/feature/snippets/config.el index 4c4c3318b..c2f47b2a6 100644 --- a/modules/feature/snippets/config.el +++ b/modules/feature/snippets/config.el @@ -50,3 +50,8 @@ ;; `auto-yasnippet' (setq aya-persist-snippets-dir (concat doom-etc-dir "auto-snippets/")) + + +;; default snippets library +(def-package! emacs-snippets + :after yasnippet) diff --git a/modules/feature/snippets/packages.el b/modules/feature/snippets/packages.el index b02077c18..4ace1fb90 100644 --- a/modules/feature/snippets/packages.el +++ b/modules/feature/snippets/packages.el @@ -4,3 +4,7 @@ (package! yasnippet) (package! auto-yasnippet) +(package! emacs-snippets + :recipe (:fetcher github + :repo "hlissner/emacs-snippets" + :files ("*")))