parent
3e612d2597
commit
2885b42c62
1 changed files with 13 additions and 0 deletions
|
@ -512,16 +512,20 @@ func (b *Buffer) SaveAs(filename string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
useCrlf := b.Settings["fileformat"] == "dos"
|
useCrlf := b.Settings["fileformat"] == "dos"
|
||||||
|
size := 0
|
||||||
for i, l := range b.lines {
|
for i, l := range b.lines {
|
||||||
|
size += len(l.data)
|
||||||
if _, err := f.Write(l.data); err != nil {
|
if _, err := f.Write(l.data); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if i != len(b.lines)-1 {
|
if i != len(b.lines)-1 {
|
||||||
if useCrlf {
|
if useCrlf {
|
||||||
|
size += 2
|
||||||
if _, err := f.Write([]byte{'\r', '\n'}); err != nil {
|
if _, err := f.Write([]byte{'\r', '\n'}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
size++
|
||||||
if _, err := f.Write([]byte{'\n'}); err != nil {
|
if _, err := f.Write([]byte{'\n'}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -529,6 +533,15 @@ func (b *Buffer) SaveAs(filename string) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !b.Settings["fastdirty"].(bool) {
|
||||||
|
if size > 50000 {
|
||||||
|
// If the file is larger than a megabyte fastdirty needs to be on
|
||||||
|
b.Settings["fastdirty"] = true
|
||||||
|
} else {
|
||||||
|
b.origHash = md5.Sum([]byte(b.String()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
b.Path = filename
|
b.Path = filename
|
||||||
b.IsModified = false
|
b.IsModified = false
|
||||||
return b.Serialize()
|
return b.Serialize()
|
||||||
|
|
Loading…
Reference in a new issue