Skip to main content

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.
OptionTypeDefaultDescription
hint.paramHintbooleantrueShow parameter names next to call arguments
hint.localHintbooleantrueShow inferred types next to local variable declarations
hint.indexHintbooleantrueShow named indexes for array table entries
hint.overrideHintbooleantrueShow which base-class method a function overrides
hint.metaCallHintbooleantrueShow __call metamethod hints
hint.enumParamHintbooleanfalseShow enum member names next to literal integer arguments
hint.closingEndHintbooleantrueShow -- end FunctionName hints after closing end keywords
hint.closingEndHintControlFlowbooleanfalseAlso show closing end hints for if, while, do, for blocks
hint.closingEndHintMinLinesinteger15Minimum 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.
OptionTypeDefaultDescription
inlineValues.enablebooleantrueShow variable values inline during debugging

Hover (hover.*)

OptionTypeDefaultDescription
hover.enablebooleantrueEnable hover documentation
hover.customDetailinteger | nullnullDetail 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.
OptionTypeDefaultDescription
semanticTokens.enablebooleantrueEnable semantic syntax highlighting
semanticTokens.renderDocumentationMarkupbooleantrueRender Markdown in annotation documentation (e.g., in hover popups)

Code lens (codeLens.*)

OptionTypeDefaultDescription
codeLens.enablebooleantrueEnable code lens actions (references, override links, VGUI parent links)

Code action (codeAction.*)

OptionTypeDefaultDescription
codeAction.insertSpacebooleanfalseAdd 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 KeyTypeDefaultDescription
gluals.hint.paramHinthint.paramHintbooleantrueParameter name hints
gluals.hint.localHinthint.localHintbooleantrueLocal variable type hints
gluals.hint.indexHinthint.indexHintbooleantrueNamed array index hints
gluals.hint.overrideHinthint.overrideHintbooleantrueOverride hints for base class methods
gluals.hint.metaCallHinthint.metaCallHintbooleantrue__call meta method hints
gluals.hint.enumParamHinthint.enumParamHintbooleanfalseEnum parameter name hints
gluals.hint.closingEndHinthint.closingEndHintbooleantrueBlock end labels
gluals.hint.closingEndHintControlFlowhint.closingEndHintControlFlowbooleanfalseControl flow end labels
gluals.hint.closingEndHintMinLineshint.closingEndHintMinLinesinteger15Minimum lines for end hints
gluals.inlineValues.enableinlineValues.enablebooleantrueInline debug values
gluals.hover.enablehover.enablebooleantrueEnable hover documentation
gluals.semanticTokens.enablesemanticTokens.enablebooleantrueEnable semantic tokens
gluals.codeLens.enablecodeLens.enablebooleantrueEnable code lens
gluals.documentColor.enabledocumentColor.enablebooleantrueColor picker for color strings

Full example

Use the settings menu instead of editing the JSON file directly. This helps you avoid config mistakes.
.gluarc.json
{
  "hint": {
    "paramHint": true,
    "localHint": false,
    "closingEndHint": true,
    "closingEndHintMinLines": 15
  },
  "hover": {
    "enable": true
  },
  "semanticTokens": {
    "enable": true
  },
  "codeLens": {
    "enable": true
  }
}