🎯 What Makes Us Different
✨ Features
🚀 Quick Start
Prerequisites
Before getting started, ensure you have Rust installed on your system:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
📦 Installation
Choose your preferred installation method:
🦀 Via Cargo
# Install the language server cargo install emmylua_ls # Install documentation generator cargo install emmylua_doc_cli # Install static analyzer cargo install emmylua_check
📥 Pre-built Binaries
Download the latest binaries from our releases page.
🔧 Build from Source
git clone https://github.com/EmmyLuaLs/emmylua-analyzer-rust.git
cd emmylua-analyzer-rust
cargo build --release -p emmylua_ls🎮 Editor Integration
VS Code
Install the EmmyLua Extension for the best development experience.
Neovim
Configure with your LSP client:
vim.lsp.enable({"emmylua_ls"})
Intellij IDE
Install the EmmyLua2 Plugin from the JetBrains Marketplace.
Other Editors
EmmyLua Analyzer Rust implements the standard LSP protocol, making it compatible with any editor that supports LSP.
📖 Documentation
- 📖 Features Guide - Comprehensive feature documentation
- ⚙️ Configuration - Advanced configuration options
- 📝 Annotations Reference - Detailed annotation documentation
- 🎨 Code Style - Formatting and style guidelines
- 🛠️ External Formatter Integration - Using external formatters
🛠️ Usage & Examples
🖥️ Language Server (emmylua_ls)
Start the language server with default settings:
Advanced usage with custom configuration:
# TCP mode for remote debugging emmylua_ls -c tcp --port 5007 --log-level debug --log-path ./logs # Stdio mode (default) emmylua_ls -c stdio --log-level info # Stdio mode default parameters emmylua_ls
Server Parameters:
-c, --communication: Communication method (stdio|tcp)--port: TCP port when using TCP mode (default: 5007)--log-level: Logging level (debug|info|warn|error)--log-path: Directory for log files
📚 Documentation Generator (emmylua_doc_cli)
Generate beautiful API documentation:
# Basic usage
emmylua_doc_cli ./src --output ./docs✅ Static Analyzer (emmylua_check)
Perform comprehensive code analysis:
# Analyze current workspace emmylua_check . # Analyze specific directory with detailed output emmylua_check ./src --verbose --format json
🏗️ Development
Building from Source
# Clone the repository git clone https://github.com/EmmyLuaLs/emmylua-analyzer-rust.git cd emmylua-analyzer-rust # Build all crates cargo build --release # Build specific components cargo build --release -p emmylua_ls cargo build --release -p emmylua_doc_cli cargo build --release -p emmylua_check
Testing
# Run all tests cargo test # Run tests for specific crate cargo test -p emmylua_parser # Run with coverage cargo test --all-features --no-fail-fast
Contributing
We welcome contributions!.
More details can be found in our CONTRIBUTING.md file.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.