Revolutionary Lua Development Experience
A powerful language server and static analyzer for Lua, built with Rust for blazing performance. Full LSP support for Lua 5.1-5.5 and LuaJIT with advanced EmmyLua annotations.
10x Faster
Multi-editor
MIT Licensed
example.lua
Quick Start
Get up and running with EmmyLua Analyzer in minutes
Install via Cargo
Install the language server using Rust’s package manager:
Alternatively, download pre-built binaries from the releases page.
Set Up Your Editor
Configure your preferred editor to use EmmyLua:
- VS Code: Install the EmmyLua extension
- Neovim: Add
emmylua_lsto your LSP configuration - IntelliJ: Install the EmmyLua2 plugin
Powerful Features
Everything you need for professional Lua development
Smart Completion
Context-aware auto-completion with module paths, lambda generation, and enum support
Type Checking
Advanced static analysis with real-time error detection and configurable diagnostics
Code Navigation
Go to definition, find references, and workspace-wide symbol search
Refactoring
Safe rename refactoring with cross-file support and conflict detection
Code Formatting
Professional code formatting powered by EmmyLuaCodeStyle
Semantic Highlighting
Advanced syntax coloring based on semantic analysis and type information
Command Line Tools
Three powerful CLI tools for different workflows
emmylua_ls
Full-featured Language Server Protocol implementation with support for all LSP features
Explore CLI
emmylua_check
Static analyzer for CI/CD pipelines with JSON output and verbose reporting
Explore CLI
emmylua_doc_cli
Generate beautiful API documentation from EmmyLua annotations in your code
Explore CLI
EmmyLua Annotations
Rich type annotation system for better code intelligence
Type Annotations
Define types, classes, aliases, enums, and generics for precise type checking
Function Annotations
Document parameters, return types, overloads, and async behavior
Advanced Features
Fields, operators, casts, meta-programming, and more
Diagnostic Control
Fine-tune warnings and errors on a per-file or per-line basis
Comprehensive Lua Support
Lua Versions
Lua 5.1 - Full compatibility
Lua 5.2 - Complete feature set
Lua 5.3 - Integer types & UTF-8
Lua 5.4 - Attributes & generational GC
Lua 5.5 - New global syntax
LuaJIT - Performance optimizations
LSP Features
Auto-completion with context
Go to definition & references
Hover information & signature help
Rename refactoring
Code formatting & folding
Semantic tokens & inlay hints
Ready to Get Started?
Join developers worldwide using EmmyLua Analyzer for professional Lua development
