Use less memory when opening very large files

This commit is contained in:
Zachary Yedidia
2017-04-29 14:12:00 -04:00
parent 47324aea97
commit b4dda8bad8
8 changed files with 69 additions and 36 deletions

View File

@@ -110,9 +110,9 @@ func LoadInput() []*Buffer {
}
// If the file didn't exist, input will be empty, and we'll open an empty buffer
if input != nil {
buffers = append(buffers, NewBuffer(input, filename))
buffers = append(buffers, NewBuffer(input, FSize(input), filename))
} else {
buffers = append(buffers, NewBuffer(strings.NewReader(""), filename))
buffers = append(buffers, NewBufferFromString("", filename))
}
}
} else if !isatty.IsTerminal(os.Stdin.Fd()) {
@@ -124,10 +124,10 @@ func LoadInput() []*Buffer {
TermMessage("Error reading from stdin: ", err)
input = []byte{}
}
buffers = append(buffers, NewBuffer(strings.NewReader(string(input)), filename))
buffers = append(buffers, NewBufferFromString(string(input), filename))
} else {
// Option 3, just open an empty buffer
buffers = append(buffers, NewBuffer(strings.NewReader(string(input)), filename))
buffers = append(buffers, NewBufferFromString(string(input), filename))
}
return buffers