# Editors

Lynx ships an EmmyLua / LuaLS definition file, `lynx.d.lua`, that declares every base global and every game namespace with types. Point your editor's Lua language server at it and you get completion, signatures and type errors as you write.

The published copy is at [`/lynx.d.lua`](https://lua.lynxcheats.com/lynx.d.lua). It is generated from the shipped API; treat it as the source of truth for shapes.

## VS Code

Install the **Lua** extension (sumneko / LuaLS). Drop `lynx.d.lua` into your workspace, or add its folder to the library:

```json
{
  "Lua.workspace.library": ["path/to/lynx-defs"],
  "Lua.runtime.version": "Lua 5.4"
}
```

## Any LuaLS editor

Neovim, Sublime (LSP-lua) and anything else that speaks the Lua language server work the same way: put `lynx.d.lua` on the workspace library path and set the runtime to 5.4. The assistant in the Lua tab is taught the same definitions, so what it completes and what your editor completes match.