LuaLS / LuaLS/lua-language-server

Diagnostics for incorrect use of ipairs

Offen
#1,917 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

An enhancement idea: I ran into a subtle bug in my own code where I used ipairs instead of pairs. Would it be possible for the Lua language server to warn about such usage? This is assuming it knows the type being iterated (or maybe if it's explicitly annotated). For example:

---@type table<string, integer>
local x = { a = 1, b = 2 }

for k, v in ipairs(x) do -- most likely a mistake
    print(k, v)
end

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

Es werden keine Implementierungsdateien oder Tests genannt. Beginne damit, die LuaLS-Diagnosen für ipairs und die Typanalyse für annotierte Tabellen zu finden, und verfolge dann, wie der Tabellentyp des Beispiels dargestellt wird. Erledigt ist die Aufgabe, wenn das Beispiel eine Warnung ausgeben kann, wenn ipairs für die annotierte Schlüssel-Wert-Tabelle verwendet wird, und das vorgesehene Diagnoseverhalten durch Tests abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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