78 lines
2.4 KiB
EmacsLisp
78 lines
2.4 KiB
EmacsLisp
;;; packages.el --- gerbil layer packages file for Spacemacs.
|
|
;;
|
|
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
|
|
;;
|
|
;; Author: DESKTOP-H7KNR8E <taylor@DESKTOP-H7KNR8E>
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
;;
|
|
;; This file is not part of GNU Emacs.
|
|
;;
|
|
;;; License: GPLv3
|
|
|
|
;;; Commentary:
|
|
|
|
;; See the Spacemacs documentation and FAQs for instructions on how to implement
|
|
;; a new layer:
|
|
;;
|
|
;; SPC h SPC layers RET
|
|
;;
|
|
;;
|
|
;; Briefly, each package to be installed or configured by this layer should be
|
|
;; added to `gerbil-packages'. Then, for each package PACKAGE:
|
|
;;
|
|
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
|
|
;; function `gerbil/init-PACKAGE' to load and initialize the package.
|
|
|
|
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
|
|
;; define the functions `gerbil/pre-init-PACKAGE' and/or
|
|
;; `gerbil/post-init-PACKAGE' to customize the package as it is loaded.
|
|
|
|
;;; Code:
|
|
|
|
(defconst gerbil-packages
|
|
'(evil-cleverparens
|
|
(gerbil-mode :location local))
|
|
"The list of Lisp packages required by the gerbil layer.
|
|
|
|
Each entry is either:
|
|
|
|
1. A symbol, which is interpreted as a package to be installed, or
|
|
|
|
2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
|
|
name of the package to be installed or loaded, and KEYS are
|
|
any number of keyword-value-pairs.
|
|
|
|
The following keys are accepted:
|
|
|
|
- :excluded (t or nil): Prevent the package from being loaded
|
|
if value is non-nil
|
|
|
|
- :location: Specify a custom installation location.
|
|
The following values are legal:
|
|
|
|
- The symbol `elpa' (default) means PACKAGE will be
|
|
installed using the Emacs package manager.
|
|
|
|
- The symbol `local' directs Spacemacs to load the file at
|
|
`./local/PACKAGE/PACKAGE.el'
|
|
|
|
- A list beginning with the symbol `recipe' is a melpa
|
|
recipe. See: https://github.com/milkypostman/melpa#recipe-format")
|
|
|
|
(defun gerbil/pre-init-evil-cleverparens ()
|
|
(spacemacs|use-package-add-hook evil-cleverparens
|
|
:pre-init
|
|
(add-to-list 'evil-lisp-safe-structural-editing-modes 'gerbil-mode)))
|
|
|
|
(defun gerbil/init-gerbil-mode ()
|
|
(use-package gerbil-mode
|
|
:demand t
|
|
:config
|
|
(with-eval-after-load 'smartparens
|
|
(add-to-list 'sp--lisp-modes 'gerbil-mode)
|
|
(when (fboundp 'sp-local-pair)
|
|
(sp-local-pair 'gerbil-mode "'" nil :actions nil)
|
|
(sp-local-pair 'gerbil-mode "`" nil :actions nil)))))
|
|
|
|
;;; packages.el ends here
|