LuaLS / LuaLS/lua-language-server
Support generic table
Open
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 4.4k
- Forks
- 442
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Is it possible to create a generic table such that the returned type is the key as a type. For example:
---@class MyClass
local MyClass = {}
---@generic T
---@type table<'T', T>
local Classes = {}
local c = Classes["MyClass"]
In the above example, I expect c to have the type MyClass
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Lua example in the language server and trace how generic table annotations and indexed lookups are currently analyzed. The work is done when a key such as "MyClass" makes the lookup result resolve to the corresponding class type, with coverage for the shown annotation and access pattern.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100