From 08576ce34dedd7ad9c50fb7954b68737567740ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20B=C3=B6klin?= Date: Sun, 30 Jun 2019 16:56:19 +0200 Subject: [PATCH] Add mercury layer --- layers/+lang/mercury-layer/README.org | 29 +++++++++++ layers/+lang/mercury-layer/img/mercury.png | Bin 0 -> 7871 bytes layers/+lang/mercury-layer/packages.el | 54 +++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 layers/+lang/mercury-layer/README.org create mode 100644 layers/+lang/mercury-layer/img/mercury.png create mode 100644 layers/+lang/mercury-layer/packages.el diff --git a/layers/+lang/mercury-layer/README.org b/layers/+lang/mercury-layer/README.org new file mode 100644 index 000000000..a78c3c98b --- /dev/null +++ b/layers/+lang/mercury-layer/README.org @@ -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. | diff --git a/layers/+lang/mercury-layer/img/mercury.png b/layers/+lang/mercury-layer/img/mercury.png new file mode 100644 index 0000000000000000000000000000000000000000..0a1c8d20442eb860faffc71712e74c84a2aba145 GIT binary patch literal 7871 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 MQhTIY1Ah|vKdaskH~;_u literal 0 HcmV?d00001 diff --git a/layers/+lang/mercury-layer/packages.el b/layers/+lang/mercury-layer/packages.el new file mode 100644 index 000000000..0643071e1 --- /dev/null +++ b/layers/+lang/mercury-layer/packages.el @@ -0,0 +1,54 @@ +;;; packages.el --- mercury layer packages file for Spacemacs. +;; +;; Copyright (c) 2012-2018 Sylvain Benner & Contributors +;; +;; Author: Ludvig Böklin +;; 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)))