pub fn parse_dev_command(raw: &[String]) -> DevArgsExpand description
Чистый разбор сырых аргументов командной строки в DevArgs.
Правила: первый аргумент (если он существует и не начинается с -)
считается именем пакета; --verbose включает подробные логи; всё
остальное попадает в extra_cargo_args. Это изолировано от clap,
чтобы тестировать парсинг без запуска бинарника.
§Примеры
use light_fw_cli_core::dev::parse_dev_command;
// `light dev example-devtools-demo --release`
let args = parse_dev_command(&["example-devtools-demo".into(), "--release".into()]);
assert_eq!(args.package.as_deref(), Some("example-devtools-demo"));
assert_eq!(args.extra_cargo_args, vec!["--release"]);
assert!(!args.verbose);
// `light dev --verbose`
let args = parse_dev_command(&["--verbose".into()]);
assert!(args.verbose);
assert_eq!(args.package, None);
assert!(args.extra_cargo_args.is_empty());
// `light dev` (без имени пакета)
let empty: &[String] = &[];
let args = parse_dev_command(empty);
assert_eq!(args.package, None);
assert!(args.extra_cargo_args.is_empty());