Skip to content

yaoxiang check

Выполняет статическую проверку исходного кода YaoXiang (проверка типов, проверка владения), не генерируя никакого кода.

Использование

yaoxiang check [OPTIONS] [PATH]...

Параметры

ПараметрОписание
PATHОдин или несколько путей к файлам или каталогам. Если не указан, проверяется текущий проект.

Опции

ОпцияОписаниеЗначение по умолчанию
--jsonВывод диагностической информации в формате JSONНет
-w, --watchНаблюдение за изменениями файлов и автоматическая повторная проверкаНет
--color <MODE>Режим цветного вывода: auto, always, neverauto
--exclude <PATH>Исключить указанный путь (можно использовать несколько раз)Нет
--no-progressПодавить сообщения о ходе выполнения и сводкеНет

Коды завершения

Код завершенияОписание
0Ошибок не обнаружено
1Обнаружены ошибки при проверке
2Файлы .yx не найдены

Межфайловый анализ

yaoxiang check поддерживает межфайловую проверку типов. При проверке нескольких файлов:

  1. Параллельный парсинг всех файлов .yx
  2. Построение графа зависимостей модулей
  3. Обнаружение циклических зависимостей (с ошибкой)
  4. Проверка в порядке топологической сортировки
  5. Использование общей среды типов для корректного обнаружения межфайловых ссылок
bash
# Проверить весь проект (автообнаружение межфайловых ссылок)
yaoxiang check src/

# Проверить указанные файлы
yaoxiang check src/main.yx src/lib.yx

Инкрементная проверка (режим watch)

Используйте -w или --watch для включения режима наблюдения за файлами. При изменениях файлов проверка автоматически повторяется.

bash
yaoxiang check --watch

Формат JSON-вывода

При использовании --json формат вывода следующий:

json
{
  "error_count": 0,
  "warning_count": 0,
  "diagnostics": [
    {
      "file": "src/main.yx",
      "severity": "error",
      "code": "E1001",
      "message": "Unknown variable: 'x'",
      "line": 5,
      "column": 3,
      "end_line": 5,
      "end_column": 4,
      "lsp": { ... }
    }
  ]
}

Примеры

bash
# Проверить текущий проект
yaoxiang check

# Проверить указанные файлы
yaoxiang check src/main.yx

# Проверить каталог и вывести JSON
yaoxiang check src/ --json

# Режим наблюдения
yaoxiang check --watch

# Режим CI (без цвета, без прогресса)
yaoxiang check --color never --no-progress

# Исключить каталог тестов
yaoxiang check src/ --exclude tests/

Интеграция с CI

yaml
# GitHub Actions
- name: Type check
  run: yaoxiang check --color never --no-progress

Подробные настройки CI см. в Руководстве по интеграции CI.

Смотрите также