LuaLS / LuaLS/lua-language-server
Diagnostics for incorrect use of ipairs
Dieses Issue hat noch niemand übernommen.
- 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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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