LuaLS / LuaLS/lua-language-server
Workspace is loaded with fallback config then user config is partially loaded
還沒有人認領這個 Issue。
- 主要語言
- Lua
- 星號
- 4.4k
- 分支
- 442
- PR 合併指標
- 30 天內沒有已合併 PR
描述
How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
Linux
What is the issue affecting?
Other
Expected Behaviour
Upon opening a project when LuaLS is loading if the user have a .luarc.json with content :
{
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
"runtime": {
"version": "Lua 5.1",
"fileEncoding": "utf8",
"builtin": {
"basic": "disable",
"bit": "disable",
"bit32": "disable",
"builtin": "disable",
"coroutine": "disable",
"debug": "disable",
"ffi": "disable",
"io": "disable",
"jit": "disable",
"math": "disable",
"os": "disable",
"package": "disable",
"string": "disable",
"table": "disable",
"table.clear": "disable",
"table.new": "disable",
"utf8": "disable"
}
},
"workspace": {
"maxPreload": 2048,
"library": ["Annotations"]
}
}
The language server should :
- Not prepare any hover documentation for any standard lua library
- Preload files that exceed 500kb
- Read definitions files from
Annotationsfolder create entries for hover documentations.
Actual Behaviour
Upon opening the project LuaLS will :
In the case of hover documentations :
LuaLS will prepare all lua 5.4 documentation and start serving them. When definitions files in Annotations if one define for example table.foreach the documentation will be added to the current context
(first documentation block come from Annotations, second come from LuaLS embedded definitions files for the standard libraries for lua 5.4)
In the case there is an 500+ kb file display directly :
Too large file: Lua/bigfile.lua skipped. The currently set size limit is: 500 KB, and the file size is: 627.979 KB.
(Upon opening Lua/bigfile.lua the file will be treated correctly without any error)
Reproduction steps
- Create a project folder with content as follow :
root-directory/
- Annotations/
- table.d.lua
- Lua/
- main.lua
- bigfile.lua
- .luarc.json
table.d.lua content :
---@meta table
---@class tablelib
table = {}
---
---Deprecated in favor of pairs
---@see pairs
---
---[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreach)
---
---@generic T
---@param list any
---@param callback fun(key: string, value: any):T|nil
---@return T|nil
---@deprecated
function table.foreach(list, callback) end
main.lua content:
local t = {}
table.foreach(t, function ()
end)
bigfile.lua content : Anything to make the file be bigger than 500kb
.luarc.json content
{
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
"runtime": {
"version": "Lua 5.1",
"fileEncoding": "utf8",
"builtin": {
"basic": "disable",
"bit": "disable",
"bit32": "disable",
"builtin": "disable",
"coroutine": "disable",
"debug": "disable",
"ffi": "disable",
"io": "disable",
"jit": "disable",
"math": "disable",
"os": "disable",
"package": "disable",
"string": "disable",
"table": "disable",
"table.clear": "disable",
"table.new": "disable",
"utf8": "disable"
}
},
"workspace": {
"maxPreload": 2048,
"library": ["Annotations"]
}
}
- Open project with vscode
- See warning notification appear directly or upon opening main.lua file
- Hover above striked table.foreach and see both documentation aggregated together
Additional Notes
This behavior can also be reproduced in current zed stable version 0.174.6
In both editor I only installed the extension and run the default provided configuration. I only configured misc.parameters : [ "--loglevel=trace" ] in vscode settings only for the following logs as misc.parameters in .luarc.json was not picked-up.
Log File
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
在 VS Code 中使用 .luarc.json、Annotations/table.d.lua、Lua/main.lua 和 Lua/bigfile.lua 重現該行為,然後檢查附加的日誌檔案以了解載入順序。檢查為什麼使用者設定載入後,Lua 5.4 的回退定義和 500 KB 限制仍處於啟用狀態。完成的標準是套用 Lua 5.1 設定、Annotations 定義仍然可用,且較大的檔案已預先載入。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- lua
- 領域
- devtools, tooling
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100