33 lines
1 KiB
EmacsLisp
33 lines
1 KiB
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 (and (modulep! :checkers syntax)
|
|
(not (modulep! :checkers syntax +flymake)))
|
|
:after elm-mode
|
|
:config (add-to-list 'flycheck-checkers 'elm))
|