LuaLS / LuaLS/lua-language-server
Large Lua files have "Not showing N further errors and warnings"
還沒有人認領這個 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?
Windows
What is the issue affecting?
Diagnostics/Syntax Checking
Problem
Related to: #1522
In large files, you can get into a situation where there are 0 errors reported in the errors pane except for "Not showing N further errors and warnings". Obviously, this makes it impossible to actually fix the errors, since you don't know what they are.
Thus, the bug seems to be that the Lua language server is incorrectly ignoring errors suppressed by the end-user, since they are still counting towards the 250 hardcoded (?) VSCode limit
Reproduction steps
Use the following Lua file:
With the following .luarc.json file:
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"diagnostics.globals": [
"ActionTriggers",
"ActiveSlot",
"BabySubType",
"BackdropType",
"BatterySubType",
"BedSubType",
"BitSet128",
"BombSubType",
"BombVariant",
"ButtonAction",
"CacheFlag",
"Card",
"Challenge",
"ChampionColor",
"ChestSubType",
"CoinSubType",
"CollectibleType",
"Color",
"CppContainer",
"DamageFlag",
"Difficulty",
"Direction",
"DoorSlot",
"DoorState",
"DoorVariant",
"EffectVariant",
"Entity",
"EntityBomb",
"EntityCollisionClass",
"EntityEffect",
"EntityFamiliar",
"EntityFlag",
"EntityGridCollisionClass",
"EntityKnife",
"EntityLaser",
"EntityNPC",
"EntityPartition",
"EntityPickup",
"EntityPlayer",
"EntityProjectile",
"EntityPtr",
"EntityRef",
"EntityTear",
"EntityType",
"FamiliarVariant",
"Font",
"Game",
"GameStateFlag",
"GetPtrHash",
"GridCollisionClass",
"GridEntity",
"GridEntityDesc",
"GridEntityDoor",
"GridEntityPit",
"GridEntityPoop",
"GridEntityPressurePlate",
"GridEntityRock",
"GridEntitySpikes",
"GridEntityTNT",
"GridEntityType",
"GridRooms",
"HUD",
"HeartSubType",
"Input",
"InputHook",
"Isaac",
"ItemConfig",
"ItemPool",
"ItemPoolType",
"ItemType",
"KColor",
"KeySubType",
"Keyboard",
"LaserOffset",
"LaserSubType",
"Level",
"LevelCurse",
"LevelStage",
"LevelStateFlag",
"LocustSubtypes",
"ModCallbacks",
"Mouse",
"Music",
"MusicManager",
"NpcState",
"NullItemID",
"Options",
"PathFinder",
"PickupPrice",
"PickupVariant",
"PillColor",
"PillEffect",
"PlayerForm",
"PlayerSpriteLayer",
"PlayerType",
"PlayerTypes",
"PoopPickupSubType",
"PoopSpellType",
"ProjectileFlags",
"ProjectileParams",
"ProjectileVariant",
"QueueItemData",
"REPENTANCE",
"RNG",
"Random",
"RandomVector",
"RegisterMod",
"RenderMode",
"Room",
"RoomConfig",
"RoomDescriptor",
"RoomShape",
"RoomTransitionAnim",
"RoomType",
"SFXManager",
"SackSubType",
"SeedEffect",
"Seeds",
"ShockwaveParams",
"SkinColor",
"SortingLayer",
"SoundEffect",
"Sprite",
"StageType",
"StartDebug",
"TearFlags",
"TearParams",
"TearVariant",
"TemporaryEffect",
"TemporaryEffects",
"TrinketType",
"UseFlag",
"Vector",
"WeaponType",
"AwaitingTextInput",
"EID",
"Encyclopedia",
"ModConfigMenu",
"MinimapAPI",
"StageAPI",
"g",
"gd",
"getParentFunctionDescription",
"sandboxGetTraceback",
"sandboxTraceback"
],
"preloadFileSize": 5000,
"runtime.version": "Lua 5.3"
}
Then, you will see that there are Not showing 2551 further errors and warnings. in the "Problems" pane of VSCode.
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
使用連結的大型 main.lua 檔案、提供的 .luarc.json 和 VS Code 的 Problems 窗格重現該報告,然後將行為與相關 issue #1522 進行比較。從 diagnostics/syntax-checking 路徑開始,判斷為什麼被抑制的 diagnostics 仍會計入可見限制。完成的標準是,真正的 diagnostics 仍然可以存取,而不是只顯示 "Not showing N further errors and warnings" 訊息。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- lua, vscode
- 領域
- devtools
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100