doomemacs/modules/lang/elm/config.el
Colin Woodbury b66ad77031 feat(elm): add bindings for project compilation
Present in basically every other language module, these were
mysteriously missing for Elm.
2023-03-17 00:33:32 -04:00

32 lines
1,005 B
EmacsLisp

;;; lang/elm/config.el -*- lexical-binding: t; -*-
(after! elm-mode
(if (modulep! +lsp)
(add-hook 'elm-mode-local-vars-hook #'lsp! 'append)
(set-company-backend! 'elm-mode 'company-elm))
(when (modulep! +tree-sitter)
(add-hook 'elm-mode-local-vars-hook #'tree-sitter! 'append))
(set-repl-handler! 'elm-mode #'run-elm-interactive)
(set-ligatures! 'elm-mode
:null "null"
:true "true" :false "false"
:int "Int" :str "String"
:float "Float"
:bool "Bool"
:not "not"
:and "&&" :or "||")
(map! :map elm-mode-map
:localleader
(:prefix ("m" . "elm make")
:desc "Compile HTML" "m" #'+elm/compile-html
:desc "Compile HTML (optimized)" "M" #'+elm/compile-html-optimized
:desc "Compile JS" "j" #'+elm/compile-js
:desc "Compile JS (optimized)" "J" #'+elm/compile-js-optimized)))
(use-package! flycheck-elm
:when (modulep! :checkers syntax)
:after elm-mode
:config (add-to-list 'flycheck-checkers 'elm))