This replaces the older pattern :toggle (configuration-layer/package-usedp ..) This implementation ensures that :disabled-for honors dependent packages, i.e. if package a depends on package b, which is owned by layer c, and layer c is disabled for layer d, then neither package a nor b will be configured for layer d. Previously, this was only true for package a, but not b. This commit also fixes: - configuration-layer/describe-package now shows which post-init and pre-init functions are disabled, if any - Does not recreate all layer objects unconditionally when calling configuration-layer/discover-layers. Previously, this led to all layers being recreated after e.g. `SPC h SPC`, without any of the dotfile information. Since this information is now necessary for configuration-layer/describe-package, it’s important that we don’t clear the indexed layers when invoking this function.
68 lines
2.1 KiB
EmacsLisp
68 lines
2.1 KiB
EmacsLisp
;;; packages.el --- rest layer packages file for Spacemacs.
|
|
;;
|
|
;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
|
|
;;
|
|
;; Author: <wwguo@hiGDP>
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
;;
|
|
;; This file is not part of GNU Emacs.
|
|
;;
|
|
;;; License: GPLv3
|
|
|
|
(defconst restructuredtext-packages
|
|
'(
|
|
auto-complete
|
|
(auto-complete-rst :depends auto-complete)
|
|
linum
|
|
(rst :location built-in)
|
|
(rst-directives :location local)
|
|
(rst-lists :location local)
|
|
flyspell
|
|
smartparens
|
|
yasnippet
|
|
))
|
|
|
|
(defun restructuredtext/post-init-auto-complete ()
|
|
(add-hook 'rst-mode-hook 'auto-complete-mode))
|
|
|
|
(defun restructuredtext/init-auto-complete-rst ()
|
|
(use-package auto-complete-rst
|
|
:commands (auto-complete-rst-add-sources
|
|
auto-complete-rst-init)
|
|
:init (spacemacs/add-to-hook 'rst-mode-hook '(auto-complete-rst-init
|
|
auto-complete-rst-add-sources))))
|
|
|
|
(defun restructuredtext/init-post-linum ()
|
|
;; important auto-complete work-around to be applied to make both linum
|
|
;; and auto-complete to work together
|
|
(when (configuration-layer/package-usedp 'auto-complete)
|
|
(add-hook 'rst-mode-hook 'ac-linum-workaround t)))
|
|
|
|
(defun restructuredtext/init-rst-directives ()
|
|
(use-package rst-directives))
|
|
|
|
(defun restructuredtext/init-rst-lists ()
|
|
(use-package rst-lists))
|
|
|
|
(defun restructuredtext/init-rst-sphinx ()
|
|
(use-package rst-sphinx))
|
|
|
|
(defun restructuredtext/init-rst ()
|
|
(use-package rst
|
|
:defer t
|
|
:config (add-hook 'rst-adjust-hook 'rst-toc-update)))
|
|
|
|
(defun restructuredtext/post-init-flyspell ()
|
|
(spell-checking/add-flyspell-hook 'rst-mode-hook)
|
|
;; important auto-complete work-around to be applied to make both flyspell
|
|
;; and auto-complete to work together
|
|
(when (configuration-layer/package-usedp 'auto-complete)
|
|
(add-hook 'rst-mode-hook 'ac-flyspell-workaround t)))
|
|
|
|
(defun restructuredtext/post-init-yasnippet ()
|
|
(add-hook 'rst-mode-hook 'spacemacs/load-yasnippet))
|
|
|
|
(defun restructuredtext/post-init-smartparens ()
|
|
(add-hook 'rst-mode-hook 'smartparens-mode))
|
|
|