As mentioned on a [previous post]({{< relref "thoughts-on-standard-ml-as-of-2023" >}}), I've been writing quite a bit of Standard ML on the past few weeks. This also involved setting up GNU Emacs for development.
The first thing you need is sml-mode
, you can install and
configure it with the following:
(use-package sml-mode
:defer t
:mode ("\\.\\(sml\\|sig\\)\\'" . sml-mode))
Now, the cool part is that Standard ML has a Language Server called Millet. You can use it with eglot, the builtin Language Server Protocol client for GNU Emacs.1
(use-package eglot
:ensure t
:hook ((sml-mode . eglot-ensure))
:config
(add-to-list 'eglot-server-programs '((sml-mode) "millet-ls")))
-
Since GNU Emacs 29.↩