State-of-the-Art Language Support for Luau & Jaci Compatible with VS Code, Cursor, Antigravity, VSCodium, Windsurf, and Positron
Features
Blazing Fast Embedded LSP: Powered by the native Jaci / Luau language server (luau --lsp / luau-analyze --lsp) with zero-latency in-memory virtual filesystem synchronization.
High-Throughput Binary JSON: Supports MessagePack binary JSON transport for ultra-low latency and minimal memory overhead.
Rich Autocompletion: Parameter names, type annotations, function signatures ((a: number, b: string) -> boolean), return types, and documentation.
Module Require Navigation & Hover: Hovering over require("...") paths displays exported types and members, with jump-to-definition support.
Signature Help: Active parameter tracking with detailed argument types and documentation.
Diagnostics & Typechecking: Instant inline type errors, syntax errors, and configurable linter warnings.
AST & Bytecode Inspection: Built-in commands to inspect abstract syntax trees and compiled bytecode directly in the editor.
Jaci VM Eval: Evaluate selected code snippets directly inside the Jaci Luau VM.
VFS Memory Optimization: Low-memory footprint featuring LZ binary compression for background modules and delta-encoded line offset tables.
Commands
Command
Identifier
Description
Jaci: Select Server Binary...
jaci.selectBinary
Pick the luau or luau-analyze binary with a native file dialog.
Jaci: Restart Language Server
jaci.restartServer
Restarts the background language server process.
Jaci: Inspect AST (JSON)
jaci.showAst
Displays the AST JSON representation of the current file.
Jaci: Inspect Bytecode
jaci.showBytecode
Compiles and displays bytecode length and info.
Jaci: Inspect Inferred Types
jaci.showTypes
Shows all inferred global and local types for the file.
Jaci: Inspect Require Graph
jaci.showRequireGraph
Visualizes the module dependency tree.
Jaci: Evaluate Selected Code
jaci.evalSnippet
Evaluates the selected expression in the Jaci VM.
Jaci: Inspect VFS Stats
jaci.showVfsStats
Inspects live VFS memory consumption and compression ratio.
Configuration Settings
{
// Path to the luau or luau-analyze executable, or its parent build directory.
// Leave empty to automatically detect from workspace build/ or PATH.
"jaci.serverPath": "",
// Enable high-throughput MessagePack binary JSON transport (default: true)
"jaci.binaryJson": true,
// Traces communication with the LSP server ("off", "messages", "verbose")
"jaci.trace.server": "off"
}
Getting Started
Install the extension in your editor (VS Code, Cursor, Antigravity, or VSCodium).
Open any workspace containing Luau files (.luau, .lua).
If you have built luau in your workspace (build/luau or build/Release/luau), Jaci will automatically detect and launch the server.
Alternatively, run Jaci: Select Server Binary... from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) to choose your executable.