LuaLS / LuaLS/lua-language-server

Register function environment variables

Ouverte
#15 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement feat/LuaCats Annotations priority.normal
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:
image

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.