doomemacs/modules/lang/ocaml/packages.el
Edwin Török cdd39b20a5 lang/ocaml: add merlin-eldoc type and doc on hover display
This displays the type and documentation of thing under point
and highlights occurrences automatically when idle. Could be achieved by appropriate use of
keyboard shortcuts already set up by this module.

However `merlin-eldoc` can also display the expected type of function call parameters,
which merlin itself wouldn't.

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-10-17 00:06:20 +01:00

33 lines
1.1 KiB
EmacsLisp

;; -*- no-byte-compile: t; -*-
;;; lang/ocaml/packages.el
(package! tuareg)
(package! merlin)
(package! merlin-eldoc)
(package! ocp-indent)
(when (featurep! :feature syntax-checker)
(package! flycheck-ocaml))
(when (featurep! :feature eval)
(package! utop))
(when (featurep! :editor format)
;; by default quelpa generated a version 0pre0.20180929.192844, which got
;; parsed into (0 -1 0 ...), which when compared with version nil (0) in
;; package-installed-p always yielded false
(package! ocamlformat :recipe (:fetcher github :repo "ocaml-ppx/ocamlformat" :files ("emacs/*.el"))))
(package! dune :recipe (:fetcher github :repo "ocaml/dune" :files ("editor-integration/emacs/*.el")))
;; (defvar +ocaml-elisp-dir
;; (when (executable-find "opam")
;; (let ((opam-share (ignore-errors (car (process-lines "opam" "config" "var" "share" "--safe")))))
;; (when (and opam-share (file-directory-p opam-share))
;; (expand-file-name "emacs/site-lisp" opam-share)))))
;;
;; (defmacro localpackage! (name)
;; `(package! ,name :recipe (:fetcher file :path ,+ocaml-elisp-dir)))
;;
;; (localpackage! opam-site-lisp)