18
18
FileLocation string
19
19
HistoryLocation string
20
20
PromptText = panes .PromptText
21
+ SelectedModel = panes .Selected
21
22
)
22
23
23
24
func init () {
@@ -29,7 +30,7 @@ func init() {
29
30
err = os .MkdirAll (filepath .Dir (HistoryLocation ), os .ModePerm )
30
31
checkNilErr (err )
31
32
32
- logFile , _ := os .OpenFile ("lazyai.log" , os .O_CREATE | os .O_WRONLY | os .O_TRUNC , 0666 )
33
+ logFile , _ := os .OpenFile ("lazyai.log" , os .O_CREATE | os .O_WRONLY | os .O_TRUNC , 0o666 )
33
34
log .SetOutput (logFile )
34
35
}
35
36
@@ -50,8 +51,17 @@ func setupUI(detachedMode *bool, app *tview.Application) {
50
51
}
51
52
}
52
53
54
+ func throwInvalidModelErr () {
55
+ fmt .Println ("Invalid model used, available models:" )
56
+ for _ , model := range panes .AvailableModels {
57
+ fmt .Println (model )
58
+ }
59
+ os .Exit (0 )
60
+ }
61
+
53
62
func main () {
54
63
detachedMode := flag .Bool ("d" , false , "Run in detached mode" )
64
+ defaultModel := flag .String ("m" , "gemini-2.0-flash" , "Set the default model to use" )
55
65
defaultPrompt := flag .String ("p" , "" , "Set the default prompt" )
56
66
helpCommand := flag .Bool ("help" , false , "Show help commands" )
57
67
flag .Parse ()
@@ -70,6 +80,21 @@ func main() {
70
80
PromptText .PromptString = * defaultPrompt
71
81
}
72
82
83
+ // check if we support specified model
84
+ validModel := false
85
+ for _ , v := range panes .AvailableModels {
86
+ if v .SelectedModel == * defaultModel {
87
+ validModel = true
88
+ break
89
+ }
90
+ }
91
+
92
+ if ! validModel {
93
+ throwInvalidModelErr ()
94
+ }
95
+
96
+ panes .Selected .SelectedModel = * defaultModel
97
+
73
98
app := tview .NewApplication ().EnableMouse (true )
74
99
75
100
if ! api .CheckCredentials (FileLocation , nil ) {
@@ -80,7 +105,7 @@ func main() {
80
105
return
81
106
}
82
107
83
- err := os .WriteFile (FileLocation , []byte (apiInput ), 0644 )
108
+ err := os .WriteFile (FileLocation , []byte (apiInput ), 0o644 )
84
109
checkNilErr (err )
85
110
86
111
log .Println ("Starting clipboard monitoring after credential input." )
0 commit comments