feat: udpate mise exec logs

This commit is contained in:
engigu
2026-02-13 21:16:51 +08:00
parent ef0d256c58
commit 2d90d0921a
19 changed files with 180 additions and 63 deletions
+77
View File
@@ -0,0 +1,77 @@
package utils
import (
"strings"
)
// BuildMiseCommand 构建多语言 mise 执行命令 (字符串形式)
func BuildMiseCommand(command string, languages []map[string]string) string {
if len(languages) == 0 {
return command
}
var builder strings.Builder
builder.WriteString("mise exec")
for _, lang := range languages {
name := lang["name"]
version := lang["version"]
if name == "" {
continue
}
if version == "" {
version = "latest"
}
builder.WriteString(" " + name + "@" + version)
}
builder.WriteString(" -- " + command)
return builder.String()
}
// BuildMiseCommandArgs 构建多语言 mise 执行命令 (参数列表形式)
func BuildMiseCommandArgs(cmdArgs []string, languages []map[string]string) []string {
if len(languages) == 0 {
return cmdArgs
}
args := []string{"mise", "exec"}
for _, lang := range languages {
name := lang["name"]
version := lang["version"]
if name == "" {
continue
}
if version == "" {
version = "latest"
}
args = append(args, name+"@"+version)
}
args = append(args, "--")
args = append(args, cmdArgs...)
return args
}
// BuildMiseCommandSimple 构建单个语言的 mise 执行命令
func BuildMiseCommandSimple(command string, language, version string) string {
if language == "" {
return command
}
spec := language
if version != "" {
spec += "@" + version
}
return "mise exec " + spec + " -- " + command
}
// BuildMiseCommandArgsSimple 构建单个语言的 mise 执行命令 (参数列表形式)
func BuildMiseCommandArgsSimple(cmdArgs []string, language, version string) []string {
if language == "" {
return cmdArgs
}
spec := language
if version != "" {
spec += "@" + version
}
return append([]string{"mise", "exec", spec, "--"}, cmdArgs...)
}