Skip to content

Commit 279cdd9

Browse files
voodoosavsm
authored andcommitted
[new release] merlin (3 packages) (5.1-502)
CHANGES: Tue Jun 18 12:00:42 CEST 2024 + merlin binary - Support project-wide occurrences queries using index files (ocaml/merlin#1766) - The file format is described in library `Merlin_lib.index_format` - Two new configuration directives are introduced: - `SOURCE_ROOT` that is used to resolve relative paths found in the indexes. - `INDEX` that is used to declare the list of index files Merlin should use when looking for occurrences. - A new `UNIT_NAME` configuration directive that can be used to tell Merlin the correct name of the current unit in the presence of wrapping (ocaml/merlin#1776) - Perform incremental indexation of the buffer when typing. (ocaml/merlin#1777) - `merlin-lib.commands`: Add a `find_command_opt`` alternative to `find_command` that does not raise (ocaml/merlin#1778) - Prevent uid clashes by not returning PWO for defs located in the current interface file (ocaml/merlin#1781) - Reset uid counters when restoring the typer cache so that uids are stable across re-typing (ocaml/merlin#1779) - Improve the behavior on occurrences when the cursor is on a label / constructor declaration (ocaml/merlin#1785) + editor modes - emacs: add basic support for project-wide occurrences (ocaml/merlin#1766) - vim: add basic support for project-wide occurrences (ocaml/merlin#1767, @Julow) [new release] ocaml-index (1.0) CHANGES: ### Added - Initial release. - The `aggregate`` command that finishes reduction of shapes in cmt files and store the output in a single index file. - The `stats` command that prints information about an index file. - The `dump` command that prints all locs of an index.
1 parent c6c8f24 commit 279cdd9

File tree

4 files changed

+187
-0
lines changed
  • packages
    • dot-merlin-reader/dot-merlin-reader.5.1
    • merlin-lib/merlin-lib.5.1-502
    • merlin/merlin.5.1-502
    • ocaml-index/ocaml-index.1.0

4 files changed

+187
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
opam-version: "2.0"
2+
maintainer: "defree@gmail.com"
3+
authors: "The Merlin team"
4+
synopsis: "Reads config files for merlin"
5+
homepage: "https://github.com/ocaml/merlin"
6+
bug-reports: "https://github.com/ocaml/merlin/issues"
7+
dev-repo: "git+https://github.com/ocaml/merlin.git"
8+
license: "MIT"
9+
build: [
10+
["dune" "subst"] {dev}
11+
["dune" "build" "-p" name "-j" jobs]
12+
]
13+
depends: [
14+
"ocaml" {>= "5.0" }
15+
"dune" {>= "2.9.0"}
16+
"merlin-lib" {>= "5.1"}
17+
"ocamlfind" {>= "1.6.0"}
18+
]
19+
description:
20+
"Helper process: reads .merlin files and outputs the normalized content to
21+
stdout."
22+
url {
23+
src:
24+
"https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz"
25+
checksum: [
26+
"sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15"
27+
"sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f"
28+
]
29+
}
30+
x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
opam-version: "2.0"
2+
maintainer: "defree@gmail.com"
3+
authors: "The Merlin team"
4+
homepage: "https://github.com/ocaml/merlin"
5+
bug-reports: "https://github.com/ocaml/merlin/issues"
6+
dev-repo: "git+https://github.com/ocaml/merlin.git"
7+
license: "MIT"
8+
build: [
9+
["dune" "subst"] {dev}
10+
["dune" "build" "-p" name "-j" jobs]
11+
]
12+
depends: [
13+
"ocaml" {>= "5.2" & < "5.3"}
14+
"dune" {>= "2.9.0"}
15+
"csexp" {>= "1.5.1"}
16+
"menhir" {dev & >= "20201216"}
17+
"menhirLib" {dev & >= "20201216"}
18+
"menhirSdk" {dev & >= "20201216"}
19+
]
20+
synopsis:
21+
"Merlin's libraries"
22+
description:
23+
"These libraries provides access to low-level compiler interfaces and the
24+
standard higher-level merlin protocol. The library is provided as-is, is not
25+
thoroughly documented, and its public API might break with any new release."
26+
url {
27+
src:
28+
"https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz"
29+
checksum: [
30+
"sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15"
31+
"sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f"
32+
]
33+
}
34+
x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727"
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
opam-version: "2.0"
2+
maintainer: "defree@gmail.com"
3+
authors: "The Merlin team"
4+
homepage: "https://github.com/ocaml/merlin"
5+
bug-reports: "https://github.com/ocaml/merlin/issues"
6+
dev-repo: "git+https://github.com/ocaml/merlin.git"
7+
license: "MIT"
8+
build: [
9+
["dune" "subst"] {dev}
10+
["dune" "build" "-p" name "-j" jobs]
11+
["dune" "runtest" "-p" name "-j" jobs] {with-test}
12+
]
13+
depends: [
14+
"ocaml" {>= "5.2" & < "5.3"}
15+
"dune" {>= "3.0.0"}
16+
"merlin-lib" {= version}
17+
"dot-merlin-reader" {>= "5.0"}
18+
"ocaml-index" {>= "1.0" & post}
19+
"yojson" {>= "2.0.0"}
20+
"conf-jq" {with-test}
21+
"ppxlib" {with-test}
22+
]
23+
conflicts: [
24+
"seq" {!= "base"}
25+
"base-effects"
26+
]
27+
synopsis:
28+
"Editor helper, provides completion, typing and source browsing in Vim and Emacs"
29+
description:
30+
"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."
31+
post-messages: [
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+
"
72+
{success & !user-setup:installed}
73+
]
74+
url {
75+
src:
76+
"https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz"
77+
checksum: [
78+
"sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15"
79+
"sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f"
80+
]
81+
}
82+
x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727"
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
opam-version: "2.0"
2+
synopsis: "A tool that indexes value usages from cmt files"
3+
description:
4+
"ocaml-index should integrate with the build system to index codebase and allow tools such as Merlin to perform project-wide occurrences queries."
5+
maintainer: ["ulysse@tarides.com"]
6+
authors: ["ulysse@tarides.com"]
7+
license: "MIT"
8+
homepage: "https://github.com/voodoos/ocaml-index"
9+
bug-reports: "https://github.com/voodoos/ocaml-index/issues"
10+
depends: [
11+
"dune" {>= "2.9"}
12+
"ocaml" {>= "5.2"}
13+
"merlin-lib" {>= "5.1-502"}
14+
"odoc" {with-doc}
15+
]
16+
build: [
17+
["dune" "subst"] {dev}
18+
[
19+
"dune"
20+
"build"
21+
"-p"
22+
name
23+
"-j"
24+
jobs
25+
"--promote-install-files=false"
26+
"@install"
27+
"@runtest" {with-test}
28+
"@doc" {with-doc}
29+
]
30+
["dune" "install" "-p" name "--create-install-files" name]
31+
]
32+
dev-repo: "git+https://github.com/voodoos/ocaml-index.git"
33+
url {
34+
src:
35+
"https://github.com/voodoos/ocaml-index/releases/download/v1.0/ocaml-index-1.0.tbz"
36+
checksum: [
37+
"sha256=01e39ca310d561f7012f5dad47905173747466c5c9f7dfe14833db5c72871e1c"
38+
"sha512=3fa40158d20a9da66d6e10d4ff566457f9279f6e6b5012275ad30c11678a4516922f940817d4d70c9eec68dc2458848d09e75b5bd7f3f08aee01e82a063f0c1f"
39+
]
40+
}
41+
x-commit-hash: "0f9ffbbc9d1b4def495d3d2c7aa135a486bbcc9d"

0 commit comments

Comments
 (0)