LuaLS / LuaLS/lua-language-server
Request: Support `@field` in both enum and table definitions.
未关闭
还没有人认领这个 Issue。
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- PR 合并指标
- 30 天内没有已合并 PR
描述
Request: Allow adding a field type to tables and enum definitions using the @field annotation.
This is useful for generating meta files from C code where there is no Lua table literal to copy.
See current behaviour below:
@class
✅ Using @field
---@class Foo
---@field myField 5
Foo = {}
✅ Using literal code
---@class Foo
Foo = {
myField = 5,
}
✅ Using type annotation
---@class Foo
Foo = {
---@type 5
myField = nil,
}
@enum
❌ Using field
---@enum Foo
---@field myField 5
Foo = {}
Error: The field must be defined after the class.Lua Diagnostics.(doc-field-no-class)
✅ Using literal code
---@enum Foo
Foo = {
myField = 5,
}
✅ Using type annotation
---@enum Foo
Foo = {
---@type 5
myField = nil,
}
Untyped table
❌ Using field
---@field myField 5
Foo = {}
Error: The field must be defined after the class.Lua Diagnostics.(doc-field-no-class)
✅ Using literal code
Foo = {
myField = 5,
}
✅ Using type annotation
Foo = {
---@type 5
myField = nil,
}
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先跟踪与 doc-field-no-class 诊断相关的 @field 处理;issue 提供了关于 @class、@enum 和无类型表的 Lua 示例。完成的标准是,像示例中那样,@field 定义能够用于 enum 和表定义且不会出现该诊断,同时现有的类行为仍受支持。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- lua
- 领域
- devtools
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100