# GLua Language Server ## Docs - [@accessorfunc](https://gluals.arnux.net/annotations/accessorfunc.md): Mark a function as an accessor generator that synthesizes Get/Set pairs. - [@alias](https://gluals.arnux.net/annotations/alias.md): Create named type aliases for use across your codebase. - [@async](https://gluals.arnux.net/annotations/async.md): Mark a function as coroutine-based or asynchronous. - [@cast](https://gluals.arnux.net/annotations/cast.md): Narrow or change a variable's type at a specific point in the code. - [@class](https://gluals.arnux.net/annotations/class.md): Define classes with inheritance, generics, and field access control. - [@deprecated](https://gluals.arnux.net/annotations/deprecated.md): Mark functions or fields as deprecated to warn about usages. - [@diagnostic](https://gluals.arnux.net/annotations/diagnostic.md): Suppress or enable specific diagnostics for lines or blocks of code. - [@enum](https://gluals.arnux.net/annotations/enum.md): Mark a Lua table as an enumeration with named values. - [@field](https://gluals.arnux.net/annotations/field.md): Add typed fields to a class definition. - [@fileparam](https://gluals.arnux.net/annotations/fileparam.md): Set default parameter types for the entire file. - [@generic](https://gluals.arnux.net/annotations/generic.md): Add generic type parameters to functions for type-safe reuse. - [@hook](https://gluals.arnux.net/annotations/hook.md): Register a method as a GMod hook handler with named lookup and type inference. - [Annotations overview](https://gluals.arnux.net/annotations/index.md): EmmyLua/LuaCATS type annotations supported by GLuaLS. - [@meta](https://gluals.arnux.net/annotations/meta.md): Mark a file as containing only type definitions, not runtime code. - [@module](https://gluals.arnux.net/annotations/module.md): Declare a file as a named module for documentation and namespace organization. - [@nodiscard](https://gluals.arnux.net/annotations/nodiscard.md): Warn when a function's return value is discarded. - [@operator](https://gluals.arnux.net/annotations/operator.md): Declare operator behavior for a class. - [@outparam](https://gluals.arnux.net/annotations/outparam.md): Tell the language server when a function writes results into a table argument. - [@overload](https://gluals.arnux.net/annotations/overload.md): Define multiple signatures for a single function. - [@param](https://gluals.arnux.net/annotations/param.md): Document function parameter types and descriptions. - [@realm](https://gluals.arnux.net/annotations/realm.md): Declare which GMod realm a file or function belongs to. - [@return](https://gluals.arnux.net/annotations/return.md): Document function return value types and descriptions. - [@see](https://gluals.arnux.net/annotations/see.md): Add cross-references to related symbols or documentation. - [@source](https://gluals.arnux.net/annotations/source.md): Link generated annotations to source files or external documentation. - [@type](https://gluals.arnux.net/annotations/type.md): Declare the type of a variable or expression. - [@version](https://gluals.arnux.net/annotations/version.md): Restrict a definition to specific Lua versions. - [Annotations management](https://gluals.arnux.net/configuration/annotations-management.md): GLuaLS automatically downloads and keeps GMod wiki annotations up to date. - [Completion Settings](https://gluals.arnux.net/configuration/completion.md): Configure autocomplete behavior, call snippets, postfix triggers, and auto-require. - [Diagnostics Configuration](https://gluals.arnux.net/configuration/diagnostics.md): Enable, disable, and tune the severity of every diagnostic code. - [Formatting Settings](https://gluals.arnux.net/configuration/formatting.md): Configure the built-in Lua formatter with presets, style overrides, and external formatter support. - [GMod Settings](https://gluals.arnux.net/configuration/gmod.md): GMod-specific language server settings for realm analysis, scripted classes, networking, and more. - [Hints & Hover Settings](https://gluals.arnux.net/configuration/hints-and-hover.md): Configure inlay hints, inline values, hover documentation, semantic tokens, and signature help. - [Configuration overview](https://gluals.arnux.net/configuration/overview.md): Configure GLuaLS via the interactive settings panel or manual .gluarc.json editing. - [Runtime & Strict Settings](https://gluals.arnux.net/configuration/runtime.md): Configure non-standard Lua symbols, strict type checking, special functions, and documentation format. - [Workspace Settings](https://gluals.arnux.net/configuration/workspace.md): Configure library paths, ignore patterns, module maps, and file encoding. - [Breakpoints and stepping](https://gluals.arnux.net/debugger/breakpoints-and-stepping.md): Set breakpoints, control execution flow, and navigate your running GLua code line by line. - [Entity explorer](https://gluals.arnux.net/debugger/entity-explorer.md): Browse all entities, their NetworkVars, and table properties in a live tree view. - [Error tracking](https://gluals.arnux.net/debugger/error-tracking.md): Capture and navigate runtime Lua errors from your SRCDS server directly in VS Code. - [Inspecting variables](https://gluals.arnux.net/debugger/inspecting-variables.md): Examine locals, globals, upvalues, and table contents while paused at a breakpoint. - [Lua execution](https://gluals.arnux.net/debugger/lua-execution.md): Run Lua code, files, and commands on your server directly from VS Code while debugging. - [Debugger overview](https://gluals.arnux.net/debugger/overview.md): The GLuaLS debugger lets you set breakpoints, inspect variables, and execute Lua directly inside a running SRCDS server. - [Setup & installation](https://gluals.arnux.net/debugger/setup.md): Install gm_rdb on your SRCDS server and configure VS Code to connect for debugging. - [Features overview](https://gluals.arnux.net/features/overview.md): Everything GLuaLS provides — code intelligence, GMod-specific analysis, debugging, and more. - [Installation](https://gluals.arnux.net/getting-started/installation.md): Install the GLua Language Server VSCode extension and get set up in minutes. - [Workspace setup](https://gluals.arnux.net/getting-started/workspace-setup.md): Configure your workspace for addon and gamemode development with multi-root workspace support. - [GLua Language Server](https://gluals.arnux.net/index.md): A fast, feature-rich language server and debugger for Garry's Mod Lua (GLua), built in Rust with a full-featured VSCode extension. - [Code intelligence](https://gluals.arnux.net/language/code-intelligence.md): Completions, hover documentation, signature help, semantic highlighting, and more. - [Diagnostics](https://gluals.arnux.net/language/diagnostics.md): GLuaLS checks your code for errors, type mismatches, unused variables, and GMod-specific problems. - [Formatting](https://gluals.arnux.net/language/formatting.md): GLuaLS formats your GLua files with built-in presets or an external formatter. - [Hook intelligence](https://gluals.arnux.net/language/hook-intelligence.md): GLuaLS validates hook names, infers parameter types, and autocompletes hook callbacks. - [Inlay hints](https://gluals.arnux.net/language/inlay-hints.md): Contextual labels shown inline in the editor for parameter names, types, and more. - [Network analysis](https://gluals.arnux.net/language/network-analysis.md): GLuaLS tracks net.Start / net.Receive pairs and validates message types and order across realms. - [Realm awareness](https://gluals.arnux.net/language/realm-awareness.md): GLuaLS understands where code runs — client, server, or shared — and warns about cross-realm API usage. - [Scripted classes](https://gluals.arnux.net/language/scripted-classes.md): GLuaLS automatically understands ENT, SWEP, EFFECT, and other scripted class patterns. - [VGUI support](https://gluals.arnux.net/language/vgui-support.md): GLuaLS understands VGUI panel hierarchies and provides code lens and inlay hints. - [AI & Copilot integration](https://gluals.arnux.net/vscode/ai-integration.md): Use the built-in MCP server to let GitHub Copilot interact directly with your running SRCDS server. ## Optional - [GitHub - VSCode](https://github.com/Pollux12/vscode-gmod-glua-ls) - [GitHub - LS](https://github.com/Pollux12/gmod-glua-ls) - [Issues](https://github.com/Pollux12/gmod-glua-ls/issues)