emacs/layers.personal/mylangs/mypollen/packages.el

93 lines
2.9 KiB
EmacsLisp
Raw Normal View History

2018-04-07 10:54:04 +08:00
;;; packages.el --- pollen layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Rongsong Shen <rshen@E3-1275LV3>
;; 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 `pollen-packages'. Then, for each package PACKAGE:
;;
;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
;; function `pollen/init-PACKAGE' to load and initialize the package.
;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
;; define the functions `pollen/pre-init-PACKAGE' and/or
;; `pollen/post-init-PACKAGE' to customize the package as it is loaded.
;;; Code:
(defconst mypollen-packages
'(
(pollen-mode :location (recipe :fetcher github :repo "shen390s/pollen-mode"))
(evil-pollen :location local))
"The list of Lisp packages required by the pollen 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 mypollen/init-pollen-mode ()
(use-package pollen-mode
:defer t
:commands pollen-mode
:mode ("\\.poly\\.pm$" . pollen-mode)))
(defun mypollen/post-init-pollen-mode ()
(add-hook 'pollen-mode-hook
#'(lambda ()
(smartparens-mode 1)
(rainbow-delimiters-mode 1)
(auto-fill-mode 1))))
(defun mypollen/init-evil-pollen ()
(use-package evil-pollen
:defer t
:commands evil-pollen-mode
:init (add-hook 'pollen-mode-hook 'evil-pollen-mode)
:config (progn
(spacemacs/set-leader-keys-for-major-mode 'pollen-mode
"b" 'pollen-build
"f" 'pollen-set-target-format
"v" 'pollen-view
"c" 'pollen-reset
"n" 'next-error))))
(defun mypollen/post-init-evil-pollen ()
)
;;; packages.el ends here