Skip to content

Commit 8b78bb5

Browse files
authored
fix: create note folder if not exists (#5)
1 parent efc2372 commit 8b78bb5

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

config.go

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"fmt"
45
"os"
56
"path/filepath"
67

@@ -93,23 +94,37 @@ func DefaultConfig() *Config {
9394
func LoadConfig() (*Config, error) {
9495
cfg := DefaultConfig()
9596

97+
// Create notes directory if it doesn't exist
98+
if err := os.MkdirAll(cfg.NotesDir, 0755); err != nil {
99+
return nil, fmt.Errorf("failed to create notes directory: %v", err)
100+
}
101+
102+
// Create archive directory if it doesn't exist
103+
if err := os.MkdirAll(cfg.ArchiveDir, 0755); err != nil {
104+
return nil, fmt.Errorf("failed to create archive directory: %v", err)
105+
}
106+
96107
configDir, err := getConfigDir()
97108
if err != nil {
98109
return nil, err
99110
}
100111

101-
configPath := filepath.Join(configDir, "config.yaml")
102-
103-
// Check if config directory exists, create if not
112+
// Create config directory if it doesn't exist
104113
if err := os.MkdirAll(configDir, 0755); err != nil {
105-
return nil, err
114+
return nil, fmt.Errorf("failed to create config directory: %v", err)
106115
}
107116

117+
configPath := filepath.Join(configDir, "config.yaml")
118+
108119
// Check if config file exists
109120
if _, err := os.Stat(configPath); os.IsNotExist(err) {
110-
// Create default config
111-
if err := SaveConfig(cfg); err != nil {
112-
return nil, err
121+
// Create default config file
122+
data, err := yaml.Marshal(cfg)
123+
if err != nil {
124+
return nil, fmt.Errorf("failed to marshal default config: %v", err)
125+
}
126+
if err := os.WriteFile(configPath, data, 0644); err != nil {
127+
return nil, fmt.Errorf("failed to write default config: %v", err)
113128
}
114129
return cfg, nil
115130
}

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package main
22

33
import (
4+
"flag"
45
"fmt"
56
"log"
67
"os"
78
"os/exec"
89
"path/filepath"
910
"strings"
1011
"time"
11-
"flag"
1212

1313
"github.com/charmbracelet/bubbles/textinput"
1414
"github.com/charmbracelet/bubbles/viewport"

0 commit comments

Comments
 (0)