diff --git a/init.example.el b/init.example.el index 7e36ea4bc..af6b5955d 100644 --- a/init.example.el +++ b/init.example.el @@ -83,6 +83,7 @@ markdown ; writing docs for people to ignore org ; for organized fearless leader (WIP) php ; make php less awful to work with + purescript ; javascript, but functional python ; beautiful is better than ugly rest ; Emacs as a REST client ruby ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} diff --git a/modules/lang/purescript/config.el b/modules/lang/purescript/config.el new file mode 100644 index 000000000..ee953d08f --- /dev/null +++ b/modules/lang/purescript/config.el @@ -0,0 +1,32 @@ +;;; lang/purescript/config.el + +(def-package! purescript-mode + :mode "\\.purs$" + :init + (add-hook 'purescript-mode-hook #'flycheck-mode) + (add-hook 'purescript-mode-hook #'rainbow-delimiters-mode) + :config + (load "purescript-mode-autoloads" nil t) +) + +;; Seems broken at the moment + +;; (def-package! flycheck-purescript +;; :after purescript-mode +;; :config +;; (add-hook! 'flycheck-mode-hook #'flycheck-purescript-setup) +;; ) + +(def-package! psc-ide + :after purescript-mode + :config + (require 'psc-ide) + (add-hook! 'purescript-mode-hook + (lambda () + (company-mode) + (psc-ide-mode) + (turn-on-purescript-indentation) + ) + ) +) + diff --git a/modules/lang/purescript/packages.el b/modules/lang/purescript/packages.el new file mode 100644 index 000000000..f9ffaf96c --- /dev/null +++ b/modules/lang/purescript/packages.el @@ -0,0 +1,7 @@ +;; -*- no-byte-compile: t; -*- +;;; lang/purescript/packages.el + +;; (package! flycheck-purescript) +(package! psc-ide) +(package! purescript-mode) +