dotnet / dotnet/csharp-tmLanguage

Syntax highlighting breaks when opening bracket of a method is placed in a new line

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

Beschreibung

_From @zeroskyx on May 17, 2017 18:46_

The following code placed in a class breaks syntax highlighting:

public void Routine
(
IInterface Interface0,
IInterface Interface1,
IInterface Interface2
)
{
string One = "";
string Two = "";
string Three = "";
}

interface IInterface
{
}

Beginning with the second instance of IInterface and after the method body, everything is white -- in more complex projects, somewhere it works again later in the file.
Screenshot:
![capture](https://cloud.githubusercontent.com/assets/7782966/26170357/77cae1ee-3b41-11e7-8d0d-75bfc1fc972c.PNG)

Removing the newline after public void Routine does not cause the issue:
![capture1](https://cloud.githubusercontent.com/assets/7782966/26170402/9dcf9394-3b41-11e7-8333-be1242bcdb97.PNG)

I am aware that this appears to be a "strange" coding style; it makes reading constructors with loads of dependency injections much cleaner though (issue happens with both methods and constructors).

_Copied from original issue: OmniSharp/omnisharp-vscode#1489_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den gemeldeten Fehler bei der Hervorhebung anhand des C#-Beispiels zu reproduzieren, und vergleiche ihn mit der Version, in der die öffnende Klammer in der Deklarationszeile bleibt. Untersuche anschließend, wie die Syntaxgrammatik Method- und Konstruktor-Deklarationen über diesen Zeilenumbruch hinweg behandelt; abgeschlossen ist die Aufgabe, wenn die verbleibenden Parameter, der Methodenrumpf und das folgende Interface korrekt hervorgehoben werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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