-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reset the uid counter when restoring the typer's state #1779
Merged
Conversation
This file contains 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
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 10, 2024 12:46
af9f1ea
to
121f81a
Compare
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 10, 2024
21 tasks
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 10, 2024
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 10, 2024 13:47
4a04846
to
b645c2d
Compare
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 10, 2024
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 10, 2024 15:10
d379077
to
0591b4e
Compare
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 11, 2024
voodoos
force-pushed
the
reset-uid-counter
branch
2 times, most recently
from
June 11, 2024 10:31
5565494
to
78dbf3e
Compare
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 11, 2024
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 11, 2024 12:01
73245b5
to
4354d7f
Compare
voodoos
added a commit
to voodoos/merlin
that referenced
this pull request
Jun 11, 2024
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 11, 2024 12:01
4354d7f
to
2f651c8
Compare
This ensures UIDs are stable between edits. Since some table use uids as keys, we have to clean them properly. This is done using the Stamped_hashtable datastructure introduced in 147f0c3
when Dune is < 3.16 when ocaml-index is not installed
voodoos
force-pushed
the
reset-uid-counter
branch
from
June 11, 2024 15:23
40461f3
to
42bda3d
Compare
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Jun 18, 2024
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)
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Jun 18, 2024
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.
voodoos
added a commit
to voodoos/opam-repository
that referenced
this pull request
Jun 18, 2024
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.
avsm
pushed a commit
to avsm/opam-repository
that referenced
this pull request
Sep 5, 2024
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.
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 ensures uids are stable between edits. This is important for features such as project-wide occurrences that first identify definitions' uids before looking them up in an external table. We need these uids to coincide with the ones of emitted by the compiler.
Since some tables use uids as keys, we have to clean them properly. This is done using the Stamped_hashtable datastructure introduced in 147f0c3.