Simpler approach for storing and accessing document settings
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 446
- Forks
- 32
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 1
Description
Follow up on #122.
-
We currently have a setting resolver that caches settings for the folders in the workspace.
-
We don't store resolved settings in our
Documentobjects to avoid unnecessary copies of data. Nor do we store references because we'd have to deal with lifetimes and invalidation.
That might be a good use case for trying out caching with Salsa. We could then simply store the settings in every document since they'd be interned and cached by Salsa, which would also handle invalidation. We'd spare a bunch of code and have better ergonomics.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the setting resolver, workspace-folder caching, and the Document objects described here, then read follow-up issue #122 and investigate how Salsa would provide interning and invalidation. Done means determining whether resolved settings can be stored in each Document while removing the current copy, reference-lifetime, and invalidation complexity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100