LuaLS / LuaLS/lua-language-server

An annotation for indicating that a function may error

Ouverte
#2,400 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

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

It would be pretty useful to have an indicator of whether the function may error (and thus needs to be handled with pcall or the like).

---@fallible
---@param bar string
---@return string bar
local function assert_is_foobar(bar)
    if bar ~= "foobar" then
        error("bar isn't equal to foobar")
    end
    return bar
end

I'm aware of #1881 but it doesn't fullfill the same purpose as @fallible, the main difference being the fact that @noreturn indicates that the function never returns while this indicates that the function could return an error

The LSP server could also potentially show the user a warning if they don't wrap a @fallible function in a pcall call

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 examiner comment le serveur de langage gère actuellement l’annotation associée @noreturn et comment il analyse l’utilisation de pcall. L’issue ne nomme ni fichiers ni tests, et le comportement d’avertissement attendu est décrit comme facultatif ; il faut donc clarifier le périmètre de l’implémentation et les critères d’achèvement avant de commencer à coder.

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é
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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