]> git.lizzy.rs Git - micro.git/blobdiff - internal/buffer/save.go
Support csharp-script syntax. (#1425)
[micro.git] / internal / buffer / save.go
index 1f32bc64262a5fe29666822f055fc8e87aaca658..6f07ea6c8b6b923a6558986b73872ee7bfc765b7 100644 (file)
@@ -1,6 +1,7 @@
 package buffer
 
 import (
+       "bufio"
        "bytes"
        "errors"
        "io"
@@ -55,8 +56,9 @@ func overwriteFile(name string, enc encoding.Encoding, fn func(io.Writer) error,
                return
        }
 
-       w := transform.NewWriter(writeCloser, enc.NewEncoder())
+       w := bufio.NewWriter(transform.NewWriter(writeCloser, enc.NewEncoder()))
        err = fn(w)
+       w.Flush()
 
        if e := writeCloser.Close(); e != nil && err == nil {
                err = e
@@ -109,8 +111,8 @@ func (b *Buffer) saveToFile(filename string, withSudo bool) error {
 
        if b.Settings["eofnewline"].(bool) {
                end := b.End()
-               if b.RuneAt(Loc{end.X - 1, end.Y}) != '\n' {
-                       b.Insert(end, "\n")
+               if b.RuneAt(Loc{end.X, end.Y}) != '\n' {
+                       b.insert(end, []byte{'\n'})
                }
        }