Use weak strategy when reducing shapes#1488
Merged
voodoos merged 2 commits intoocaml:masterfrom Jun 28, 2022
Merged
Conversation
gasche
reviewed
Jun 27, 2022
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 29, 2022
Use weak strategy when reducing shapes from voodoos/shapes-perf Co-authored-by: gasche <gabriel.scherer@gmail.com>
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 30, 2022
Use weak strategy when reducing shapes from voodoos/shapes-perf Co-authored-by: gasche <gabriel.scherer@gmail.com>
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Jun 30, 2022
CHANGES:
Thu Jun 30 14:51:42 CEST 2022
+ merlin binary
- make most library public and split merlin in two packages: the
`merlin-lib` package that exposes merlin's internals and the `merlin`
package with the frontend. (ocaml/merlin#1448, ocaml/merlin#1455, ocaml/merlin#1457, ocaml/merlin#1497, @rgrinberg,
@tmattio, @kit-ty-kate)
- Type printing: use best_module_path for paths from Mty_alias (ocaml/merlin#1470)
- Attempt at finding the 'real' capitalization of files on windows (ocaml/merlin#1462 by
@mlasson)
- Use newer `Seq`-based API of Yojson 2.0, avoiding the need for the
deprecated `Stream` module (ocaml/merlin#1475 by @Leonidas-from-XIV)
- unify parsing of `MERLIN_LOG` (ocaml/merlin#1480 by @ulugbekna)
- Fix type deduplication in `type-enclosing` results (ocaml/merlin#1483, fixes ocaml/merlin#1477)
- Only weakly reduce the shapes to speed up the new Merlin locate
implementation. (ocaml/merlin#1488)
- Ignore unknown configuration tags from dune configuration provider but not
from dot-merlin-reader (ocaml/merlin#1486)
- typing recovery: recover at the granularity of `core_type` (ocaml/merlin#1484)
+ editor modes
- add method imenu items for emacs (ocaml/merlin#1481, @mndrix)
- emacs: Make the prefix argument to `merlin-locate` optional, both for
consistency with Emacs convention and for backwards compatibility. (ocaml/merlin#1476,
@antalsz)
- emacs: fix duplicated prefix path in imenu entries (ocaml/merlin#1495, @bcc32)
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.
This prevent unnecessary computations when reducing shapes in Merlin.
For example, in the current released version, Merlin would completely reduce the whole shape of the module
Irmin_unixwhen performing a jump-to-definition atIrmin_u|nix.Git.Some(Stuff)which is wasteful since we only need the UID attributed to the top-level structure of the shape.This patch leads to a huge speed up in this case. Improving #1468 a lot.
cc @gasche