OxL Справочник OxL
РусскийEnglish

Настройка редактора

OxL не привязан к одному редактору. Всё «умное» делает компилятор: команда oxl lsp — сервер Language Server Protocol, запускающий тот же front end, что oxl check, поэтому подсказки и ошибки в редакторе совпадают с ошибками сборки. Отладку даёт oxl dap — адаптер Debug Adapter Protocol поверх lldb-dap. Любой редактор, который умеет запускать команду и говорить по stdio, получает почти то же, что VS Code.

РедакторПодсветкаLSPОтладчик (DAP)Страница
VS Codeрасширение (TextMate + семантические токены)да, расширениевстроенный тип oxlVS Code
Neovimtree-sittervim.lsp / nvim-lspconfignvim-dapNeovim
Helixtree-sitterвстроенный клиентвстроенный клиентHelix
Emacs 29+tree-sitter / свой режимeglot или lsp-modedape или dap-modeEmacs
Zedtree-sitter (расширение)расширение Zedотладчик ZedZed
Sublime Text 4.sublime-syntaxпакет LSP—Sublime Text
IntelliJ IDEA, CLion, GoLand…пакет TextMateLSP4IJLSP4IJ (DAP)JetBrains
другойлюбой клиент LSPлюбой клиент DAPLSP-клиенты

Общее для всех:

  • исполняемый файл oxl должен быть в PATH (установка) или указан полным путём;
  • файлы *.oxl; корень проекта — каталог с oxl.toml (пакет анализируется целиком, вместе с несохранёнными буферами);
  • из архива берутся share/oxl/vscode/*.vsix, share/oxl/tree-sitter-oxl/ и share/oxl/lldb/;
  • отладчику нужен lldb-18 (apt install lldb-18), см. отладка.

Что умеет сервер#

Диагностики со ссылками на страницы диагностик, hover (сигнатура, ///, у rpc — вызывающие, политики, версия схемы), переход к определению и в std, ссылки, переименование через границы пакетов, структура документа, символы рабочей области, дополнение, подсказки сигнатуры, форматирование (канонический oxl fmt), быстрые исправления (обработать все ошибки цепочки, вынести константу, добавить политику, сгенерировать mock, перенести шаг пайплайна), семантические токены и inlay-подсказки (выведенные типы, ошибки звеньев цепочки, эффекты, роль шага, маркеры «в процессе / по сети / scatter-gather»). Полная таблица запросов и настройки — руководство по LSP.

Проверено и не проверено#

Сервер покрыт сценариями протокола и тестом задержки (lsp_scenarios, lsp_latency), расширение VS Code — автоматическими тестами и ручным чеклистом релиза. Конфигурации остальных редакторов написаны по документации этих редакторов и тому, что oxl lsp объявляет при initialize; они не входят в автоматические проверки репозитория — если что-то не заработало, включите oxl lsp --log (трассировка в stderr) и сообщите о проблеме.

OxL 1.0.0-beta · Версия документации 1.0.0-beta© OxwaldLink · сгенерировано из Стандарта, исходников std и руководства