Skip to content

Use Salsa infrastructure for cross-file goto-definition #1254

Open
lionel- wants to merge 29 commits into
oak/salsa-17-interningfrom
oak/salsa-18-goto-def-migration
Open

Use Salsa infrastructure for cross-file goto-definition #1254
lionel- wants to merge 29 commits into
oak/salsa-17-interningfrom
oak/salsa-18-goto-def-migration

Conversation

@lionel-

@lionel- lionel- commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Branched from #1253
Progress towards #1212
Progress towards #1149

  • Use new Salsa infrastructure for cross-file queries (via source()d files in scripts, or file collation in packages)
  • File gains a line_index() query.
  • PositionEncoding is stored in LspConfig, mirroring r-a
  • Non-redundant parked LSP-layer tests are restored (either in oak_db, oak_ide, or ark).

One regression with the Salsa infra: we no longer analyse files outside of workspace. In the future we could add these as Salsa inputs via oak_scan. Would also require a non-lsp file watcher for out-of-workspace updates.

I recommend testing with #1259 to benefit from bug fixes and improvements in ulterior branches.

@lionel- lionel- changed the title Oak/salsa 18 goto def migration @lionel- Use Salsa infrastructure for cross-file goto-definition Jun 3, 2026
@lionel- lionel- changed the title @lionel- Use Salsa infrastructure for cross-file goto-definition Use Salsa infrastructure for cross-file goto-definition Jun 3, 2026
lionel- added 12 commits June 4, 2026 15:57
Only canonicalise when comparing against paths from external sources
(e.g. normalised by R). Canonicalisation may corrupt the identity of
paths sent by frontends, and may prevent matching files at all when they
are deleted (at which point a non-canonicalised path sent by the
frontend can't be matched against canonicalised paths we've stored as
keys)
@lionel- lionel- force-pushed the oak/salsa-17-interning branch from 59a2813 to 0cd9628 Compare June 4, 2026 14:20
@lionel- lionel- force-pushed the oak/salsa-18-goto-def-migration branch from 54473e0 to 399f3f3 Compare June 4, 2026 14:20
@lionel- lionel- force-pushed the oak/salsa-17-interning branch from 0cd9628 to 25c9de8 Compare June 10, 2026 14:33
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