Shopify / Shopify/ruby-lsp

Explore detecting workspace roots automatically

Open
#3,278 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

pinned
Dominant language
Ruby
Stars
2k
Forks
281
Avg merge
2h 14m
Merged PRs (30d)
6

Description

I think we may be able to auto-detect workspaces, in addition to letting users configure multi-root workspaces.

Instead of looking for the lockfile in the directory the user opened the editor, we can follow the same approach Bundler uses to locate the bundle, which is by searching up parent directories.

That would allow people to open VS Code in a directory inside the application's top level, but the LSP would still be operating from that top level project root, giving access to everything the project declares.

Not sure how easy it is, so this issue is for prototyping.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the current lockfile lookup and multi-root workspace handling. Prototype searching parent directories for the workspace root, following Bundler's approach. Done means opening VS Code in a nested directory still makes the LSP operate from the application's top-level project root and use everything declared there.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.