microsoft / microsoft/TypeScript-TmLanguage
import declaration should not include semicolon or require line end
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 471
- Forks
- 149
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
See https://github.com/Microsoft/vscode/issues/30527
The coffeescript grammar includes the JavaScript grammar.
With the following example:
`import Ember from 'ember'`
# foo bar baz
if true then console.log('qnx')
the JavaScript grammar is used to tokenize what's inside the backward quotes. Problem is that it does not return to the initial state after processing 'ember'. It expects a semicolon or the end of the line. Because of that, the JavaScript grammar scope remains and the rest of the file is colorized also with the JavaScipt grammar.
For supporting embedded cases like this, it would be great if the import declaration rule could end to end with the string literal or any non-expected symbol.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
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 damit, die Regel für Importdeklarationen in den Grammar-Dateien zu finden, und reproduziere das eingebettete CoffeeScript-Beispiel aus dem Issue. Prüfe, wie die JavaScript-Grammar das Import-String-Literal behandelt und zur umgebenden Grammar zurückkehrt. Als erledigt gilt es, wenn der eingebettete Import beim String-Literal oder bei einem anderen nicht erwarteten Symbol endet und der folgende CoffeeScript-Code nicht mehr als JavaScript eingefärbt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- coffeescript, javascript, typescript
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100