Overview
These settings control editor hints, hover documentation, and semantic syntax highlighting.
Inlay hints (hint.*)
Inlay hints show inline type and name annotations beside your code.
| Option | Type | Default | Description |
|---|
hint.paramHint | boolean | true | Show parameter names next to call arguments |
hint.localHint | boolean | true | Show inferred types next to local variable declarations |
hint.indexHint | boolean | true | Show named indexes for array table entries |
hint.overrideHint | boolean | true | Show which base-class method a function overrides |
hint.metaCallHint | boolean | true | Show __call metamethod hints |
hint.enumParamHint | boolean | false | Show enum member names next to literal integer arguments |
hint.closingEndHint | boolean | true | Show -- end FunctionName hints after closing end keywords |
hint.closingEndHintControlFlow | boolean | false | Also show closing end hints for if, while, do, for blocks |
hint.closingEndHintMinLines | integer | 15 | Minimum number of lines a block must span before a closing hint appears |
Inlay hint examples
Parameter hints:
Entity:SetPos(vec3(0, 0, 0))
-- ^ pos: Vector
Local hints:
local ply = game.GetWorld()
-- ^ : Entity
Closing end hints:
function GAMEMODE:PlayerSpawn(ply)
-- ... 15 lines of code ...
end -- PlayerSpawn
Inline values (inlineValues.*)
Inline values show variable contents during a debug session, overlaid on the source code.
| Option | Type | Default | Description |
|---|
inlineValues.enable | boolean | true | Show variable values inline during debugging |
Hover (hover.*)
| Option | Type | Default | Description |
|---|
hover.enable | boolean | true | Enable hover documentation |
hover.customDetail | integer | null | null | Detail level (0–255). null uses the default level |
Hover documentation shows:
- Type signatures and docs for functions, fields, and classes
- Realm badge (client/server/shared) for GMod API symbols
@deprecated messages for deprecated symbols
@see cross-references
Semantic tokens (semanticTokens.*)
Semantic tokens provide syntax highlighting based on type analysis. GLuaLS colors variables by role, such as local, global, field, or method, instead of lexical category.
| Option | Type | Default | Description |
|---|
semanticTokens.enable | boolean | true | Enable semantic syntax highlighting |
semanticTokens.renderDocumentationMarkup | boolean | true | Render Markdown in annotation documentation (e.g., in hover popups) |
Code lens (codeLens.*)
| Option | Type | Default | Description |
|---|
codeLens.enable | boolean | true | Enable code lens actions (references, override links, VGUI parent links) |
Code action (codeAction.*)
| Option | Type | Default | Description |
|---|
codeAction.insertSpace | boolean | false | Add a space after --- when inserting @diagnostic disable-next-line via a code action |
VSCode extension settings
You can also configure these settings in VS Code settings with the gluals.* prefix:
| VSCode Setting | .gluarc.json Key | Type | Default | Description |
|---|
gluals.hint.paramHint | hint.paramHint | boolean | true | Parameter name hints |
gluals.hint.localHint | hint.localHint | boolean | true | Local variable type hints |
gluals.hint.indexHint | hint.indexHint | boolean | true | Named array index hints |
gluals.hint.overrideHint | hint.overrideHint | boolean | true | Override hints for base class methods |
gluals.hint.metaCallHint | hint.metaCallHint | boolean | true | __call meta method hints |
gluals.hint.enumParamHint | hint.enumParamHint | boolean | false | Enum parameter name hints |
gluals.hint.closingEndHint | hint.closingEndHint | boolean | true | Block end labels |
gluals.hint.closingEndHintControlFlow | hint.closingEndHintControlFlow | boolean | false | Control flow end labels |
gluals.hint.closingEndHintMinLines | hint.closingEndHintMinLines | integer | 15 | Minimum lines for end hints |
gluals.inlineValues.enable | inlineValues.enable | boolean | true | Inline debug values |
gluals.hover.enable | hover.enable | boolean | true | Enable hover documentation |
gluals.semanticTokens.enable | semanticTokens.enable | boolean | true | Enable semantic tokens |
gluals.codeLens.enable | codeLens.enable | boolean | true | Enable code lens |
gluals.documentColor.enable | documentColor.enable | boolean | true | Color picker for color strings |
Full example
Use the settings menu instead of editing the JSON file directly. This helps you avoid config mistakes.
{
"hint": {
"paramHint": true,
"localHint": false,
"closingEndHint": true,
"closingEndHintMinLines": 15
},
"hover": {
"enable": true
},
"semanticTokens": {
"enable": true
},
"codeLens": {
"enable": true
}
}