feat(lsp): hover, documentSymbol, willSaveWaitUntil, token-wide diagnostic ranges

This commit is contained in:
Hein
2026-10-06 14:56:32 +02:00
parent e6c4e8b2c3
commit 488801b8b1
4 changed files with 277 additions and 53 deletions
+1 -1
View File
@@ -168,7 +168,7 @@ Legend: ✅ done · 🚧 in progress · ⬜ not started
- Note: SQL keywords inside PL/pgSQL function bodies remain lowercase (matching
the corpus golden files); casing is applied only to top-level DML.
- ✅ Doc-IR core (`pkg/format/doc.go`: Text/Line/SoftLine/Group/Indent/IfBreak + `Render`) and `line_width` (default 120, 0 = unlimited). First consumer: `where_wrap: when_long` (`dmlWhereWhenLong`). `select_wrap` (default `always`) and `join_wrap` (default `never`) also take `always|when_long|never`; `when_long` keeps the SELECT list / `JOIN … ON` on one line when it fits `line_width`, otherwise uses the existing one-column-per-line / ON-per-line layout. Items containing a subquery or wrapped CASE always use the broken layout. _Still TODO: move the remaining DML builders (subqueries, CTEs, VALUES) onto Doc._
- _Still TODO: LSP range formatting._
- ✅ LSP range formatting (already implemented; this note was stale). LSP also has hover (diagnostic rule + message), documentSymbol (functions/procedures), willSaveWaitUntil (format-on-save) and token-wide diagnostic ranges — see `docs/lsp-status.md`.
## ✅ Config expansion — DataGrip settings parity