Overview
GLuaLS understands VGUI panel creation, registration, and inheritance. A created panel keeps both its registered type and the standard panel methods inherited from its parent.Panel type inference
When you callvgui.Create("Type"), GLuaLS types the returned value as the matching panel class:
Code lens
Whengmod.vgui.codeLensEnabled is true, GLuaLS shows code lens annotations above panel creations and definitions.
Enable in .gluarc.json:
.gluarc.json
Inlay hints for :Add()
When using panel:Add("Type"), GLuaLS shows the panel type in an inlay hint:
Custom panels
GLuaLS understands the standard VGUI inheritance pattern used to define custom panels:vgui.Register(name, PANEL, base), GLuaLS recognizes "MyPanel" in later constructors. The panel type includes methods from the PANEL table and inherited DPanel methods.
Derma controls and skins
GLuaLS also understandsderma.DefineControl, derma.DefineSkin, derma.GetNamedSkin, derma.GetSkinTable(), and panel skin setters:
Custom wrappers
If your framework wraps VGUI or Derma APIs, annotate the wrapper parameters with@call_arg. This lets GLuaLS recognize the wrapped calls without matching the wrapper by name.