1- // flags paketi, anitr-cli için komut satırı bayraklarını ve alt komutlarını tanımlar
21package flags
32
43import (
4+ "runtime"
5+
56 "github.com/spf13/cobra"
67 "github.com/xeyossr/anitr-cli/internal/update"
78)
89
9- // CLI'de kullanılacak bayraklar burada tutulur
1010type Flags struct {
1111 DisableRPC bool
1212 PrintVersion bool
1313 RofiMode bool
1414 RofiFlags string
1515}
1616
17- // CLI komutunu ve ilgili bayrakları oluşturan fonksiyon
1817func NewFlagsCmd () (* cobra.Command , * Flags ) {
1918 f := & Flags {}
2019
2120 cmd := & cobra.Command {
2221 Use : "anitr-cli" ,
23- Short : "🚀 Terminalde Türkçe altyazılı anime izleme aracı " ,
22+ Short : "🚀 Terminalde Türkçe altyazılı anime izleme aracı" ,
2423 SilenceUsage : true ,
2524 SilenceErrors : true ,
2625 DisableAutoGenTag : true ,
@@ -29,52 +28,54 @@ func NewFlagsCmd() (*cobra.Command, *Flags) {
2928 },
3029 }
3130
32- // Global flag: Discord RPC devre dışı bırakmak için
3331 cmd .PersistentFlags ().BoolVar (& f .DisableRPC , "disable-rpc" , false ,
3432 "Discord Rich Presence desteğini devre dışı bırakır." )
3533
36- // Versiyon bilgisi ayarlanıyor
3734 cmd .SetVersionTemplate (update .Version ())
3835 cmd .Version = update .Version ()
3936
40- // Eski --rofi flag'i (artık kullanılmıyor)
41- cmd .PersistentFlags ().BoolVarP (& f .RofiMode , "rofi" , "r" , false ,
42- "[DEPRECATED] --rofi seçeneği kullanımdan kaldırıldı. Lütfen 'rofi' alt komutunu kullanın." )
43- _ = cmd .PersistentFlags ().MarkDeprecated ("rofi" , "Bu bayrak artık kullanılmıyor. Yerine 'rofi' alt komutunu kullanın." )
44-
45- // rofi alt komutu
46- rofiCmd := & cobra.Command {
47- Use : "rofi" ,
48- Short : "🔹 Rofi arayüzüyle başlatır" ,
49- Long : `Uygulamayı rofi arayüzü ile başlatır.
37+ if runtime .GOOS == "linux" {
38+ // Linux'ta rofi ve tui alt komutları eklenir
5039
51- --rofi-flags bayrağı ile Rofi'ye özel parametreler verilebilir.` ,
52- Run : func (cmd * cobra.Command , args []string ) {
53- f .RofiMode = true
54- },
55- SilenceUsage : true ,
56- SilenceErrors : true ,
57- }
40+ // Eski --rofi flag'i (deprecated)
41+ cmd .PersistentFlags ().BoolVarP (& f .RofiMode , "rofi" , "r" , false ,
42+ "[DEPRECATED] --rofi seçeneği kullanımdan kaldırıldı. Lütfen 'rofi' alt komutunu kullanın." )
43+ _ = cmd .PersistentFlags ().MarkDeprecated ("rofi" , "Bu bayrak artık kullanılmıyor. Yerine 'rofi' alt komutunu kullanın." )
5844
59- // rofi alt komutu için ek parametre alma
60- rofiCmd .Flags ().StringVarP (& f .RofiFlags , "rofi-flags" , "f" , "" ,
61- "Rofi'ye aktarılacak ek parametreler (örnek: --rofi-flags='-theme mytheme')" )
45+ // rofi alt komutu
46+ rofiCmd := & cobra.Command {
47+ Use : "rofi" ,
48+ Short : "🔹 Rofi arayüzüyle başlatır" ,
49+ Long : `Uygulamayı rofi arayüzü ile başlatır.
6250
63- cmd .AddCommand (rofiCmd )
51+ --rofi-flags bayrağı ile Rofi'ye özel parametreler verilebilir.` ,
52+ Run : func (cmd * cobra.Command , args []string ) {
53+ f .RofiMode = true
54+ },
55+ SilenceUsage : true ,
56+ SilenceErrors : true ,
57+ }
58+ rofiCmd .Flags ().StringVarP (& f .RofiFlags , "rofi-flags" , "f" , "" ,
59+ "Rofi'ye aktarılacak ek parametreler (örnek: --rofi-flags='-theme mytheme')" )
60+ cmd .AddCommand (rofiCmd )
6461
65- // tui alt komutu
66- tuiCmd := & cobra.Command {
67- Use : "tui" ,
68- Short : "🔹 Terminal (TUI) arayüzüyle başlatır" ,
69- Long : "Uygulamayı terminal arayüzü (TUI) ile başlatır." ,
70- Run : func (cmd * cobra.Command , args []string ) {
71- f .RofiMode = false
72- },
73- SilenceUsage : true ,
74- SilenceErrors : true ,
62+ // tui alt komutu
63+ tuiCmd := & cobra.Command {
64+ Use : "tui" ,
65+ Short : "🔹 Terminal (TUI) arayüzüyle başlatır" ,
66+ Long : "Uygulamayı terminal arayüzü (TUI) ile başlatır." ,
67+ Run : func (cmd * cobra.Command , args []string ) {
68+ f .RofiMode = false
69+ },
70+ SilenceUsage : true ,
71+ SilenceErrors : true ,
72+ }
73+ cmd .AddCommand (tuiCmd )
74+ } else {
75+ // Windows'ta rofi yok, otomatik tui modunda başlatılır
76+ f .RofiMode = false
77+ // Hiç alt komut ekleme, kullanıcıya seçim sunma
7578 }
7679
77- cmd .AddCommand (tuiCmd )
78-
7980 return cmd , f
8081}
0 commit comments