core-lib: add auto-minor-mode, revise def-project-mode!

- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
This commit is contained in:
Henrik Lissner 2019-07-21 14:49:09 +02:00
parent 3404899ec3
commit 0a84d2f0a9
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
15 changed files with 88 additions and 137 deletions

View file

@ -125,18 +125,16 @@ This marks a foldable marker for `outline-minor-mode' in elisp buffers.")
(advice-add 'helpful-update :after #'elisp-demos-advice-helpful-update))
(def-package! buttercup
:defer t
:minor ("/test[/-].+\\.el$" . buttercup-minor-mode)
:config (set-yas-minor-mode! 'buttercup-minor-mode))
;;
;;; Project modes
(def-project-mode! +emacs-lisp-ert-mode
:modes (emacs-lisp-mode)
:modes '(emacs-lisp-mode)
:match "/test[/-].+\\.el$"
:add-hooks (overseer-enable-mode))
(associate! buttercup-minor-mode
:modes (emacs-lisp-mode)
:match "/test[/-].+\\.el$")
(after! buttercup
(set-yas-minor-mode! 'buttercup-minor-mode))
:add-hooks '(overseer-enable-mode))