Что такое ZLS?
ZLS (Zig Language Server) — это реализация протокола языкового сервера для Zig, написанная на Zig сообществом zigtools. Он предоставляет разработчикам современные функции IDE, такие как автодополнение, переход к определению, информация при наведении и семантический анализ в любимых редакторах. С более чем 4000 звёздами на GitHub это незаменимый инструмент для продуктивной разработки на Zig.
⚡ Ключевые возможности ZLS
💡 Умное автодополнение
Интеллектуальное автодополнение для функций, переменных, типов и импортов. Контекстно-зависимые подсказки на основе текущей области видимости и доступных символов.
🔍 Функции навигации
Переход к определению/объявлению, поиск ссылок и символов в документе. Навигация по большим кодовым базам Zig с лёгкостью и точностью.
📝 Интеллект кода
Информация при наведении, семантическая подсветка токенов и встроенные подсказки. Понимание структуры и типов кода без ручного поиска.
🛠️ Инструменты разработки
Автоматическое форматирование с zig fmt, действия с кодом, диапазоны выделения и области сворачивания для лучшей организации кода.
🔄 Операции с символами
Переименование символов по всей кодовой базе, поиск всех ссылок и контур символов документа для навигации по проекту.
📦 Поддержка пакетов
Пользовательское разрешение пакетов, поддержка cImport и обработка пространств имён для сложных проектов и зависимостей Zig.
🎯 Поддерживаемые редакторы и IDE
- VS Code: Официальное расширение Zig с интеграцией ZLS
- Neovim/Vim: Нативная поддержка LSP и специальные плагины
- Emacs: Совместимость с lsp-mode и eglot
- Sublime Text: Интеграция пакета LSP
- Kate/KDevelop: Встроенная поддержка LSP
- Любой LSP-совместимый редактор: Универсальная поддержка протокола Language Server
apt upgrade всегда держит вас на последней версии.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; ZLS среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
Шаг 2: Установить ZLS
# Установить последнюю стабильную версию ZLS
sudo apt install zls
# Или установить ночные сборки для самых новых функций
sudo apt install zls-master
# Проверить установку
zls --version# Установить последнюю стабильную версию ZLS
apt install zls
# Или установить ночные сборки для самых новых функций
apt install zls-master
# Проверить установку
zls --version🎯 Примеры настройки редакторов
Настройка VS Code:
# Install Zig extension from marketplace
# Extension automatically detects ZLS if installed in PATH
# Or configure custom ZLS path in settings.json:
{
"zig.zls.path": "/usr/bin/zls"
}Настройка Neovim (с nvim-lspconfig):
-- In your init.lua
require('lspconfig').zls.setup{
cmd = { "zls" },
filetypes = { "zig" },
root_dir = require('lspconfig.util').root_pattern("build.zig", ".git"),
}Базовая конфигурация ZLS:
# Create ZLS config file
mkdir -p ~/.config/zls
cat > ~/.config/zls/zls.json << 'EOF'
{
"enable_semantic_tokens": true,
"enable_inlay_hints": true,
"enable_snippets": true,
"warn_style": true,
"highlight_global_var_declarations": true
}
EOF🚀 Почему выбрать deb.griffo.io?
- Официальный Ubuntu: ZLS недоступен в официальных репозиториях
- Ручная компиляция: Требует Zig master и сложного процесса сборки
- Бинарные загрузки: Ручные обновления без управления пакетами
- deb.griffo.io: Последняя версия с автоматическими обновлениями
- ✅ Последняя поддержка языка: Немедленный доступ к поддержке новых языковых функций Zig
- ✅ Без ручной компиляции: Готовые бинарные файлы, Zig master не требуется
- ✅ Автоматические обновления: Пакеты обновляются в течение часов после выпуска
- ✅ Стабильная и ночная версии: Доступны как стабильная, так и экспериментальная версии
- ✅ Мультидистрибутив: Работает на Jammy и Noble
- ✅ Простое обслуживание: Стандартные команды apt для обновлений
📦 Репозиторий сборки пакетов
Пакеты Ubuntu автоматически собираются и поддерживаются в этих репозиториях GitHub:
- 🇿 zls-debian (стабильная) - Сборки стабильных выпусков
- 🇿 zls-master-debian (ночные) - Ночные сборки для разработчиков
🔗 Связанные пакеты
Также доступно из deb.griffo.io:
- Язык программирования Zig - Необходим для разработки с ZLS
- Терминал Ghostty — современный терминал для разработки
- fzf Fuzzy Finder - Улучшенная навигация по файлам