LuaLS / LuaLS/lua-language-server
Feature request: Infer overload annotations for subsequent overloads
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lua
- Stelle
- 4.4k
- Fork
- 442
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
It would be useful for subsequent function overload definitions to use prior annotations unless a new annotation is provided.
Such as:
---An example function
---@param a integer
---@param b string
---@param c function Some documentation about c
---@return boolean
---@overload fun(c)
---@overload fun(a): nil
function foo(a, b, c) end
being equivalent to
---An example function
---@param a integer
---@param b string
---@param c function Some documentation about c
---@return boolean
function foo(a, b, c) end
---An example function
---@param c function Some documentation about c
---@return boolean
function foo(c)
---An example function
---@param a integer
---@return nil
function foo(a)
With auto-generated documentation this isn't so much of a problem, but it's a bit of a chore when it's something to be done by hand.
Appreciate all the work you've done! This makes writing Lua so much more confident.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Nell’issue non sono indicati file o test. Inizia individuando la gestione di @overload e delle annotazioni dei parametri e del valore restituito, quindi aggiungi una copertura mirata per l’ereditarietà delle annotazioni precedenti e per la loro sovrascrittura quando un overload ne fornisce di nuove. Il lavoro è completo quando i due overload nell’esempio ricevono le annotazioni ereditate ed esplicite documentate, senza modificare la definizione originale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- lua
- Ambito
- devtools
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100