Skip to content

Add project-based index caching to speed up initial load of index #1040

Description

@xhocquet

This feature is VS Code specific

  • VS Code specific

Use case

My workflow involves switching between projects when I want to work in another repo/folder, as opposed to keeping them all open in separate VSCode windows. I find this consumes less resources and helps me maintain focus. Adding some initial caching to the ruby-lsp indices could help me start navigating 5+ seconds quicker when I switch projects.

Description

I would imagine that upon finishing indexing the project, you could, based on configuration, store the index in some file representation in the project folder (or elswhere).

When opening the project from then on, the latest index could be immediately supplied to ruby-lsp to offer finding definitions and other features as soon as the project loads. In the meantime, the index could be rebuilt and refreshed in the background, and set as the active index once ready.

Implementation

Suggested above, but I suppose the main limitation is if you can persist and feed indices to ruby-lsp easily.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp-wantedExtra attention is neededpinnedThis issue or pull request is pinned and won't be marked as stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions