GLua Language Server provides dedicated support for Garry’s Mod’s hook system. It completes hook names from the bundled wiki dataset, detects typos, types callback parameters automatically, and generates stub tables for scripted entities, weapons, and panels.
Hook name completion
When you type hook.Add(", the server suggests hook names from the 551 hooks in the bundled wiki dataset. It also includes custom hooks that your workspace fires with hook.Run.
Typo detection
If you enter a hook name that does not exist, the server flags it and offers a quick fix based on edit distance.
Typed callback parameters
The server reads hook signatures from the wiki and applies them to your callback parameters automatically. You do not need to annotate them yourself.
ENT / SWEP / PANEL stubs
When you define a scripted entity, weapon, or panel, the server can generate the full hook table for you.
Scripted entity stub
Typing function ENT: triggers completion of the entity hook table. The server inserts a full stub with the most common hooks.
The same applies to SWEP for scripted weapons and PANEL for VGUI panels.
gameevent.Listen
The server also recognises gameevent.Listen as a valid hook source. Events registered this way are included in hook name completion and typo detection.
Use the quick fix (Ctrl+.) on an unknown hook name to see the closest match from the wiki. This catches common mistakes like “PlayerDeath” vs “PlayerDeathThink” instantly.