feat: 修复配置路径BUG并迁移onboard到huh
All checks were successful
Release / build (push) Successful in 12m14s
All checks were successful
Release / build (push) Successful in 12m14s
- 新增路径解析工具 internal/config/path.go - 配置查找优先级: --config > ~/.config/yoyo/config.yaml > ./configs/config.yaml - onboard配置保存到 ~/.config/yoyo/config.yaml (符合XDG规范) - .env文件从 ~/.config/yoyo/.env 加载 - onboard使用huh替代survey库,更现代的交互体验 - 添加Ctrl+C取消支持,打印'你已取消本次配置' - 保存前增加确认步骤 - 版本号 v0.5.1 -> v1.1.0
This commit is contained in:
@@ -38,7 +38,7 @@ var (
|
||||
interactiveShort = flag.Bool("i", false, "启动交互式翻译界面(-i的短格式)")
|
||||
)
|
||||
|
||||
const versionString = "YOYO翻译工具 v0.5.1"
|
||||
const versionString = "YOYO翻译工具 v1.1.0"
|
||||
|
||||
// isPipeInput 检测是否有管道输入
|
||||
func isPipeInput() bool {
|
||||
@@ -192,12 +192,13 @@ func main() {
|
||||
}
|
||||
|
||||
// 加载环境变量文件
|
||||
_ = godotenv.Load() // 忽略错误,如果文件不存在
|
||||
_ = godotenv.Load(config.GetUserEnvPath())
|
||||
|
||||
// 加载配置
|
||||
configPath := *configFile
|
||||
if configPath == "" {
|
||||
configPath = "configs/config.yaml" // 默认配置文件路径
|
||||
configPath, err := config.ResolveConfigPath(*configFile)
|
||||
if err != nil {
|
||||
fmt.Printf("解析配置路径失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
configLoader := &config.YAMLConfigLoader{}
|
||||
@@ -300,10 +301,14 @@ func runOnboard(force bool) {
|
||||
// runCacheCommand 运行缓存命令
|
||||
func runCacheCommand(subcommand string) {
|
||||
// 加载环境变量文件
|
||||
_ = godotenv.Load()
|
||||
_ = godotenv.Load(config.GetUserEnvPath())
|
||||
|
||||
// 加载配置
|
||||
configPath := "configs/config.yaml"
|
||||
configPath, err := config.ResolveConfigPath("")
|
||||
if err != nil {
|
||||
fmt.Printf("解析配置路径失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
configLoader := &config.YAMLConfigLoader{}
|
||||
cfg, err := configLoader.Load(configPath)
|
||||
if err != nil {
|
||||
@@ -434,9 +439,9 @@ func printHelp() {
|
||||
yoyo --interactive # 启动交互式翻译界面
|
||||
yoyo -i # 启动交互式翻译界面(短格式)
|
||||
|
||||
配置:
|
||||
- 配置文件: configs/config.yaml
|
||||
- 环境变量: .env 文件
|
||||
配置:
|
||||
- 配置文件: ~/.config/yoyo/config.yaml
|
||||
- 环境变量: ~/.config/yoyo/.env
|
||||
- 默认厂商: siliconflow
|
||||
- 默认目标语言: zh-CN (简体中文)
|
||||
|
||||
@@ -463,12 +468,13 @@ func startInteractiveMode() {
|
||||
}
|
||||
|
||||
// 加载环境变量文件
|
||||
_ = godotenv.Load() // 忽略错误,如果文件不存在
|
||||
_ = godotenv.Load(config.GetUserEnvPath())
|
||||
|
||||
// 加载配置
|
||||
configPath := *configFile
|
||||
if configPath == "" {
|
||||
configPath = "configs/config.yaml" // 默认配置文件路径
|
||||
configPath, err := config.ResolveConfigPath(*configFile)
|
||||
if err != nil {
|
||||
fmt.Printf("解析配置路径失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
configLoader := &config.YAMLConfigLoader{}
|
||||
|
||||
Reference in New Issue
Block a user