What is ZLS?
ZLS (Zig Language Server) is a Language Server Protocol implementation for Zig written in Zig by the zigtools community. It provides developers with modern IDE features like autocomplete, goto definition, hover information, and semantic analysis in their favorite editors. With over 4k GitHub stars, it's the essential tool for productive Zig development.
⚡ Key Features of ZLS
💡 Smart Completions
Intelligent autocomplete for functions, variables, types, and imports. Context-aware suggestions based on current scope and available symbols.
🔍 Navigation Features
Goto definition/declaration, find references, and document symbols. Navigate large Zig codebases with ease and precision.
📝 Code Intelligence
Hover information, semantic token highlighting, and inlay hints. Understand code structure and types without manual lookup.
🛠️ Development Tools
Automatic formatting with zig fmt, code actions, selection ranges, and folding regions for better code organization.
🔄 Symbol Operations
Rename symbols across entire codebase, find all references, and document symbol outline for project navigation.
📦 Package Support
Custom package resolution, cImport support, and namespace handling for complex Zig projects and dependencies.
🎯 Supported Editors & IDEs
- VS Code: Official Zig extension with ZLS integration
- Neovim/Vim: Native LSP support and dedicated plugins
- Emacs: lsp-mode and eglot compatibility
- Sublime Text: LSP package integration
- Kate/KDevelop: Built-in LSP support
- Any LSP-compatible editor: Universal Language Server Protocol support
🆕 What's New in ZLS 0.14.0+
- Zig 0.14 Compatibility: Full support for latest Zig language features
- Enhanced Semantic Analysis: Better type resolution and error detection
- Improved Completions: More accurate and context-aware suggestions
- Performance Optimizations: Faster analysis and reduced memory usage
- Better Error Handling: More robust handling of incomplete or invalid code
- Enhanced Debugging: Better integration with debugging workflows
📦 Installation from debian.griffo.io
Step 1: Add Repository
Step 2: Install ZLS
🎯 Editor Setup Examples
VS Code setup:
Neovim setup (with nvim-lspconfig):
Basic ZLS configuration:
🚀 Why Choose debian.griffo.io?
- Official Debian: ZLS not available in official repositories
- Manual Compilation: Requires Zig master and complex build process
- Binary Downloads: Manual updates and no package management
- debian.griffo.io: Latest version (0.14.0+) with automatic updates
- ✅ Latest Language Support: Get newest Zig language feature support immediately
- ✅ No Manual Compilation: Pre-built binaries, no Zig master required
- ✅ Automatic Updates: Packages updated within hours of upstream releases
- ✅ Stable & Nightly: Both stable and cutting-edge versions available
- ✅ Multi-Distribution: Works on Bookworm, Trixie, and Sid
- ✅ Easy Maintenance: Standard apt commands for updates
🔗 Related Packages
Also available from debian.griffo.io:
- Zig Programming Language - Required for ZLS development
- Ghostty Terminal - Modern terminal for development
- fzf Fuzzy Finder - Enhanced file navigation