Skip to content

Commit

Permalink
[new release] merlin and dot-merlin-reader (4.3.1-412)
Browse files Browse the repository at this point in the history
CHANGES:

Mon Jul 26 04:45:37 PM CET 2021

  + merlin binary
    - recover ill-typed patterns (ocaml/merlin#1317, ocaml/merlin#1342)
    - more accurate type-enclosing for methods (ocaml/merlin#1328, fixes ocaml/merlin#1124)
    - fix location of patterns in Occurrences (ocaml/merlin#1324, fixes ocaml/ocaml-lsp#375)
    - fix location of module definitions done via functors (ocaml/merlin#1329, fixes ocaml/merlin#1199)
    - fix -cmt-path dirs mistakenly added to build path (ocaml/merlin#1330)
    - add new module holes that can replace module expressions (ocaml/merlin#1333)
    - add a new command `construct` that builds a list of possible terms when
      called on a typed hole (ocaml/merlin#1318)
    - `refactor-open` improvements (ocaml/merlin#1313, ocaml/merlin#1314, ocaml/merlin#1366, ocaml/merlin#1372)
      - do not make paths absolute, simply prefix with the identifier under
      the cursor
        ```ocaml
        open Foo (* calling refactor-open qualify on this open *)
        let _ = Foo.bar (* previously could result in [Dune__exe.Foo.bar] *)
        ```
      - do not return identical (duplicate) edits
      - do not return unnecessary edits that when applied do not change
        the document
      - handle record fields properly
      - handle multi-line paths
      - `unqualify` should not qualify
    - Handle `Persistent_env.Error` in `Typemod.initial_env` (ocaml/merlin#1355)
    - locate: reset global state from all entry points (ocaml/merlin#1364)
    - Windows: replace user name by its SID in socketnames (ocaml/merlin#1345, @ttamttam)
  + editor modes
    - vim: add a simple interface to the new `construct` command:
      `MerlinConstruct`. When several results are suggested, `<c-i>`
      and `<c-u>` can be use to change the depth of the recursive
      construction. (ocaml/merlin#1318)
    - vim: add support for the `merlin-locate-type` command:
      `MerlinLocateType` (ocaml/merlin#1359)
    - emacs: add a simple interface to the new `construct` command:
      `merlin-construct`. (ocaml/merlin#1352)
    - emacs: add support for the `merlin-locate-type` command. (ocaml/merlin#1359)
    - emacs: fix issue with `merlin--highlight` and  various minor improvements
        (ocaml/merlin#1367, @mattiase)
  + test suite
    - cover the new `construct` command (ocaml/merlin#1318)
    - disable tests failing in Opam's CI due to nested dune projects (ocaml/merlin#1373)
  • Loading branch information
voodoos committed Jul 26, 2021
1 parent 7ac0c7e commit 7084a58
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 0 deletions.
31 changes: 31 additions & 0 deletions packages/dot-merlin-reader/dot-merlin-reader.4.3.1-412/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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" {>= "4.06.1" }
"dune" {>= "2.7.0"}
"yojson" {>= "1.6.0"}
"ocamlfind" {>= "1.6.0"}
"csexp" {>= "1.2.3"}
"result" {>= "1.5"}
]
description:
"Helper process: reads .merlin files and gives the normalized content to merlin"
x-commit-hash: "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf"
url {
src:
"https://github.com/ocaml/merlin/releases/download/v4.3.1-412/merlin-v4.3.1-412.tbz"
checksum: [
"sha256=59030191e223ac5daf9cf1e406c60275cfa5e521d0414b6e77394318e4fa022a"
"sha512=48b02307b074db5af4cae400fd7d257153f3ec2463d01a05df1bb8cb0deafc8db597163c2e0d7adf6a6c720989aac4501f7a338948b35c8b6adad4626abe178c"
]
}
77 changes: 77 additions & 0 deletions packages/merlin/merlin.4.3.1-412/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
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" "merlin,dot-merlin-reader" "-j" "1"] {with-test}
]
depends: [
"ocaml" {>= "4.12" & < "4.13"}
"dune" {>= "2.9.0"}
"dot-merlin-reader" {>= "4.0"}
"yojson" {>= "1.6.0"}
"conf-jq" {with-test}
"csexp" {>= "1.2.3"}
"result" {>= "1.5"}
"menhir" {dev}
"menhirLib" {dev}
"menhirSdk" {dev}
]
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\" \"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}
]
x-commit-hash: "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf"
url {
src:
"https://github.com/ocaml/merlin/releases/download/v4.3.1-412/merlin-v4.3.1-412.tbz"
checksum: [
"sha256=59030191e223ac5daf9cf1e406c60275cfa5e521d0414b6e77394318e4fa022a"
"sha512=48b02307b074db5af4cae400fd7d257153f3ec2463d01a05df1bb8cb0deafc8db597163c2e0d7adf6a6c720989aac4501f7a338948b35c8b6adad4626abe178c"
]
}

0 comments on commit 7084a58

Please sign in to comment.