···
+
maintainer: "defree@gmail.com"
+
authors: "The Merlin team"
+
homepage: "https://github.com/ocaml/merlin"
+
bug-reports: "https://github.com/ocaml/merlin/issues"
+
dev-repo: "git+https://github.com/ocaml/merlin.git"
+
["dune" "subst"] {pinned}
+
["dune" "build" "-p" name "-j" jobs]
+
["dune" "runtest" "-p" name "-j" jobs] {with-test & os != "macos" & ocaml:version >= "4.03"}
+
"ocamlfind" {>= "1.5.2"}
+
"mdx" {with-test & >= "1.3.0"}
+
"Editor helper, provides completion, typing and source browsing in Vim and Emacs"
+
"Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more."
+
Append this to your .vimrc to add merlin to vim's runtime-path:
+
let g:opamshare = substitute(system('opam config var share'),'\\n$','','''')
+
execute \"set rtp+=\" . g:opamshare . \"/merlin/vim\"
+
Also run the following line in vim to index the documentation:
+
:execute \"helptags \" . g:opamshare . \"/merlin/vim/doc\"
+
Add opam emacs directory to your load-path by appending this to your .emacs:
+
(let ((opam-share (ignore-errors (car (process-lines \"opam\" \"config\" \"var\" \"share\")))))
+
(when (and opam-share (file-directory-p opam-share))
+
(add-to-list 'load-path (expand-file-name \"emacs/site-lisp\" opam-share))
+
(autoload 'merlin-mode \"merlin\" nil t nil)
+
;; Automatically start it in OCaml buffers
+
(add-hook 'tuareg-mode-hook 'merlin-mode t)
+
(add-hook 'caml-mode-hook 'merlin-mode t)
+
;; Use opam switch to lookup ocamlmerlin binary
+
(setq merlin-command 'opam)))
+
Take a look at https://github.com/ocaml/merlin for more information
+
Quick setup with opam-user-setup
+
--------------------------------
+
Opam-user-setup support Merlin.
+
$ opam user-setup install
+
should take care of basic setup.
+
See https://github.com/OCamlPro/opam-user-setup
+
{success & !user-setup:installed}
+
src: "https://github.com/ocaml/merlin/archive/v3.3.7-4.11-preview1.tar.gz"
+
"md5=6f3f753f440b6c74264c4fd48fe5a311"
+
"sha512=4a5ba39e5353480b97e89ac9cd5c3f4bf66d2aa933920a86e695b9077d8238e4b043f4c406fc866da62839edc07a512ef2d636ddfe0a30e99f6133b74a48c629"