Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Closes #2901
Add-ons have a bit of boilerplate code that is tedious to setup. This pull request will add generator command into executable that can both add the add-on structure to an existing gem or create a brand new add-on gem.
Implementation
Add-on Creation Logic:
=> If inside an existing project (detected by Gemfile), creates add-on files in lib/ruby_lsp/<addon_name>.
=> If outside a project, prompts to create a new gem using bundle gem and then adds the add-on files.
Added a private camelize method to transform some_name into SomeName for module naming.
Creates addon.rb and addon_test.rb with boilerplate code following best practices.
Updates notes on the add-on docs to include the newest feature
Manual Tests
Screen.Recording.2025-02-19.at.5.55.42.PM.mov
Screen.Recording.2025-02-19.at.6.03.14.PM.mov