Use MarkupContent for hover contents
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
Direzione di ricerca
The work is in compiler-services/iris-analysis/src/hover.rs and tests-integration/src/generated/lsp.rs. Start by reading the LSP 3.18 spec on MarkupContent and the gen-lsp-types crate. Examine how hovers are currently built using MarkedString. Change the logic to build a single MarkupContent value, handling the contentFormat client capability. Update the integration test renderer and regenerate snapshots with just t lsp. Done when the #[allow(deprecated)] attributes are removed and all hover tests pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
The language server is moving from lsp-types 0.95 to gen-lsp-types, which generates its types from the LSP 3.18 metamodel. LSP 3.18 deprecates MarkedString in favour of MarkupContent, and gen-lsp-types marks MarkedString, MarkedStringWithLanguage, and their variants #[deprecated].
Hovers still build MarkedString values (Contents::MarkedString and Contents::MarkedStringList) in compiler-services/iris-analysis/src/hover.rs: signatures and kinds as purescript code blocks, annotations as plain strings, and --- separators between them. To keep the type migration free of wire and snapshot changes, those sites and the hover renderer in tests-integration/src/generated/lsp.rs are allowed with a scoped #[allow(deprecated)].
Goal
Return hover contents as MarkupContent and remove the #[allow(deprecated)] escape hatches.
Scope
- Build hover contents as a single
MarkupContent, rendering code as fencedpurescriptblocks and separating sections with Markdown rules. - Negotiate
textDocument.hover.contentFormat: use Markdown when the client supports it and fall back to plain text otherwise, rather than assuming Markdown. - Remove the
MarkedStringhelpers and the#[allow(deprecated)]attributes fromhover.rsand the integration-test renderer. - Regenerate the affected
lspfixture snapshots and review each hover change.
Tests
just t lspwith reviewed snapshot changes for hover fixtures.- A capability-negotiation test covering Markdown and plain-text clients.
- Lingua principale
- Rust
- Stelle
- 102
- Fork
- 11
- Merge medio
- 3h 31m
- PR unite (30g)
- 134
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di purefunctor/purescript-iris
-
bug language-server
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
purefunctor/purescript-iris#552 ·
-
bug language-server
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
purefunctor/purescript-iris#551 ·
-
tooling
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
purefunctor/purescript-iris#507 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
purefunctor/purescript-iris#264 ·
-
checking semantics
purefunctor/purescript-iris#147 · 1 assegnatario ·
Tutte le issue di purefunctor/purescript-iris
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
bug core
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Apertafuzz
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ClickHouse/ClickHouse#122114 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
linebender/vello_svg#90 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100