Add detection reasons to auto-detection log messages#3859
Merged
vinistock merged 1 commit intoShopify:mainfrom Jan 8, 2026
Merged
Add detection reasons to auto-detection log messages#3859vinistock merged 1 commit intoShopify:mainfrom
vinistock merged 1 commit intoShopify:mainfrom
Conversation
vinistock
reviewed
Dec 15, 2025
336c31d to
e2c9a81
Compare
Log messages for auto-detected formatters, linters, test libraries, and type checkers now include the reason why they were detected. For example: - "Auto detected formatter: rubocop_internal (direct dependency matching /^rubocop/)" - "Detected test library: rails (bin/rails present)" This helps users debug false positives by understanding which detection heuristics triggered. Fixes Shopify#3845
e2c9a81 to
9368a53
Compare
rafaelfranca
approved these changes
Jan 8, 2026
vinistock
approved these changes
Jan 8, 2026
Member
vinistock
left a comment
There was a problem hiding this comment.
Thank you for the contribution!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 #3845
RubyLSP will helpfully log the formatter and linter detected, but not indicate
how or why it came to that conclusion. This can make it difficult to ascertain
whether the detection was correct.
Implementation
The detection methods for formatters, linters, test libraries, and type checkers
were updated to return not just the detected tool, but also a string indicating
the reason for the detection. The logging statements were updated to include
this reason.
A regular class for the detection result (vs
Data) was chosen for Ruby compatibility.Automated Tests
No tests were addeed specifically for this logging change.
Manual Tests
When running the LSP, you can observe the log messages to see the detection reasons.