LuaLS / LuaLS/lua-language-server
Register function environment variables
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
This extension is able to detect usage of undefined global variables:

However, setfenv is used on this function to define the missing variable, but at another point in the code that the parser can't detect. Is it possible to somehow tell the parser to ignore this diagnostic? Something like:
local block = function(_)
-- env: {block, assert, error}
block()
end
Then it would accept those values? I know you can define globals for the project, but this doesn't affect the entire project, only those functions, so it would be cool if you could define it somehow.
Alternatively, could we just disable the diagnostic?
local block = function(_)
-- disable: undefined-global
block()
end
I don't know if the parser supports reading comments like that, let me know if that won't work or if you have better ideas for it.
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
Commencez par suivre le diagnostic de variable globale indéfinie du parser et la façon dont il lit les définitions de variables globales au niveau du projet. Évaluez l’annotation d’environnement local à la fonction et le commentaire de désactivation du diagnostic proposés dans l’issue, puis vérifiez que la syntaxe sélectionnée supprime ou résout uniquement l’avertissement prévu dans la portée de la fonction.
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é
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100