@@ -71,7 +71,12 @@ func initConfig() {
71
71
if cfgFile != "" {
72
72
// Use config file from the flag.
73
73
viper .SetConfigFile (cfgFile )
74
- if ! file .IsFile (cfgFile ) {
74
+ exists , err := file .IsFile (cfgFile )
75
+ if err != nil {
76
+ // Config file status could not be determined; handle or ignore as needed
77
+ // Optionally: log.Fatalf("failed to check if config file %s is a file: %v", cfgFile, err)
78
+ }
79
+ if ! exists {
75
80
// Config file not found; ignore error if desired
76
81
_ , err := os .Create (cfgFile )
77
82
if err != nil {
@@ -90,7 +95,11 @@ func initConfig() {
90
95
viper .SetConfigName (".codegpt" )
91
96
cfgFile = path .Join (configFolder , ".codegpt.yaml" )
92
97
93
- if ! file .IsDir (configFolder ) {
98
+ isDir , err := file .IsDir (configFolder )
99
+ if err != nil {
100
+ log .Fatalf ("failed to check if config folder %s is a directory: %v" , configFolder , err )
101
+ }
102
+ if ! isDir {
94
103
if err := os .MkdirAll (configFolder , os .ModePerm ); err != nil {
95
104
log .Fatal (err )
96
105
}
@@ -127,11 +136,19 @@ func initConfig() {
127
136
case promptFolder != "" :
128
137
// If a prompt folder is specified by the promptFolder variable,
129
138
// check if it is a file. If it is, log a fatal error.
130
- if file .IsFile (promptFolder ) {
139
+ isFile , err := file .IsFile (promptFolder )
140
+ if err != nil {
141
+ log .Fatalf ("failed to check if prompt folder %s is a file: %v" , promptFolder , err )
142
+ }
143
+ if isFile {
131
144
log .Fatalf ("prompt folder %s is a file" , promptFolder )
132
145
}
133
146
// If the prompt folder does not exist, create it.
134
- if ! file .IsDir (promptFolder ) {
147
+ isDir , err := file .IsDir (promptFolder )
148
+ if err != nil {
149
+ log .Fatalf ("failed to check if prompt folder %s is a directory: %v" , promptFolder , err )
150
+ }
151
+ if ! isDir {
135
152
if err := os .MkdirAll (promptFolder , os .ModePerm ); err != nil {
136
153
log .Fatal (err )
137
154
}
@@ -142,11 +159,19 @@ func initConfig() {
142
159
// If the prompt folder is specified in the configuration,
143
160
// retrieve it and check if it is a file. If it is, log a fatal error.
144
161
promptFolder = viper .GetString ("prompt.folder" )
145
- if file .IsFile (promptFolder ) {
162
+ isFile , err := file .IsFile (promptFolder )
163
+ if err != nil {
164
+ log .Fatalf ("failed to check if prompt folder %s is a file: %v" , promptFolder , err )
165
+ }
166
+ if isFile {
146
167
log .Fatalf ("prompt folder %s is a file" , promptFolder )
147
168
}
148
169
// If the prompt folder does not exist, create it.
149
- if ! file .IsDir (promptFolder ) {
170
+ isDir , err := file .IsDir (promptFolder )
171
+ if err != nil {
172
+ log .Fatalf ("failed to check if prompt folder %s is a directory: %v" , promptFolder , err )
173
+ }
174
+ if ! isDir {
150
175
if err := os .MkdirAll (promptFolder , os .ModePerm ); err != nil {
151
176
log .Fatal (err )
152
177
}
@@ -157,7 +182,11 @@ func initConfig() {
157
182
home , err := os .UserHomeDir ()
158
183
cobra .CheckErr (err )
159
184
targetFolder := path .Join (home , ".config" , "codegpt" , "prompt" )
160
- if ! file .IsDir (targetFolder ) {
185
+ isDir , err := file .IsDir (targetFolder )
186
+ if err != nil {
187
+ log .Fatalf ("failed to check if target folder %s is a directory: %v" , targetFolder , err )
188
+ }
189
+ if ! isDir {
161
190
if err := os .MkdirAll (targetFolder , os .ModePerm ); err != nil {
162
191
log .Fatal (err )
163
192
}
0 commit comments