From 082c3484165e8335439ea0cdbef8446539f5c766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulysse=20G=C3=A9rard?= Date: Tue, 18 Jun 2024 11:33:46 +0200 Subject: [PATCH] [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) --- .../dot-merlin-reader.5.1-502/opam | 30 +++++++ packages/merlin-lib/merlin-lib.5.1-502/opam | 34 ++++++++ packages/merlin/merlin.5.1-502/opam | 85 +++++++++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 packages/dot-merlin-reader/dot-merlin-reader.5.1-502/opam create mode 100644 packages/merlin-lib/merlin-lib.5.1-502/opam create mode 100644 packages/merlin/merlin.5.1-502/opam diff --git a/packages/dot-merlin-reader/dot-merlin-reader.5.1-502/opam b/packages/dot-merlin-reader/dot-merlin-reader.5.1-502/opam new file mode 100644 index 000000000000..874ec53011ee --- /dev/null +++ b/packages/dot-merlin-reader/dot-merlin-reader.5.1-502/opam @@ -0,0 +1,30 @@ +opam-version: "2.0" +maintainer: "defree@gmail.com" +authors: "The Merlin team" +synopsis: "Reads config files for merlin" +homepage: "https://github.com/ocaml/merlin" +bug-reports: "https://github.com/ocaml/merlin/issues" +dev-repo: "git+https://github.com/ocaml/merlin.git" +license: "MIT" +build: [ + ["dune" "subst"] {dev} + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "5.2" } + "dune" {>= "2.9.0"} + "merlin-lib" {>= "5.0"} + "ocamlfind" {>= "1.6.0"} +] +description: + "Helper process: reads .merlin files and outputs the normalized content to + stdout." +url { + src: + "https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz" + checksum: [ + "sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15" + "sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f" + ] +} +x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727" diff --git a/packages/merlin-lib/merlin-lib.5.1-502/opam b/packages/merlin-lib/merlin-lib.5.1-502/opam new file mode 100644 index 000000000000..ad2a9c3273d4 --- /dev/null +++ b/packages/merlin-lib/merlin-lib.5.1-502/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +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" +license: "MIT" +build: [ + ["dune" "subst"] {dev} + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "5.2" & < "5.3"} + "dune" {>= "2.9.0"} + "csexp" {>= "1.5.1"} + "menhir" {dev & >= "20201216"} + "menhirLib" {dev & >= "20201216"} + "menhirSdk" {dev & >= "20201216"} +] +synopsis: + "Merlin's libraries" +description: + "These libraries provides access to low-level compiler interfaces and the + standard higher-level merlin protocol. The library is provided as-is, is not + thoroughly documented, and its public API might break with any new release." +url { + src: + "https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz" + checksum: [ + "sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15" + "sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f" + ] +} +x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727" diff --git a/packages/merlin/merlin.5.1-502/opam b/packages/merlin/merlin.5.1-502/opam new file mode 100644 index 000000000000..b11dadf7bf4e --- /dev/null +++ b/packages/merlin/merlin.5.1-502/opam @@ -0,0 +1,85 @@ +opam-version: "2.0" +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" +license: "MIT" +build: [ + ["dune" "subst"] {dev} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] +depends: [ + "ocaml" {>= "5.2" & < "5.3"} + "dune" {>= "3.0.0"} + "merlin-lib" {= version} + "dot-merlin-reader" {>= "5.0"} + "ocaml-index" {>= "1.0" & post} + "yojson" {>= "2.0.0"} + "conf-jq" {with-test} + "ppxlib" {with-test} +] +conflicts: [ + "seq" {!= "base"} + "base-effects" +] +synopsis: + "Editor helper, provides completion, typing and source browsing in Vim and Emacs" +description: + "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." +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 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\" \"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) + ;; To easily change opam switches within a given Emacs session, you can + ;; install the minor mode https://github.com/ProofGeneral/opam-switch-mode + ;; and use one of its \"OPSW\" menus. + )) +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} +] +pin-depends: [ + ["ocaml-index.1.0" "git+https://github.com/voodoos/ocaml-index#82b08987921884daeeb5dccc345a2dcb667fe113"] +] +url { + src: + "https://github.com/ocaml/merlin/releases/download/v5.1-502/merlin-5.1-502.tbz" + checksum: [ + "sha256=4fd808bc26929cffcca8ea06344790159c10e3eaf9c914cf46ef79e917fcae15" + "sha512=1e582c8d3de6784a036b930136a568eb0cedf213a01041acfcff4eda9c6f74adab9a55c4c0d806b8fccbd882b14a984c9fba480f6c5950146b842d6c100a8d1f" + ] +} +x-commit-hash: "ce00b5bc2bc813bd1b0e2a49438b095042ff7727"