lang/ocaml: major refactor

+ Load flyspell-mode a little later, to allow file/dir-local variables
  to customize flyspell.
+ Ensure setters (in merlin's config) are used as late as possible, by
  making merlin's (and all the other packages) config run after tuareg
  is loaded.
+ As discussed, installing packages locally is a bit unreliable, so I'm
  commenting out the +ocaml-site-lisp flag, and rely solely on packages
  from MELPA.
+ Add optional ocamlformat check in doctor.el and conditionally load the
  ocamlformat package (if editor/format is enabled).
+ Add docstrings to init hooks.
This commit is contained in:
Henrik Lissner 2018-10-16 02:45:12 -04:00
parent 4e81605463
commit d1d9cffcc8
3 changed files with 103 additions and 89 deletions

View file

@ -2,11 +2,11 @@
;;; lang/ocaml/doctor.el
(unless (executable-find "ocamlmerlin")
(warn! "Couldn't find ocamlmerlin. Lookup, completion and syntax checking won't work."))
(warn! "Couldn't find ocamlmerlin. Lookup, completion and syntax checking won't work"))
;; Tuareg can still indent
(unless (executable-find "ocp-indent")
(warn! "Couldn't find ocp-indent. Auto-indentation will be less precise."))
(warn! "Couldn't find ocp-indent. Auto-indentation will be less precise"))
(when (featurep! :feature eval)
(unless (executable-find "utop")
@ -15,4 +15,8 @@
(unless (executable-find "dune")
(warn! "Couldn't find dune. Won't be able to highlight dune files"))
(when (featurep! :editor format)
(unless (executable-find "ocamlformat")
(warn! "Couldn't find ocamlformat. Code-formatting will be unavailable")))
;; ocamlformat is optional, don't warn about it