Xmake Language Server

September 16, 2025 ยท View on GitHub

A language server designed specifically for the XMake build system, developed based on the EmmyLua project, providing powerful IDE support for XMake Lua scripts.

๐Ÿš€ Features

Core Features

  • Intelligent Code Completion - Smart completion for XMake APIs, including functions, configuration options, and parameter hints
  • Syntax Highlighting - Syntax highlighting for XMake Lua scripts
  • Error Detection - Real-time detection of syntax errors and XMake configuration issues
  • Code Navigation - Supports go to definition, find references, and symbol navigation
  • Hover Information - Displays function documentation, parameter descriptions, and usage examples

XMake-Specific Features

  • XMake API Support - Complete XMake 2.7.7+ API definitions and documentation
  • Target Configuration Suggestions - Smart completion for target, package, option, and other configurations
  • Platform & Architecture Awareness - Smart suggestions for cross-platform configurations
  • Dependency Package Management - TODO: Smart support for package.lua and dependency configuration
  • Build Rule Support - TODO: Code completion for custom build rules

๐Ÿ“ฆ Installation

Build from Source

Make sure you have the Rust toolchain installed (recommended 1.89+):

# Clone the repository
git clone https://github.com/CppCXY/xmake_ls.git
cd xmake_ls

# Build the project
cargo build --release -p xmake_ls

# The executable will be generated at target/release/xmake_ls

โšก Quick Start

todo

๐Ÿ”ง Development

Project Structure

xmake_ls/
โ”œโ”€โ”€ crates/
โ”‚   โ”œโ”€โ”€ xmake_ls/             # Main language server
โ”‚   โ””โ”€โ”€ xmake_code_analysis/  # Code analysis core

Build and Test

# Run tests
cargo test

# Check code formatting
cargo fmt --check

Contribution Guide

  1. Fork the project and create a feature branch
  2. Write code and add tests
  3. Ensure all tests pass
  4. Submit a Pull Request

๐Ÿ“„ License

This project is licensed under MIT. See the LICENSE file for details.

๐Ÿค Contributors

Thanks to all developers who contributed to this project!

๐Ÿ“ž Contact & Support

  • XMake - Lightweight cross-platform build tool based on Lua
  • EmmyLua - The original EmmyLua language server project

If you find this project helpful, please consider giving us a โญ Star!