-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackage_commands.go
91 lines (86 loc) · 2.26 KB
/
package_commands.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package main
import "fmt"
// Обновляем команды для разных пакетных менеджеров
var packageManagerCommands = map[string]map[string]string{
"apt": {
"install": "apt-get install -y",
"uninstall": "apt-get remove -y",
"update": "apt-get upgrade -y",
},
"yum": {
"install": "yum install -y",
"uninstall": "yum remove -y",
"update": "yum update -y",
},
"dnf": {
"install": "dnf install -y",
"uninstall": "dnf remove -y",
"update": "dnf upgrade -y",
},
"pacman": {
"install": "-S --noconfirm",
"uninstall": "-R --noconfirm",
"update": "-Syu --noconfirm",
},
"brew": {
"install": "install",
"uninstall": "uninstall",
"update": "upgrade",
},
"choco": {
"install": "install -y",
"uninstall": "uninstall -y",
"update": "upgrade -y",
},
}
// Переопределяем установочные команды для специальных случаев
func getInstallCommand(program, osType string) string {
switch osType {
case "darwin":
// Специальные случаи для macOS
switch program {
case "zsh":
return "" // Oh My Zsh устанавливается через специальную функцию
case "neovim":
return "brew install neovim"
default:
return fmt.Sprintf("brew install %s", program)
}
default:
return ""
}
}
// Переопределяем команды обновления для специальных случаев
func getUpdateCommand(program, osType string) string {
switch osType {
case "darwin":
// Специальные случаи для macOS
switch program {
case "zsh":
return "upgrade_oh_my_zsh"
case "neovim":
return "brew upgrade neovim"
default:
return fmt.Sprintf("brew upgrade %s", program)
}
default:
return ""
}
}
// Переопределяем команды удаления для специальных случаев
func getUninstallCommand(program, osType string) string {
switch osType {
case "darwin":
// Специальные случаи для macOS
switch program {
case "zsh":
return "uninstall_oh_my_zsh"
case "neovim":
return "brew uninstall neovim"
default:
return fmt.Sprintf("brew uninstall %s", program)
}
default:
return ""
}
}