LuaLS / LuaLS/lua-language-server

Support for capturing function names

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

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Similar to how you can capture class names in generics and annotate a function to then return that class it would be cool if you could do the same for functions. In a modloader we have a hooking function like this:
hook(object, "function_name", function(...) end)
which makes a function run after the hooked function on an object with the same parameters as the original function.
I understand if thats too much effort to implement but it would be nice if it was somehow possible to annotate the second argument of the hook function to be the name of a function on object.

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 bestehende Unterstützung zum Erfassen von Klassennamen in Generics und zum Annotieren von Funktionsargumenten nachzuverfolgen. Ermittle dann, wie das zweite String-Argument der Hook-Funktion zu einer Funktion auf dem Objekt aufgelöst werden könnte und dabei die ursprünglichen Funktionsparameter erhalten bleiben. Erledigt ist die Aufgabe, wenn der Language Server den Namen der eingebundenen Funktion für dieses Muster inferieren und offenlegen kann.

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
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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