LuaLS / LuaLS/lua-language-server

[Feature request]: Cast class fields

Offen
#1,253 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement feat/type check
Vorherrschende Sprache
Lua
Sterne
4.4k
Forks
442
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

If I have any class, and I get a warning like the following on a function that is being given a class field as a parameter (e.g., tohex(class_name.class_field)):

Cannot assign `string|integer` to parameter `integer`.
[Lua Diagnostics.: param-type-mismatch]

Is there already a way to cast this class field? If not, could it be implemented?

When trying to cast something like ---@cast group.foreground -string, I get the warning:

Unknown type conversion variable `{}`.
[Lua Diagnostics.: unknown-cast-variable]

Beitragsleitfaden

Beitragsleitfaden öffnen

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 im Issue beschriebenen Diagnosen unknown-cast-variable und param-type-mismatch nachzuverfolgen, und untersuche anschließend, wie Casts derzeit Variablen und Klassenfelder auflösen. Als erledigt gilt die Aufgabe, wenn ein Cast wie ---@cast group.foreground -string akzeptiert wird und die gemeldete Typwarnung entfernt, wenn das Feld an eine Funktion übergeben wird, die ausschließlich Integer akzeptiert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 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.