rescript-lang / rescript-lang/rescript-vscode
Improving doc comments syntax highlighting in hovering
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- ReScript
- Sterne
- 354
- Forks
- 63
- Ø Merge
- 11 Std. 29 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
After #97 and #525 have been merged we can provider basic syntax highlight when hovering.
Current state

Apparently vscode does not detect ```res example as rescript syntax. In markdown highlighting works.

Proposal
Convert ```res example to rescript. This can be done on the client side `client/src/extension.ts`, but I'm more +1 to do it in analysis bin as it wouldn't affect other clients.
As the return is markdown we could create sections using the word after ```res?
From:
```res example
To:
## Example\n```rescript
Example:
From:
Constructs a RegExp object (Js.Re.t) from a `string`.
Regex literals `%re("/.../")` should generally be preferred, but `fromString`
is useful when you need to dynamically construct a regex using strings,
exactly like when you do so in JavaScript.
```res example
let firstReScriptFileExtension = (filename, content) => {
let result = Js.Re.fromString(filename ++ "\.(res|resi)")->Js.Re.exec_(content)
switch result {
| Some(r) => Js.Nullable.toOption(Js.Re.captures(r)[1])
| None => None
}
}
// outputs "res"
firstReScriptFileExtension("School", "School.res School.resi Main.js School.bs.js")
```
To:
Constructs a RegExp object (Js.Re.t) from a `string`.
Regex literals `%re("/.../")` should generally be preferred, but `fromString`
is useful when you need to dynamically construct a regex using strings,
exactly like when you do so in JavaScript.
## Example
```rescript
let firstReScriptFileExtension = (filename, content) => {
let result = Js.Re.fromString(filename ++ "\.(res|resi)")->Js.Re.exec_(content)
switch result {
| Some(r) => Js.Nullable.toOption(Js.Re.captures(r)[1])
| None => None
}
}
// outputs "res"
firstReScriptFileExtension("School", "School.res School.resi Main.js School.bs.js")
```
Below an example after convert res to rescript. Note: indentation at the beginning of the line are preserved, we must remove them.

Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Untersuchung der Hover-Verarbeitung in client/src/extension.ts und des im Issue vorgeschlagenen analysis bin-Pfads. Verfolge, wie Hover-Markdown zusammengesetzt wird, einschließlich umzäunter Blöcke und Einrückung. Als erledigt gilt, wenn res example-Blöcke als rescript-Syntax mit einem Example-Abschnitt gerendert werden und die Einrückung des erhaltenen Inhalts wie erforderlich entfernt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- developer-experience
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100