Homepage: https://elpa.gnu.org/packages/sml-mode.html
Author: Lars Bo Nielsen, (Stefan Monnier), Fritz Knabe (?), Matthew Morley, Matthias Blume, Olin Shivers, Steven Gilmore (?)
Updated:
Major mode for editing (Standard) ML
A major mode to edit Standard ML (SML) code. Provides the following features, among others: - Indentation. - Syntax highlighting. - Prettified display of ->, =>, fn, ... - Imenu. - which-function-mode. - Skeletons/templates. - Electric pipe key. - outline-minor-mode (with some known problems). - Interaction with a read-eval-print loop. Known bugs: - Indentation after "functor toto() where type foo = bar =" Because the last is treated as an equality comparison. - indentation of a declaration after a long `datatype' can be slow. News: Changes since 6.11: - Fix indentation of continued strings. - Use `syntax-propertize' rather than `font-lock-syntactic-keywords'. Changes since 6.8: - new var sml-abbrev-skeletons to control whether to include skeletons in the main abbrev table. - change parsing rule of "local" - Improve handling of comments in `sml-cm-mode'. Changes since 5.0: - sml-electric-pipe-mode to make the | key electric. - Removal of a lot of compatibility code. Requires Emacs-24. - Integrate in GNU ELPA. Changes since 4.1: - New indentation code using SMIE when available. - `sml-back-to-outer-indent' is now on S-tab (aka `backtab') rather than M-tab. - Support for electric-layout-mode and electric-indent-mode. - `sml-mark-defun' tries to be more clever. - A single file (sml-mode.el) is needed unless you want to use an interactive process like SML/NJ, or if your Emacs does not provide SMIE. Changes since 4.0: - Switch to GPLv3+. - When possible (i.e. running under Emacs>=23), be case-sensitive when expanding abbreviations, and don't expand them in comments and strings. - When you `next-error' to a type error, highlight the actual parts of the types that differ. - Flush the recorded errors not only upon sml-compile and friends, but also when typing commands directly at the prompt. - New command sml-mlton-typecheck. - Simple support to parse errors and warnings in MLton's output. - Simple support for MLton's def-use files. Changes since 3.9.5: - No need to add the dir to your load-path any more. The sml-mode-startup.el file does it for you. - Symbols like -> can be displayed as real arrows. See sml-font-lock-symbols. - Fix some incompatibilities with the upcoming Emacs-21.4. - Indentation rules improved. New customizable variable `sml-rightalign-and'. Also `sml-symbol-indent' is now customizable. Changes since 3.9.3: - New add-log support (try C-x 4 a from within an SML function). - Imenu support - sml-bindings has disappeared. - The code skeletons are now abbrevs as well. - A new *sml* process is sent the content of sml-config-file (~/.sml-proc.sml) if it exists. - `sml-compile' works yet a bit differently. The command can begin with `cd "path";' and it will be replaced by OS.FileSys.chDir. - run-sml now pops up the new buffer. It can also run the command on another machine. And it always prompts for the command name. Use a prefix argument if you want to give args or to specify a host on which to run the command. - mouse-2 to yank in *sml* should work again (but won't work for next-error any more). - New major-modes sml-cm-mode, sml-lex-mode and sml-yacc-mode. - sml-load-hook has disappeared as has inferior-sml-load-hook. - sml-mode-startup.el is now automatically generated and you're supposed to `load' it from .emacs or site-start.el. - Minor bug fixes.