Skip to content

Add opt-in block-end code mining - #4226

Open
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:lv/block-end-codemining
Open

Add opt-in block-end code mining#4226
vogella wants to merge 1 commit into
eclipse-platform:masterfrom
vogella:lv/block-end-codemining

Conversation

@vogella

@vogella vogella commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

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, which keeps org.eclipse.ui.workbench.texteditor free of any dependency on JDT or a language model.
Braces in comments and string literals are skipped where the document has a partitioning that marks code as the default content type; a partitioning that uses content types of its own, as TextMate does for every text file, cannot say where the code is and is ignored.
A block is annotated once it spans at least a configurable number of lines, 20 by default.
Nothing in the platform recomputes minings on a document change (JDT ships its own reconciler for that), so the provider follows the document itself and refreshes shortly after typing stops, off the UI thread.

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.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Test Results

   858 files  +  286     858 suites  +286   52m 44s ⏱️ +37s
 8 339 tests +   31   8 096 ✅ +   36  243 💤  -   5  0 ❌ ±0 
20 886 runs  +7 024  20 216 ✅ +6 809  670 💤 +215  0 ❌ ±0 

Results for commit 0434738. ± Comparison against base commit ee7ae1f.

♻️ This comment has been updated with latest results.

@vogella
vogella force-pushed the lv/block-end-codemining branch from f1dd834 to 8a4d2f4 Compare August 14, 2026 10:23
@vogella vogella changed the title WIP - Add opt-in block-end code mining Add opt-in block-end code mining Aug 14, 2026
@vogella
vogella force-pushed the lv/block-end-codemining branch from 8a4d2f4 to d0316e0 Compare August 24, 2026 02:53
@vogella vogella added plan Planned bugs/enhancements for a release and removed Planned for 4.42 labels Aug 31, 2026
Echo a block's opening line at its closing brace, prefixed with " // ", so an
isolated } tells which block it terminates.

Braces are matched structurally, without a parser, so there is no dependency on
JDT or a language model. Braces in comments and string literals are skipped
where the document has a partitioning that marks code as the default content
type; a partitioning that uses content types of its own, as TextMate does for
every text file, cannot say where the code is and is ignored. Only blocks
spanning at least a configurable number of lines are annotated, 20 by default.

Nothing in the platform recomputes minings on a document change, JDT brings its
own reconciler for that, so the provider follows the document itself and
refreshes shortly after typing stops.

The feature is off by default and enabled on the Text Editors preference page,
where the code mining settings now share a group with the existing problem
annotation ones.

Assisted-by: multiple AI agents and layers of automated tooling 🤖
@vogella
vogella force-pushed the lv/block-end-codemining branch from d0316e0 to 0434738 Compare September 9, 2026 14:43
@vogella
vogella marked this pull request as ready for review September 9, 2026 14:44
@vogella

vogella commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author
pr4226-preferences pr4226-code-minings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

plan Planned bugs/enhancements for a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant