[Feature Request] Add Lua config file support
还没有人认领这个 Issue。
评估
调研方向
首先查看提议的特定于配置的 @meta 语法,以及 library/rockspec.d.lua 和 library/busted.d.lua 中的示例定义。比较匹配配置文件名或 URI 的各种方案。当 Lua 配置文件默认可以忽略全局变量,并使用匹配的定义文件中的类型和返回值定义时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
There are some Lua files that are used for configuration, such as .busted or *.rockspec files. It would be nice if:
- Any globals defined in them are ignored by default
- Global types and return types can be defined for them in a type definition file
This behavior could all be described by creating a type definition file with a special (config) option next to @meta. The require name is replaced by a Lua pattern that matches the filename or URI. Either that, or it could be specified as a config-specific option using ---@meta (config: PATTERN)
-- library/rockspec.d.lua
---@meta (config) "[%w%.%-%_]+%.rockspec$"
---the rockspec format
---@type string
_G.rockspec_format = nil
---the package name
---@type string
_G.package = nil
---the package version
---@type string
_G.version = nil
---a description of the rock
---@class luarocks.rockspec.description
---@field summary string? -- a short sentence that succinctly describes the rock
---@field description string? -- a paragraph-size description that describes the rock
---@field ...
_G.description = {}
For configurations that require returning a table, you could define a local variable with the right type and return it.
-- library/busted.d.lua
---@meta (config) "%.busted$"
---@class .busted.config
---@field coverage boolean? -- use luacov for coverage
---@field verbose boolean? -- print more things
---@field ...
---a dictionary of Busted configurations. You can specify which one using the
---`--run` option. Uses `default` if no configuration is specified
---@class .busted
---@field default .busted.config?
---@field [string] .busted.config?
local busted_config = {}
return busted_config
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- 平均合并
- 8 天 9 小时
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
LuaLS/lua-language-server 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 62/100
LuaLS/lua-language-server#1776 ·
-
难度 3/5 1-2 天 新手友好度 65/100
LuaLS/lua-language-server#3463 · 5 条评论 ·
-
难度 4/5 3-5 天 新手友好度 55/100
LuaLS/lua-language-server#3461 ·
-
难度 3/5 1-2 天 新手友好度 68/100
LuaLS/lua-language-server#3460 · 1 条评论 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 68/100
LuaLS/lua-language-server#3459 · 1 个 reaction ·
查看 LuaLS/lua-language-server 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
openSUSE/python-rpm-macros#219 ·
-
bug mini.bracketed
难度 2/5 1-3 小时 新手友好度 75/100
-
accessibility bug typst
难度 2/5 1-3 小时 新手友好度 75/100
quarto-dev/quarto-cli#14947 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
难度 1/5 1 小时以内 新手友好度 85/100