LSP hover emits literal \n in Markdown code fences
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- c
- Bereich
- developer-experience, tooling
Rechercherichtung
Beginne in src/eigenlsp.c bei handle_hover, wo die Fence-Strings " eigenscript\\n" und "\\n " angehängt werden, bevor sie ein zweites Mal JSON-escaped werden; verfolge den Escaping-Pfad, um zu sehen, wo der literale Backslash+n erzeugt wird. Reproduziere mit make lsp und dem Treiber briefs/out/r1-8/drivers/hover_format_gap.py und vergleiche mit hover-format-gap.json. Fertig, wenn der dekodierte contents.value echte Zeilenumbrüche um den Fence enthält und JSON-RPC-Tests einen Builtin-/Symbol-Hover sowie sowohl numerische int- als auch float-Literale abdecken, ohne bestehende Klassifizierungen zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The LSP hover formatter emits the two characters backslash + n inside its Markdown code fences instead of newline characters. This is inherited by the numeric literal hover added during #1758 R1.8; the formatter already affected builtin/symbol hover on the base.
src/eigenlsp.c:handle_hover appends C strings "```eigenscript\\n" and "\\n```", then JSON-escapes them again. A real JSON-RPC hover over 3.0 returns a contents.value whose Python representation is '```eigenscript\\nfloat\\n```', with zero actual newline characters. Markdown consumers therefore do not receive a fenced code block.
Reproducer: build make lsp, initialize a JSON-RPC session, didOpen print of 3.0\n, request textDocument/hover at line 0, character 9, and inspect the decoded contents.value. The read-only reproduction driver and result are in the R1.8 handoff: briefs/out/r1-8/drivers/hover_format_gap.py and hover-format-gap.json.
Done when:
- Hover content contains actual newlines around the code block, without literal backslash+n in their place.
- Real JSON-RPC tests cover a builtin/symbol hover and both numeric literal kinds.
- Existing hover text and numeric
int/floatclassifications remain correct.
Principle: No silent wrong answers. This is a formatting gap outside R1.8's numeric semantics and is surfaced separately rather than silently broadening that round.
- Vorherrschende Sprache
- C
- Sterne
- 3
- Forks
- 7
- Ø Merge
- 8 Std. 51 Min.
- Gemergte PRs (30 T.)
- 393
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus InauguralSystems/EigenScript
-
area:stdlib bug found-by:cold-read kind:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
InauguralSystems/EigenScript#2197 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:gates kind:gate-defect
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
InauguralSystems/EigenScript#2188 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:docs kind:docs-drift
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
InauguralSystems/EigenScript#1887 ·
Maintainer antworten meist innerhalb von 1 Tag
-
phase2: test_bitwise.eigs cites ctl.scan.* rows; the MAP's refusal controls are ctl.N8.refuse-*Offenarea:gates kind:docs-drift
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
InauguralSystems/EigenScript#1851 ·
Maintainer antworten meist innerhalb von 1 Tag
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atOffenarea:runtime-vm kind:silent-wrong
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
InauguralSystems/EigenScript#1748 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in InauguralSystems/EigenScript
Ähnliche Issues
-
vim.filetype.match() prefixes a URL buffer name with the cwd before passing it to filetype functionsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
stream_curl: retry_count never resets after a successful reconnect, so long sequential streams die after 5 dropsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
mpv-player/mpv#18728 ·
Maintainer antworten meist innerhalb von 1 Tag
-
followup Prio 📌
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
cyrusimap/cyrus-imapd#6640 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 60/100
Maintainer antworten meist innerhalb von 1 Tag