doomemacs/modules/lang/agda/config.el

36 lines
1.5 KiB
EmacsLisp
Raw Normal View History

2018-08-21 12:46:29 +02:00
;;; lang/agda/config.el -*- lexical-binding: t; -*-
(defvar +agda-dir
2018-08-22 03:53:19 +02:00
(when (executable-find "agda-mode")
(file-name-directory (shell-command-to-string "agda-mode locate"))))
2018-08-21 12:46:29 +02:00
(def-package! agda-input
:load-path +agda-dir)
2018-08-21 12:46:29 +02:00
(def-package! agda2-mode
:mode "\\.agda\\'"
:after agda-input
2018-09-03 13:54:49 +02:00
:init
;; fix syntax highlighting
;; (taken from https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Blang/agda/packages.el)
(progn
(mapc
(lambda (x) (add-to-list 'face-remapping-alist x))
'((agda2-highlight-datatype-face . font-lock-type-face)
(agda2-highlight-function-face . font-lock-type-face)
(agda2-highlight-inductive-constructor-face . font-lock-function-name-face)
(agda2-highlight-keyword-face . font-lock-keyword-face)
(agda2-highlight-module-face . font-lock-constant-face)
(agda2-highlight-number-face . nil)
(agda2-highlight-postulate-face . font-lock-type-face)
(agda2-highlight-primitive-type-face . font-lock-type-face)
(agda2-highlight-record-face . font-lock-type-face))))
:config
(map! :map agda2-mode-map
:localleader
:n "l" #'agda2-load
:n "d" #'agda2-infer-type-maybe-toplevel
:n "o" #'agda2-module-contents-maybe-toplevel
:n "n" #'agda2-compute-normalised-maybe-toplevel))
2018-09-03 13:54:49 +02:00
;; TODO finish keybindings