Skip to main content
Configuration lives in three places: your editor settings for personal preferences, a committed config file for anything the whole team needs to agree on, and inline suppressions for a single line the rule got wrong. Higher layers win when the same option is set in more than one.

Committed config files

Share linter and formatter settings with .glua.json and .gluafmtrc.json.

Inline suppressions

Silence a specific diagnostic on a single line or block without changing global rules.

Diagnostic rules

Browse every diagnostic rule the linter can enforce or ignore.

Precedence order

Lowest to highest. The last one to set an option wins.
  1. Built-in defaults
  2. VS Code editor settings (settings.json)
  3. .editorconfig
  4. .prettierrc
  5. .glua.json (linter)
  6. .gluafmtrc.json (formatter)
Inline suppressions sit outside this chain. They do not change a rule’s severity; they hide individual findings from a rule that is otherwise still running.
.editorconfig and .prettierrc are read so a project that already has them does not repeat itself. Where they disagree with .glua.json or .gluafmtrc.json, the GLua-specific file wins.

The glua.activation setting

glua.activation decides when the language server attaches to .lua files. The default is to attach only in workspaces that look like Garry’s Mod. The status bar shows the current realm — GLua · Server, GLua · Client, GLua · Shared, or Plain Lua — while the server is attached. Click it, or use the Command Palette, to override when the auto-detection guessed wrong.