#!/usr/bin/env dart import 'dart:io'; import 'package:logging/logging.dart'; import 'package:yx_icon_fonts/yx_icon_fonts.dart'; /// YX Icon Fonts CLI 工具主入口 /// /// 这是一个图标字体代码生成工具,可以: /// - 解析 iconfont.json 文件 /// - 生成 Flutter IconData 常量 /// - 支持自定义类名和输出路径 /// /// 使用方法: /// `dart run yx_icon_fonts [options]` /// /// 可用命令: /// - generate: 生成代码文件 /// - init: 初始化配置文件 /// - help: 显示帮助信息 /// - version: 显示版本信息 Future main(List arguments) async { setupLogging(level: Level.ALL); // 检查是否有参数 var resolvedArgs = arguments; if (resolvedArgs.isEmpty) { _showWelcome(); resolvedArgs = ['help']; } // 检查特殊命令 if (resolvedArgs.contains('--version') || resolvedArgs.contains('-v')) { _showVersion(); return; } // 使用 CLI 运行器 final cli = IconFontsCLI(); final exitCode = await cli.run(resolvedArgs); // 设置退出代码 exit(exitCode); } /// 显示欢迎信息 void _showWelcome() { appLogger ..info('🎨 欢迎使用 YX Icon Fonts CLI 工具!') ..info('这是一个强大的图标字体代码生成工具,可以帮助您:') ..info(' 📋 解析 iconfont.json 文件') ..info(' 🛠️ 生成 Flutter IconData 常量') ..info(' 📁 自定义输出路径和类名') ..info('使用 --help 查看详细帮助信息'); } /// 显示版本信息 void _showVersion() { appLogger ..info('🎨 YX Icon Fonts CLI v2.0.0') ..info('构建信息:') ..info(' - Dart SDK: ${Platform.version}') ..info(' - 平台: ${Platform.operatingSystem}') ..info('特性:') ..info(' ✨ YAML 配置文件支持') ..info(' 🏗️ 模块化架构设计') ..info(' 🚀 快速代码生成') ..info(' 📝 自定义类名和路径') ..info('更多信息请访问: https://gitea.23544.com/wangyang/yx_icon_fonts_flutter'); }