opam-version: "1.2"
maintainer: "defree@gmail.com"
authors: "The Merlin team"
homepage: "https://github.com/ocaml/merlin"
bug-reports: "https://github.com/ocaml/merlin/issues"
dev-repo: "https://github.com/ocaml/merlin.git"
build: [
  ["./configure" "--prefix" prefix]
  ["rm" "-rf" "%{prefix}%/share/ocamlmerlin"]
  [make "-j" jobs]
]

# TODO: Uncomment when ocaml-cram is released
#build-test: [make "tests"]

depends: [
  "ocamlfind" {>= "1.5.2"}
  "yojson"
#  "cram" {test}
]
available: [ocaml-version >= "4.02.1" & ocaml-version < "4.08"]
post-messages: [
  "
merlin installed.

Quick setup for VIM
-------------------
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\"

Quick setup for EMACS
-------------------
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))
    ;; Register Merlin
    (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}
]
