-
Notifications
You must be signed in to change notification settings - Fork 322
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
Refactor Import Resolution To Use a Package Repository #1768
Comments
Old specification for historical reference:SummaryWhen a new library is added to the project, it needs to be loaded. We want to avoid restarting the whole context if possible, to not disrupt user's workflow.
While the import logic is being updated (especially the logic for triggering loading new packages), the following related issues may be fixed by the way: #1569, #1756, #1683. Value
Specification
|
Summary
We want to introduce a concept of a
PackageRepository
which resolves library names to library paths and downloads any missing libraries.This part consists of creating a dummy
PackageRepository
that is still using the old import logic but most importantly refactoring theImportResolver
to use thePackageRepository
interface, allowing for future migration.Value
Specification
PackageRepository
.ImportResolver
use aPackageRepository
for requestingModule
s.PackageRepository
encounters a new library (that was not previously loaded) which notifies the language-server (if it is connected) that a new content root may be added.PackageRepository
.Context
, for example thepackages
list should also be updated to rely on thePackageRepository
.TopLevelScope
to refer to thePackageRepository
.getModules
togetLoadedModules
.Acceptance Criteria & Test Cases
The text was updated successfully, but these errors were encountered: