diff --git a/gui/buffer.go b/gui/buffer.go index 36dd08f..78d87be 100644 --- a/gui/buffer.go +++ b/gui/buffer.go @@ -3,6 +3,7 @@ package gui import ( "io/ioutil" "log" + "os" "path" "regexp" "runtime" @@ -79,6 +80,15 @@ func (b *Buffer) OpenFile(filePath string) { b.languageInfo = lang } + // if the file doesn't exist, try to create it before reading it + if _, err := os.Stat(filePath); os.IsNotExist(err) { + if f, err = os.Create(filePath); err != nil { + panic(err) + } else { + f.Close() + } + } + contents, err := ioutil.ReadFile(filePath) if err != nil { panic(err)