Add mercury layer

This commit is contained in:
Ludvig Böklin 2019-06-30 16:56:19 +02:00 committed by smile13241324
parent 1de174003e
commit 08576ce34d
3 changed files with 83 additions and 0 deletions

View file

@ -0,0 +1,29 @@
#+TITLE: mercury layer
[[file:img/mercury.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#install][Install]]
- [[#key-bindings][Key bindings]]
* Description
This layer adds support for the Mercury language.
** Features:
- Indentation.
- Syntax highlighting.
- Compiling and running.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =mercury= to the existing =dotspacemacs-configuration-layers= list in this
file.
* Key bindings
| Key Binding | Description |
|-------------+--------------------------------------|
| ~SPC c c~ | Compile current buffer file. |
| ~SPC c r~ | Compile and run current buffer file. |

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,54 @@
;;; packages.el --- mercury layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;;
;; Author: Ludvig Böklin <ludvig.boklin@protonmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(setq mercury-packages
'((metal-mercury-mode :location (recipe
:fetcher github
:repo "ahungry/metal-mercury-mode"
:commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8"))
(mercury-mode :excluded t)
flycheck
(flycheck-mercury :requires flycheck)
smartparens))
(defun mercury/post-init-flycheck ()
(add-hook 'metal-mercury-mode-hook 'flycheck-mode))
(defun mercury/init-flycheck-mercury ()
"Initialize flycheck-mercury"
(use-package flycheck-mercury
:defer t
:init (require 'flycheck-mercury)))
(defun mercury/init-metal-mercury-mode ()
"Initialize metal-mercury-mode"
(use-package metal-mercury-mode
:defer t
:init
:mode ("\\.m\\'" . metal-mercury-mode)
:config
(progn
(dolist (x '(
;; ("m=" . "format")
("mc" . "mercury/compile")
;; ("mh" . "help")
))
(spacemacs/declare-prefix-for-mode 'metal-mercury-mode (car x) (cdr x)))
(spacemacs/set-leader-keys-for-major-mode 'metal-mercury-mode
;; make
"cb" 'metal-mercury-mode-compile
"cr" 'metal-mercury-mode-runner))))
(defun mercury/post-init-smartparens ()
(if dotspacemacs-smartparens-strict-mode
(add-hook 'metal-mercury-mode-hook #'smartparens-strict-mode)
(add-hook 'metal-mercury-mode-hook #'smartparens-mode)))