microsoft / microsoft/TypeScript-TmLanguage

import declaration should not include semicolon or require line end

Offen
#497 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

needs more info
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

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.