Skip to main content

Module init

Module init 

Source
Expand description

Команда light init: создание скелета нового проекта Light.

Модуль генерирует минимальный проект: Cargo.toml с зависимостью light, самодостаточный src/main.rs (окно с текстом «Hello, Light!»), .gitignore и light.lock. Внешние эффекты (проверка cargo) идут через трейт CommandRunner, поэтому логика тестируется без запуска процессов.

Structs§

InitOptions
Параметры команды light init.
InitPlan
Что будет создано (результат plan).
InitReport
Итог создания проекта.

Constants§

GITIGNORE
Содержимое .gitignore нового проекта.
LIGHT_DEPENDENCY_VERSION
Версия мета-крейта light, которую прописывает light init.

Functions§

apply
Полный цикл: проверка cargo → план → запись файлов → light.lock.
cargo_toml
Содержимое Cargo.toml нового проекта.
main_rs
Содержимое src/main.rs — минимальное приложение из одного окна.
plan
Строит план создания проекта, проверяя, что каталог свободен.
project_dir
Целевой каталог проекта из параметров.
require_cargo
Проверяет, что cargo доступен в PATH.
scaffold
Записывает файлы плана на диск, создавая каталоги по мере необходимости.
validate_name
Проверяет, что name — допустимое имя крейта.