2020-03-29 19:40:03 -04:00
|
|
|
;;; lang/sml/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
(use-package! sml-mode
|
|
|
|
:mode "\\.s\\(?:ml\\|ig\\)\\'"
|
|
|
|
:config
|
|
|
|
(set-repl-handler! 'sml-mode #'run-sml)
|
|
|
|
|
|
|
|
;; don't auto-close apostrophes (type 'a = foo) and backticks (`Foo)
|
|
|
|
(sp-with-modes 'sml-mode
|
|
|
|
(sp-local-pair "'" nil :actions nil)
|
|
|
|
(sp-local-pair "`" nil :actions nil))
|
|
|
|
|
|
|
|
(map! :map sml-mode-map
|
|
|
|
:i "RET" #'reindent-then-newline-and-indent
|
2020-03-31 02:16:54 -04:00
|
|
|
:i "S-SPC" #'sml-electric-space
|
2020-03-29 19:40:03 -04:00
|
|
|
:i "|" #'sml-electric-pipe
|
|
|
|
:localleader
|
|
|
|
:desc "Run SML" "'" #'run-sml
|
|
|
|
:prefix ("e" . "eval")
|
|
|
|
:desc "Run buffer" "b" #'sml-prog-proc-send-buffer
|
|
|
|
:desc "Run the paragraph" "f" #'sml-send-function
|
|
|
|
:desc "Run region" "r" #'sml-prog-proc-send-region))
|
|
|
|
|
|
|
|
|
|
|
|
(use-package! company-mlton
|
2022-08-12 20:29:19 +02:00
|
|
|
:when (modulep! :completion company)
|
2020-03-31 11:58:35 -04:00
|
|
|
:hook (sml-mode . company-mlton-init)
|
|
|
|
:config
|
|
|
|
(set-company-backend! 'sml-mode company-mlton-grouped-backend))
|