Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Comparison operators ("<", ">") incorrectly interpreted as type parameters

Offen
#859 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
typescript
Bereich
tooling

Rechercherichtung

Beginne mit der TypeScript and JavaScript Grammar Extension und reproduziere das gemeldete Snippet in VS Code unter Verwendung der im Issue gezeigten Syntax-Scopes. Verfolge, wie die Vergleichsoperatoren in der Grammatik klassifiziert werden; abgeschlossen ist die Aufgabe, wenn \u003c und \u003e Vergleichsoperatoren bleiben, während die umgebende Typassertion und der Property-Zugriff normal hervorgehoben werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

TS and JS Grammar Extension version: 0.0.55 / latest

Code

// Contrived because of simplification
let a = 7
let b = {}
if (a < (b as {c: number}).c || a > (b as {c: number}).c) {

}

If statement parsing:

if [keyword.control.conditional.ts, source.ts]
( [meta.brace.round.ts, source.ts]
a [entity.name.function.ts, meta.function-call.ts, source.ts]
< [punctuation.definition.typeparameters.begin.ts, meta.type.parameters.ts, source.ts]
( [meta.brace.round.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
b [entity.name.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
as [entity.name.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
{ [punctuation.definition.block.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
c [variable.object.property.ts, meta.definition.property.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
: [meta.type.annotation.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
number [support.type.primitive.ts, meta.type.annotation.ts, meta.field.declaration.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
} [punctuation.definition.block.ts, meta.object.type.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
) [meta.brace.round.ts, meta.type.paren.cover.ts, meta.type.parameters.ts, source.ts]
. [meta.type.parameters.ts, source.ts]
c [entity.name.type.ts, meta.type.parameters.ts, source.ts]
| [keyword.operator.type.ts, meta.type.parameters.ts, source.ts]
| [keyword.operator.type.ts, meta.type.parameters.ts, source.ts]
a [entity.name.type.ts, meta.type.parameters.ts, source.ts]
> [punctuation.definition.typeparameters.begin.ts, meta.type.parameters.ts, source.ts]

(rest is normal)

So like:
if ( a<type>(parameters).c ) {}

Example in vscode:
image

Actual code:
image

Vorherrschende Sprache
TypeScript
Sterne
471
Forks
149
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/TypeScript-TmLanguage

Alle Issues in microsoft/TypeScript-TmLanguage

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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