diff --git a/modules/lang/ocaml/autoload.el b/modules/lang/ocaml/autoload.el new file mode 100644 index 000000000..af6139bac --- /dev/null +++ b/modules/lang/ocaml/autoload.el @@ -0,0 +1,9 @@ +;;; lang/ocaml/autoload.el -*- lexical-binding: t; -*- + +;;;###autoload +(defun +ocaml/comment-indent-new-line () + "Break line at point and indent, continuing comment if within one." + (interactive) + (comment-indent-new-line) + (when (eq (char-before) ?*) + (just-one-space))) diff --git a/modules/lang/ocaml/config.el b/modules/lang/ocaml/config.el index 6d5273b99..f25c6435b 100644 --- a/modules/lang/ocaml/config.el +++ b/modules/lang/ocaml/config.el @@ -21,6 +21,10 @@ (when (featurep! :tools flyspell) (add-hook 'tuareg-mode-local-vars-hook #'flyspell-prog-mode)) + ;; Ensure asterixes in block comments have at least one space of indentation + (setq-hook! 'tuareg-mode-hook + comment-line-break-function #'+ocaml/comment-indent-new-line) + (def-package! merlin :unless (featurep! +lsp)