Conversation
Ppx are invoked only once so there is no need to manage cookies and, as pointed by @lpw25, restoring cookies cause the load path to be scanned. This doubles the number of uncached calls to stat which can be expensive on large projects.
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Apr 13, 2021
CHANGES:
Tue Apr 12 11:44:22 AM CET 2021
+ merlin binary
- external configuration reading:
+ use relative paths to communicate with Dune when possible. This solves
issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
fixes ocaml/merlin#1288)
+ make the `workdir` configuration value when using the
`dune ocaml-merlin` configuration provider the same as when using
`dot-merlin-reader` so that ppxes behaves in the same way as before
(ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
- destruct:
+ improve prefixing of generated constructors in Destruct by filtering
opened modules (ocaml/merlin#1277)
+ make the destruct command more resilient to ill-typed expressions and
when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
- reintroduce some record recovery and improve completion (ocaml/merlin#1276)
- introduce a new AST node for holes (`_`), allow correct typing of these
holes and add a new `holes` command that returns the locations of all
holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
- Mppx: don't restore cookies after invocation. Ppx are invoked only once
so there is no need to manage cookies. This small change should increase
performance and should not change any other behavior (ocaml/merlin#1309)
- Windows: system command variant: do not open a window console when
launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
- fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
+ editor modes
- vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
- emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
- emacs: modernization of the elisp code and conformance with coding
guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
- vim & emacs : new client-side "merlin use package" commands, restoring
previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
+ test suite
- cover constructor disambiguation and record fields (ocaml/merlin#1276)
- cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
- cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Apr 13, 2021
CHANGES:
Tue Apr 12 11:44:22 AM CET 2021
+ merlin binary
- external configuration reading:
+ use relative paths to communicate with Dune when possible. This solves
issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
fixes ocaml/merlin#1288)
+ make the `workdir` configuration value when using the
`dune ocaml-merlin` configuration provider the same as when using
`dot-merlin-reader` so that ppxes behaves in the same way as before
(ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
- destruct:
+ improve prefixing of generated constructors in Destruct by filtering
opened modules (ocaml/merlin#1277)
+ make the destruct command more resilient to ill-typed expressions and
when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
- reintroduce some record recovery and improve completion (ocaml/merlin#1276)
- introduce a new AST node for holes (`_`), allow correct typing of these
holes and add a new `holes` command that returns the locations of all
holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
- Mppx: don't restore cookies after invocation. Ppx are invoked only once
so there is no need to manage cookies. This small change should increase
performance and should not change any other behavior (ocaml/merlin#1309)
- Windows: system command variant: do not open a window console when
launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
- fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
+ editor modes
- vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
- emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
- emacs: modernization of the elisp code and conformance with coding
guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
- vim & emacs : new client-side "merlin use package" commands, restoring
previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
+ test suite
- cover constructor disambiguation and record fields (ocaml/merlin#1276)
- cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
- cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Apr 13, 2021
CHANGES:
Tue Apr 12 11:44:22 AM CET 2021
+ merlin binary
- external configuration reading:
+ use relative paths to communicate with Dune when possible. This solves
issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
fixes ocaml/merlin#1288)
+ make the `workdir` configuration value when using the
`dune ocaml-merlin` configuration provider the same as when using
`dot-merlin-reader` so that ppxes behaves in the same way as before
(ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
- destruct:
+ improve prefixing of generated constructors in Destruct by filtering
opened modules (ocaml/merlin#1277)
+ make the destruct command more resilient to ill-typed expressions and
when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
- reintroduce some record recovery and improve completion (ocaml/merlin#1276)
- introduce a new AST node for holes (`_`), allow correct typing of these
holes and add a new `holes` command that returns the locations of all
holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
- Mppx: don't restore cookies after invocation. Ppx are invoked only once
so there is no need to manage cookies. This small change should increase
performance and should not change any other behavior (ocaml/merlin#1309)
- Windows: system command variant: do not open a window console when
launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
- fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
+ editor modes
- vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
- emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
- emacs: modernization of the elisp code and conformance with coding
guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
- vim & emacs : new client-side "merlin use package" commands, restoring
previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
+ test suite
- cover constructor disambiguation and record fields (ocaml/merlin#1276)
- cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
- cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Apr 13, 2021
CHANGES:
Tue Apr 12 11:44:22 AM CET 2021
+ merlin binary
- external configuration reading:
+ use relative paths to communicate with Dune when possible. This solves
issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
fixes ocaml/merlin#1288)
+ make the `workdir` configuration value when using the
`dune ocaml-merlin` configuration provider the same as when using
`dot-merlin-reader` so that ppxes behaves in the same way as before
(ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
- destruct:
+ improve prefixing of generated constructors in Destruct by filtering
opened modules (ocaml/merlin#1277)
+ make the destruct command more resilient to ill-typed expressions and
when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
- reintroduce some record recovery and improve completion (ocaml/merlin#1276)
- introduce a new AST node for holes (`_`), allow correct typing of these
holes and add a new `holes` command that returns the locations of all
holes in the current file along with their types (ocaml/merlin#1242, ocaml/merlin#1289)
- Mppx: don't restore cookies after invocation. Ppx are invoked only once
so there is no need to manage cookies. This small change should increase
performance and should not change any other behavior (ocaml/merlin#1309)
- Windows: system command variant: do not open a window console when
launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
- fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
+ editor modes
- vim: Add `MerlinNextHole` and `MerlinPreviousHole` commands to navigate
between holes. Jump to the first hole after destruct (ocaml/merlin#1287, ocaml/merlin#1303)
- emacs: Add `merlin-next-hole` and `merlin-previous-hole` commands to
navigate holes. Jump to the first hole after calling destruct. (ocaml/merlin#1291)
- emacs: modernization of the elisp code and conformance with coding
guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
- vim & emacs : new client-side "merlin use package" commands, restoring
previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
+ test suite
- cover constructor disambiguation and record fields (ocaml/merlin#1276)
- cover the new `holes` command and AST node (ocaml/merlin#1242, ocaml/merlin#1289)
- cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Apr 13, 2021
CHANGES:
Tue Apr 12 11:44:22 AM CET 2021
+ merlin binary
- external configuration reading:
+ use relative paths to communicate with Dune when possible. This solves
issues related to symlinks on Unix and improve Windows support (ocaml/merlin#1271,
fixes ocaml/merlin#1288)
+ make the `workdir` configuration value when using the
`dune ocaml-merlin` configuration provider the same as when using
`dot-merlin-reader` so that ppxes behaves in the same way as before
(ocaml/merlin#1284, fixes ocaml/dune#4479, discussion in ocaml/merlin#1292)
- destruct: make the destruct command more resilient to ill-typed
expressions and when called without nodes (ocaml/merlin#1304, fixes ocaml/merlin#1300)
- Mppx: don't restore cookies after invocation. Ppx are invoked only once
so there is no need to manage cookies. This small change should increase
performance and should not change any other behavior (ocaml/merlin#1309)
- windows:
+ system command variant: do not open a window console when
launching a ppx (ocaml/merlin#1270, fixes ocaml/merlin#714)
+ fix Emacs hanging when starting Merlin (ocaml/merlin#1263)
+ fix path canonicalization (ocaml/merlin#1254)
- fix same file documentation bug (ocaml/merlin#1265 by @ulugbekna, fixes ocaml/merlin#1261)
+ editor modes
- emacs:
+ modernization of the elisp code and conformance with coding
guidelines (ocaml/merlin#1247, ocaml/merlin#1310 by Steve Purcell )
+ use opam var where applicable (ocaml/merlin#1310)
+ fix "wrong number of argument" (ocaml/merlin#1250 by @atharvashukla, fixes ocaml/merlin#1234)
+ fix for Neovim's CursorMoved semantics (ocaml/merlin#1213 by @ddickstein)
- vim & emacs : new client-side "merlin use package" commands, restoring
previous behavior (ocaml/merlin#1272, fixes ocaml/merlin#1191)
+ test suite
- cover the document fix (ocaml/merlin#1265, ocaml/merlin#1315)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ppx are invoked only once so there is no need to manage cookies.
@lpw25 observed that restoring cookies cause the load path to be rescanned.
This doubles the number of uncached calls to stat which can be expensive on large projects.
This small change should increase performance and should not change any other behavior.