1
+ opam-version: "2.0"
2
+ synopsis:
3
+ "Editor helper, provides completion, typing and source browsing in Vim and Emacs"
4
+ description:
5
+ "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."
6
+ maintainer: "defree@gmail.com"
7
+ authors: "The Merlin team"
8
+ license: "MIT"
9
+ homepage: "https://github.com/ocaml/merlin"
10
+ bug-reports: "https://github.com/ocaml/merlin/issues"
11
+ depends: [
12
+ "dune" {>= "3.0.0"}
13
+ "merlin-lib" {= version}
14
+ "dot-merlin-reader" {= version}
15
+ "ocaml-index" {>= "1.0" & post}
16
+ "yojson" {>= "2.0.0"}
17
+ "conf-jq" {with-test}
18
+ "ppxlib" {with-test}
19
+ ]
20
+ conflicts: [
21
+ "seq" {!= "base"}
22
+ ]
23
+ available: opam-version >= "2.1.0"
24
+ flags: avoid-version
25
+ build: [
26
+ ["dune" "subst"] {dev}
27
+ ["dune" "build" "-p" name "-j" jobs]
28
+ ["dune" "runtest" "-p" name "-j" jobs] {with-test}
29
+ ]
30
+ post-messages:
31
+ """\
32
+ merlin installed.
33
+
34
+ Quick setup for VIM
35
+ -------------------
36
+ Append this to your .vimrc to add merlin to vim's runtime-path:
37
+ let g:opamshare = substitute(system('opam var share'),'\\n$','','''')
38
+ execute "set rtp+=" . g:opamshare . "/merlin/vim"
39
+
40
+ Also run the following line in vim to index the documentation:
41
+ :execute "helptags " . g:opamshare . "/merlin/vim/doc"
42
+
43
+ Quick setup for EMACS
44
+ -------------------
45
+ Add opam emacs directory to your load-path by appending this to your .emacs:
46
+ (let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
47
+ (when (and opam-share (file-directory-p opam-share))
48
+ ;; Register Merlin
49
+ (add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
50
+ (autoload 'merlin-mode "merlin" nil t nil)
51
+ ;; Automatically start it in OCaml buffers
52
+ (add-hook 'tuareg-mode-hook 'merlin-mode t)
53
+ (add-hook 'caml-mode-hook 'merlin-mode t)
54
+ ;; Use opam switch to lookup ocamlmerlin binary
55
+ (setq merlin-command 'opam)
56
+ ;; To easily change opam switches within a given Emacs session, you can
57
+ ;; install the minor mode https://github.com/ProofGeneral/opam-switch-mode
58
+ ;; and use one of its "OPSW" menus.
59
+ ))
60
+ Take a look at https://github.com/ocaml/merlin for more information
61
+
62
+ Quick setup with opam-user-setup
63
+ --------------------------------
64
+
65
+ Opam-user-setup support Merlin.
66
+
67
+ $ opam user-setup install
68
+
69
+ should take care of basic setup.
70
+ See https://github.com/OCamlPro/opam-user-setup"""
71
+ {success & !user-setup:installed}
72
+ dev-repo: "git+https://github.com/ocaml/merlin.git"
73
+ url {
74
+ src:
75
+ "https://github.com/voodoos/merlin/archive/9cd9e4870d5bca509f0f40ee8532ad206a2721a5.tar.gz"
76
+ checksum: [
77
+ "md5=ffbb615406722b1f3b7f8b839c57fcc3"
78
+ "sha512=48c98bf93ce9a2e0c2e7e51c8b2c341e756b80b6a0967afacd2fcd7ef27f056d2feed2226c48c1ee83c9059380552b00d850654ddd4017ff4dacfa803b08e577"
79
+ ]
80
+ }
81
+ x-maintenance-intent: ["(latest)"]
0 commit comments