Support Rails auto-detection for engines/railties
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 2k
- Forks
- 281
- Avg merge
- 2h 14m
- Merged PRs (30d)
- 6
Description
I have checked that this feature is not already implemented
- This feature does not exist
Use case
The LSP currently does not auto-detect Rails for Engine/Railtie projects, presumably as of #2218. The ability to use the Rails add-on when working on such projects would be extremely useful, particularly for tests and feature congruence when working on Rails applications and common dependencies simultaneously.
Description
A few options come to mind:
- The Rails LSP add-on to be automatically installed upon detection of a Railtie-based project, instead of just a concrete application
- Automatic inclusion upon detection of a Rails dummy application
- Manual configuration via VS Code Settings to "tell" Ruby LSP to install the add-on
Implementation
Ideally the auto-detection for Rails apps would be modified to add an additional check - whether or not the main class descends from Rails::Railtie. Variable-depth namespacing may add complexity to finding the main class, but I'm no expert. Applying the current check a second time at [spec|test]/*/config/application.rb may be a suitable alternative for basing inclusion on the existence of a dummy app - something included as standard by the Rails plugin generator.
If these options aren't feasible, could some mechanism be added to allow users to manually specify that the Rails add-on should be included?
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 by reviewing the existing Rails application auto-detection referenced in #2218 and the checks around [spec|test]/*/config/application.rb. Compare detection for concrete applications, Railtie-based projects, and dummy applications, then determine which supported configuration should cause the Rails add-on to be included. Done means the chosen detection or manual configuration works for the stated project types with corresponding tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rails, ruby
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100