feat: udpate mise exec logs
This commit is contained in:
@@ -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...)
|
||||
}
|
||||
Reference in New Issue
Block a user