This commit is contained in:
parent
02c103e196
commit
e109f0b117
29
main.go
29
main.go
|
|
@ -344,9 +344,32 @@ func main() {
|
|||
execFlag := flag.String("exec", "", "Execution parameter")
|
||||
flag.Parse() // Парсим аргументы
|
||||
|
||||
// Инициализация главного меню с использованием флага -c
|
||||
// По умолчанию "menu.yml", что с учетом resolvePath превратится в "menu/menu.yml"
|
||||
menu := NewMenu(*configFile)
|
||||
var yamlPath string
|
||||
|
||||
// Проверяем, был ли явно задан флаг -c
|
||||
isConfigSet := false
|
||||
flag.Visit(func(f *flag.Flag) {
|
||||
if f.Name == "c" {
|
||||
isConfigSet = true
|
||||
}
|
||||
})
|
||||
|
||||
if isConfigSet {
|
||||
// Если флаг задан, используем путь относительно текущей директории
|
||||
// делаем его абсолютным, чтобы resolvePath не добавлял "menu"
|
||||
if filepath.IsAbs(*configFile) {
|
||||
yamlPath = *configFile
|
||||
} else {
|
||||
currDir, _ := os.Getwd()
|
||||
yamlPath = filepath.Join(currDir, *configFile)
|
||||
}
|
||||
} else {
|
||||
// Если флаг не задан, используем стандартное поведение (добавится "menu")
|
||||
yamlPath = *configFile
|
||||
}
|
||||
|
||||
// Инициализация главного меню
|
||||
menu := NewMenu(yamlPath)
|
||||
|
||||
if *execFlag != "" { // Проверяем, задан ли флаг --exec
|
||||
items := strings.Split(*execFlag, "-") // Разделяем строку по "-"
|
||||
|
|
|
|||
Loading…
Reference in New Issue