LuaLS / LuaLS/lua-language-server
Feature Request/How-to: Inlined parameter annotation
未关闭
还没有人认领这个 Issue。
enhancement
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- PR 合并指标
- 30 天内没有已合并 PR
描述
I'd like to be able to do inlined type annotation for parameters. It doesn't currently seem to be possible. What I mean is, instead of this:
---@param key unknown
---@param callbackFn fun(Hook, ...):any
---@param priority? number
---@param hostTableToHook? table
---@param defaultNativeBehavior? function
---@param hookedTableIsMetaTable? boolean
function Hook.basic(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable)
return Hook.add(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable, true)
end
I'd like to be able to do this:
function Hook.basic(
key, ---@param unknown
callbackFn, ---@param fun(Hook, ...):any
priority, ---@param? number
hostTableToHook, ---@param? table
defaultNativeBehavior, ---@param? function
hookedTableIsMetaTable ---@param? boolean
)
return Hook.add(key, callbackFn, priority, hostTableToHook, defaultNativeBehavior, hookedTableIsMetaTable, true)
end
This would cut down on the boilerplate a bit and make the code cleaner.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先定位 language server 中负责函数参数和现有内联注解的解析逻辑与测试。将这些路径与本 issue 中的两个语法示例进行比较;完成的标准是:接受内联参数注解,按照示例中的可选类型和函数类型进行解释,并由测试覆盖。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- lua
- 领域
- devtools
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100