LuaLS / LuaLS/lua-language-server

`duplicate-set-field` is reading from CoreLibs even though `diagnostics.libraryFiles` is set to 'Disable'

未关闭
#2,035 11 条评论 6 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

question
主要语言
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?

Windows

What is the issue affecting?

Formatting

Expected Behaviour

I do not see a warning for duplicate-set-field in my project.

Actual Behaviour

Hi

Thanks for this plugin. I am getting warning for duplicate-set-field on this line:

function playdate.update()

and the duplicate is in the CoreLibs folder here:

...\PlaydateSDK\CoreLibs\__stub.lua

I have set the CoreLibs folder to be ignored by the code checker:

"Lua.diagnostics.libraryFiles": "Disable",

Is this the expected behaviour?

Reproduction steps
  1. Install Lua language server plugin
  2. Set "Lua.diagnostics.libraryFiles": "Disable",
  3. Create main.lua
  4. Add the line function playdate.update() to main.lua
  5. Observe warning:
	"resource": "/e:/dev/miner/Source/main.lua",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "duplicate-set-field",
	"severity": 4,
	"message": "Duplicate field `update`.",
	"source": "Lua Diagnostics.",
	"startLineNumber": 72,
	"startColumn": 10,
	"endLineNumber": 72,
	"endColumn": 25,
	"relatedInformation": [
		{
			"startLineNumber": 5,
			"startColumn": 10,
			"endLineNumber": 5,
			"endColumn": 25,
			"message": ".twopolefilter.s",
			"resource": "/e:/devtools/PlaydateSDK/CoreLibs/__stub.lua"
		}
	]
}]
Additional Notes

No response

Log File

No response

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

使用 main.lua、playdate.update() 行以及设置为 Disable 的 Lua.diagnostics.libraryFiles 设置重现警告;将该诊断与 CoreLibs/__stub.lua 进行比较。跟踪 duplicate-set-field 诊断如何处理库文件,并验证该设置文档中说明的行为。当观察到的警告行为与预期配置一致时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
lua
领域
devtools
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。