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

Любой клиент LSP

Сервер — oxl lsp (флаг --stdio принимается и игнорируется: транспорт один, JSON-RPC 2.0 с Content-Length по stdin/stdout). Параметры клиента:

ПараметрЗначение
Командаoxl lsp
Язык, расширениеoxl, *.oxl
Коренькаталог с oxl.toml (иначе файл анализируется отдельно)
Синхронизацияинкрементальная (textDocumentSync.change = 2), UTF-8 с нормализацией перевода строк
Кодировка позицийUTF-16 по умолчанию; если клиент предлагает utf-8 в general.positionEncodings, выбирается он
Триггеры дополнения. и :; подсказки сигнатур — ( и ,
Регистрация файловклиент присылает workspace/didChangeWatchedFiles — сервер перечитывает изменённые с диска файлы

Опции (initializationOptions или workspace/didChangeConfiguration → settings.oxl):

json
{
  "debounceMs": 150,
  "diagnosticDocsBase": "https://docs.example.org/ru/diagnostics/",
  "inlayHints": { "types": true, "chainErrors": true, "effects": true, "pipelineRoles": true, "callMarkers": true }
}

Переменные окружения: OXL_STD_DIR (исходники стандартной библиотеки), OXL_DIAG_DOCS (основа ссылок диагностик), OXL_LSP_LOG=1 (трассировка запросов и времён в stderr; то же — oxl lsp --log).

Возможности, которые объявляет сервер#

hover, definition, typeDefinition, references, documentHighlight, rename (с prepareRename), documentSymbol, workspaceSymbol, completion, signatureHelp, formatting / rangeFormatting / onTypeFormatting, codeAction, semanticTokens (full и range), inlayHint, публикация диагностик с code, codeDescription.href (ссылка на страницу диагностики), relatedInformation, тегами Unnecessary/Deprecated и исправлениями в data.

Проверка вручную#

sh
printf 'Content-Length: 58\r\n\r\n{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | oxl lsp --log

Ответ на initialize содержит serverInfo (oxl-lsp) и перечисленные возможности. Если клиент «зависает» при старте, чаще всего проблема в PATH редактора: запустите его из терминала или укажите oxl полным путём.

Подсветка без сервера#

Для редакторов на tree-sitter — грамматика share/oxl/tree-sitter-oxl (страница); для редакторов на TextMate — syntaxes/oxl.tmLanguage.json из распакованного .vsix. Скрипт проверки грамматики: python3 tools/tree-sitter-oxl/scripts/check.py -v.

Отладчик#

oxl dap — адаптер DAP по stdio (отладка): клиент запускает команду и ведёт обычный диалог initialize → launch → setBreakpoints → configurationDone.

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