Skip to content

Add oak_scan crate with initial library scanning#1243

Open
lionel- wants to merge 4 commits into
mainfrom
oak/salsa-11-scan-library
Open

Add oak_scan crate with initial library scanning#1243
lionel- wants to merge 4 commits into
mainfrom
oak/salsa-11-scan-library

Conversation

@lionel-
Copy link
Copy Markdown
Contributor

@lionel- lionel- commented May 29, 2026

Branched from #1226
Progress towards #1212

Introduces oak_scan with a library scanner. The LSP layer calls (in the next PR) the scanner on startup with .libPaths(). Each libpath is set as a library root in oak_db.

oak_scan is the only writer of Salsa inputs in oak_db, and is in charge of maintaining invariants, such as making sure backpointers are up-to-date.

Library roots are static for now. Watching them for changes (package removed or installed) would require our own filesystem watcher. Since we don't need one for the workspace (we'll use LSP file events), the machinery would be a bit too heavy for what we would gain for it at this stage. For now the LSP can be restarted to register changes to libpaths.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant