[display] import completion: suggest qualified paths for unqualified type prefixes#12981
Merged
Conversation
…type prefixes `import Fo|` and `using Fo|` fell into legacy type path completion, which only lists root-package modules. Raise a toplevel CRImport collection instead, so clients can suggest `pack.to.Foo` (and module sub-types, e.g. `Ba|` -> `pack.to.Foo.Bar`) with fully-qualified insert text. Qualified prefixes (`import pack.Fo|`) keep the package-scoped listing.
Member
|
I remember fighting Nicolas about this because he insisted on this kind of legacy completion that only shows root packages in imports. I don't know is this is still a point of contention though. |
Contributor
Author
|
We have this behavior pretty much everywhere else, and actually using completion somewhere else with auto imports ON is the current workaround for importing types with long package names, which looks pretty stupid.. 😅 |
Member
|
Yeah well, let's just see what happens! |
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.
import Fo|andusing Fo|fell into legacy type path completion, which only lists root-package modules. Raise a toplevelCRImportcollection instead, so clients can suggestpack.to.Foo(and module sub-types, e.g.Ba|->pack.to.Foo.Bar) with fully-qualified insert text. Qualified prefixes (import pack.Fo|) keep the package-scoped listing.