1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Todo list persists to file

This commit is contained in:
Chris Cummer 2018-04-22 21:17:27 -07:00
parent a0ce5eb412
commit a6e8d64284

View File

@ -3,6 +3,7 @@ package todo
import ( import (
"fmt" "fmt"
"time" "time"
"io/ioutil"
"github.com/gdamore/tcell" "github.com/gdamore/tcell"
"github.com/olebedev/config" "github.com/olebedev/config"
@ -64,6 +65,7 @@ func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
case " ": case " ":
// Check/uncheck selected item // Check/uncheck selected item
widget.list.Toggle() widget.list.Toggle()
widget.persist()
widget.display() widget.display()
return nil return nil
case "e": case "e":
@ -99,3 +101,17 @@ func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
return event return event
} }
} }
// persist writes the todo list to Yaml file
func (widget *Widget) persist() {
confDir, _ := wtf.ConfigDir()
filePath := fmt.Sprintf("%s/%s", confDir, widget.FilePath)
fileData, _ := yaml.Marshal(&widget.list)
err := ioutil.WriteFile(filePath, fileData, 0644)
if err != nil {
panic(err)
}
}