dotnet / dotnet/csharp-tmLanguage

#else preprocessor directive loses colors with conditional operator

Offen
#149 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
78
Forks
43
Ø Merge
34 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Observed in GitHub and VSCode v1.30.2.

The colorization is lost after `: NotSupportedByX_ConditionUnmet();` line onwards.

```c#
class A
{
static bool B { get; } =
Condition
#if X
? SupportedByXOnly_ConditionMet()
: SupportedByXOnly_ConditionUnmet();
#else
? NotSupportedByX_ConditionMet()
: NotSupportedByX_ConditionUnmet();

[MyAttribute("Z")]
const int Y = 1;
#endif
}
```
![image](https://user-images.githubusercontent.com/3840695/53292009-c7665180-37c4-11e9-9af0-f98144ac0d70.png)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Reproduziere das Beispiel in GitHub und VSCode v1.30.2 und untersuche anschließend die Grammatikregeln für #else-Blöcke und bedingte Operatoren. Da im Issue keine Datei und kein Test genannt werden, lokalisiere zunächst den Einstiegspunkt der C#-Grammatik und die vorhandenen Colorization-Checks. Erledigt ist die Aufgabe, wenn die Colorization nach dem #else-Zweig und über das folgende Attribut und die Konstante hinweg weiterhin korrekt funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, 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.