]> git.lizzy.rs Git - micro.git/commitdiff
Improve disk performance with buffered io
authorZachary Yedidia <zyedidia@gmail.com>
Sun, 9 Feb 2020 20:21:23 +0000 (15:21 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Sun, 9 Feb 2020 20:21:23 +0000 (15:21 -0500)
internal/buffer/line_array.go
internal/buffer/save.go

index 517979c539dc282769d3cffeb51f10baa8d4260a..75a5658c6bfefaac35088b96f6ebb4bb19488c72 100644 (file)
@@ -224,7 +224,7 @@ func (la *LineArray) split(pos Loc) {
 
 // removes from start to end
 func (la *LineArray) remove(start, end Loc) []byte {
-       // sub := la.Substr(start, end)
+       sub := la.Substr(start, end)
        startX := runeToByteIndex(start.X, la.lines[start.Y].data)
        endX := runeToByteIndex(end.X, la.lines[end.Y].data)
        if start.Y == end.Y {
@@ -235,7 +235,7 @@ func (la *LineArray) remove(start, end Loc) []byte {
                la.deleteFromStart(Loc{endX - 1, start.Y + 1})
                la.joinLines(start.Y, start.Y+1)
        }
-       return []byte{}
+       return sub
 }
 
 // deleteToEnd deletes from the end of a line to the position
index 1f32bc64262a5fe29666822f055fc8e87aaca658..fdc2e58c9bfa97ed5bd120ddf4ffda2963212e20 100644 (file)
@@ -1,6 +1,7 @@
 package buffer
 
 import (
+       "bufio"
        "bytes"
        "errors"
        "io"
@@ -55,7 +56,7 @@ 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)
 
        if e := writeCloser.Close(); e != nil && err == nil {