Add opt-in block-end code mining - #4226
Draft
vogella wants to merge 1 commit into
Draft
Conversation
Contributor
Add a language-agnostic code mining that echoes a block's opening line at its closing brace, making it easier to see which block a closing brace belongs to. The echoed text is prefixed with "// " so it reads like the closing brace comment people write by hand. Braces are matched purely structurally, so braces inside comments and strings are ignored when the document has a partitioner for the default partitioning; otherwise the whole document is treated as code. There is no dependency on JDT or any language model. To avoid clutter the mining is only shown for blocks spanning at least a configurable number of lines (default 20). The feature is registered by default but disabled via preferences and can be enabled together with the minimum block size on the Text Editors preference page. The code mining settings there now live in their own group, which also takes the existing problem annotation settings off the crowded flat option list.
vogella
force-pushed
the
lv/block-end-codemining
branch
from
August 14, 2026 10:23
f1dd834 to
8a4d2f4
Compare
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.
Adds a language-agnostic code mining that echoes a block's opening line at its closing brace, so an isolated
}tells you which block it terminates. The echoed text is prefixed with//so it reads like the closing brace comment people write by hand.Braces are matched purely structurally over the default document partitioning, which keeps
org.eclipse.ui.workbench.texteditorfree of any dependency on JDT or a language model: braces inside comments and strings are skipped whenever a partitioner is installed, and otherwise the whole document is treated as code. A block is annotated once it spans at least a configurable number of lines (default 20), which is the only knob; an earlier "or contains a nested block" rule was dropped because it fired on very short blocks and cluttered the editor.The feature is off by default behind a new checkbox on the Text Editors preference page. Since that page is already crowded, the new setting and the existing problem annotation code mining settings now share a "Code Minings" group instead of adding two more rows to the flat option list.
Covered by unit tests for the brace matching (including partitioned documents where braces sit in comments and strings), a preference page test for the group and the enablement dependency, and an editor test that asserts the mining is actually rendered at the closing brace and disappears again when the preference is turned off.