LuaLS / LuaLS/lua-language-server
[Feature Request] Automatically overload with `__call` metamethod.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
There is already custom behavior when __index is defined in a metatable, why not __call? You can manually define the overload, but then you have to define the signature twice.
---@overload fun(a: string, b: number): boolean
local foo = setmetatable({}, {
---@param a string
---@param b number
---@return boolean
__call = function(a, b)
return true;
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
Beginne damit, das bestehende automatische Verhalten für Metatables mit __index nachzuverfolgen, und vergleiche es anschließend mit dem __call-Beispiel im Issue. Als abgeschlossen gilt die Aufgabe, wenn die Funktionssignatur einer aufrufbaren Metatable ohne wiederholte @overload-Deklaration inferiert wird und eine Abdeckung für das String-und-Zahl-Beispiel vorhanden ist.
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