LuaLS / LuaLS/lua-language-server
Feature for Lua 5.4 to warn about unused __close metamethods.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
MacOS
What is the issue affecting?
Annotations
Expected Behaviour
I think it would make sense to be able to somehow annotate that a table with a __close metamethod is meant to be used as a local variable with lua 5.4's attribute. This would be useful for raii-like constructs.
Actual Behaviour
No warning.
Reproduction steps
Example:
local function get_resource()
return
setmetatable({}, {
__close = function ()
print('close resource')
end
})
end
local a<close> = get_resource() -- ok
local b = get_resource() -- not okay, should somehow warn
Additional Notes
No response
Log File
No response
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
Beginne mit dem Lua-5.4-Verhalten von und der bereitgestellten get_resource-Reproduktion. Ermittle, wie der Sprachserver Annotationen und Warnungen darstellt, und definiere anschließend eine Möglichkeit, Ressourcen mit __close zu identifizieren, die ohne zugewiesen werden; als erledigt gilt die Aufgabe, wenn das Beispiel für b eine Warnung ausgibt und a akzeptiert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100