Use Buffer.WriteTo method for writing buffer to file
This commit is contained in:
parent
40e1b40672
commit
3be12bdff1
14
main.go
14
main.go
@ -129,12 +129,16 @@ func main() {
|
||||
tab := tabContainer.GetTab(tabContainer.GetSelectedTabIdx())
|
||||
te := tab.Child.(*ui.TextEdit)
|
||||
if len(te.FilePath) > 0 {
|
||||
// Write the contents into the file, creating one if it does
|
||||
// not exist.
|
||||
err := ioutil.WriteFile(te.FilePath, te.Buffer.Bytes(), fs.ModePerm)
|
||||
f, err := os.OpenFile(te.FilePath, os.O_WRONLY|os.O_CREATE, fs.ModePerm)
|
||||
if err != nil {
|
||||
panic("Could not write file at path " + te.FilePath)
|
||||
} // TODO: Replace with io.Writer method
|
||||
panic(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
_, err = te.Buffer.WriteTo(f) // TODO: check count
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Error occurred while writing buffer to file: %v", err))
|
||||
}
|
||||
|
||||
te.Dirty = false
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ func (t *TextEdit) Draw(s tcell.Screen) {
|
||||
selEndIdx := len(lineRunes) - t.scrollx - 1 // used inclusively
|
||||
if line == t.selection.EndLine { // If the selection ends somewhere in the line...
|
||||
tabCount := t.getTabCountInLineAtCol(line, t.selection.EndCol)
|
||||
selEndIdx = t.selection.EndCol - 1 + tabCount*(t.TabSize-1) - t.scrollx
|
||||
selEndIdx = t.selection.EndCol + tabCount*(t.TabSize-1) - t.scrollx
|
||||
}
|
||||
|
||||
// NOTE: a special draw function just for selections. Should combine this with ordinary draw
|
||||
|
Loading…
x
Reference in New Issue
Block a user