LuaLS / LuaLS/lua-language-server
[Question/Request] Can I recycle common params for differing functions without mass copy+paste?
Personne n'a encore pris cette issue.
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I would like to be able to recycle a list of parameters (and types), sometimes with an extra parameter or a different set of return values. I only know how to do this via copy+paste of parameters from one function to the next, and edit as needed. However, I am trying to reduce the code volume, clarity, as well as make it easier to enact changes that should cascade to any function which uses those sets of parameters.
Here's an example:
---@param blah number
---@param barf function
---@param puke fun(boolean):number
---@param thanks table
function foo(blah, barf, puke, thanks)
end
---@param blah number
---@param barf function
---@param puke fun(boolean):number
---@param thanks table
---@return boolean
function bar(blah, barf, puke, thanks)
return true
end
I'd like to be able to define a 'defined parameter set' which would allow me to do something like this:
---@parameters hmmm
---@param blah number
---@param barf function
---@param puke fun(boolean):number
---@param thanks table
---@uses parameters hmmm
function foo(blah, barf, puke, thanks)
end
---@uses parameters hmmm
---@return boolean
function bar(blah, barf, puke, thanks)
return true
end
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
L’issue ne nomme aucun fichier d’implémentation, test ou point d’entrée. Commencez par localiser la façon dont les annotations Lua telles que @param et @return sont analysées, puis évaluez comment une déclaration réutilisable d’ensemble de paramètres et son utilisation pourraient s’intégrer à cette syntaxe. Le travail est terminé lorsque des paramètres partagés peuvent être documentés une seule fois, réutilisés par plusieurs fonctions, étendus ou combinés avec des valeurs de retour différentes, et couverts par des tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100