2.1 KiB
| id | ticket | title | status | created | resolved | decision | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AGD-0054 | pbs-lsp-diagnostics-ux | PBS LSP Diagnostics UX | open | 2026-07-15 |
|
Pain
Domain owner: studio/lsp
PBS diagnostics reach VS Code, but the editor experience can still be hard to act on when ranges, related information, severity, and phase context are too generic.
Context
The LSP maps compiler diagnostics to LSP diagnostics. Compiler diagnostics include phase/code/message/range in several paths, but not all editor-friendly fields are consistently exposed.
Open Questions
- Which diagnostics need better ranges or related information first?
- Should diagnostic source include compiler phase, frontend, or both?
- What structured diagnostic metadata is needed for future quick fixes without coupling UI to text messages?
Options
Option A - Mapper-only UX improvements
- Approach: Improve LSP diagnostic mapping using existing diagnostic fields.
- Pro: Quick improvements to source, severity, and display consistency.
- Con: Cannot add missing related spans or repair metadata that compiler diagnostics do not expose.
- Maintainability: Good for presentation-only changes.
Option B - Structured diagnostic contract
- Approach: Extend compiler diagnostics with editor-facing metadata such as phase, related locations, stable quick-fix hints, and refined ranges.
- Pro: Enables better diagnostics and future code actions without parsing message text.
- Con: Requires compiler/core diagnostic API changes.
- Maintainability: Strong as the foundation for quick fixes and richer UX.
Tradeoffs
Some improvements belong in the LSP mapper, but the most valuable changes require structured information at diagnostic creation time.
Recommendation
Prefer Option B as the target, with mapper-only cleanup allowed for low-risk display fixes.
Discussion
This agenda should inform code actions before quick fixes become broad.
Resolution
Ainda em aberto.
Next Step
Inventory high-frequency diagnostics and identify which need better ranges, related information, or repair hints.