LuaLS / LuaLS/lua-language-server

feature: support generics in function type format

Ouverte
#1,170 3 commentaires 10 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement feat/generic feat/LuaCats Annotations
Langage dominant
Lua
Étoiles
4.4k
Forks
442
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Currently, the only way to document generic functions is to use `@generic`. and it's not possible to use them in overloads or fields.

The following examples are invalid:

```lua
---@generic T
---@param arg1 string
---@param arg2 T
---@return T
---@overload fun(arg2: T) <- Undefined type or alias `T`.
local function foo(arg1, arg2)
return arg2 or arg1
end
```

```lua
---@class Foo
---@field bar fun(arg:T): T <- `(` expected.
local Foo = {}
```

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

Aucun fichier source ni test n’est nommé. Commencez par localiser les chemins d’analyse et de résolution des types pour @generic, @overload et les types de fonction, puis comparez-les aux deux exemples Lua. C’est terminé lorsque les paramètres de type génériques sont résolus dans les signatures d’overload et les types de fonction des champs sans les diagnostics signalés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
lua
Domaine
compilers, devtools
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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