mirror of
https://github.com/zyedidia/micro.git
synced 2026-03-25 18:07:07 +09:00
option: Don't apply rmtrailingws in case of timed autosave (#2850)
This commit is contained in:
@@ -418,7 +418,7 @@ func DoEvent() {
|
|||||||
f.Function(f.Output, f.Args)
|
f.Function(f.Output, f.Args)
|
||||||
case <-config.Autosave:
|
case <-config.Autosave:
|
||||||
for _, b := range buffer.OpenBuffers {
|
for _, b := range buffer.OpenBuffers {
|
||||||
b.Save()
|
b.AutoSave()
|
||||||
}
|
}
|
||||||
case <-shell.CloseTerms:
|
case <-shell.CloseTerms:
|
||||||
case event = <-screen.Events:
|
case event = <-screen.Events:
|
||||||
|
|||||||
@@ -93,9 +93,14 @@ func (b *Buffer) Save() error {
|
|||||||
return b.SaveAs(b.Path)
|
return b.SaveAs(b.Path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AutoSave saves the buffer to its default path
|
||||||
|
func (b *Buffer) AutoSave() error {
|
||||||
|
return b.saveToFile(b.Path, false, true)
|
||||||
|
}
|
||||||
|
|
||||||
// SaveAs saves the buffer to a specified path (filename), creating the file if it does not exist
|
// SaveAs saves the buffer to a specified path (filename), creating the file if it does not exist
|
||||||
func (b *Buffer) SaveAs(filename string) error {
|
func (b *Buffer) SaveAs(filename string) error {
|
||||||
return b.saveToFile(filename, false)
|
return b.saveToFile(filename, false, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Buffer) SaveWithSudo() error {
|
func (b *Buffer) SaveWithSudo() error {
|
||||||
@@ -103,10 +108,10 @@ func (b *Buffer) SaveWithSudo() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *Buffer) SaveAsWithSudo(filename string) error {
|
func (b *Buffer) SaveAsWithSudo(filename string) error {
|
||||||
return b.saveToFile(filename, true)
|
return b.saveToFile(filename, true, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Buffer) saveToFile(filename string, withSudo bool) error {
|
func (b *Buffer) saveToFile(filename string, withSudo bool, autoSave bool) error {
|
||||||
var err error
|
var err error
|
||||||
if b.Type.Readonly {
|
if b.Type.Readonly {
|
||||||
return errors.New("Cannot save readonly buffer")
|
return errors.New("Cannot save readonly buffer")
|
||||||
@@ -118,7 +123,7 @@ func (b *Buffer) saveToFile(filename string, withSudo bool) error {
|
|||||||
return errors.New("Save with sudo not supported on Windows")
|
return errors.New("Save with sudo not supported on Windows")
|
||||||
}
|
}
|
||||||
|
|
||||||
if b.Settings["rmtrailingws"].(bool) {
|
if !autoSave && b.Settings["rmtrailingws"].(bool) {
|
||||||
for i, l := range b.lines {
|
for i, l := range b.lines {
|
||||||
leftover := util.CharacterCount(bytes.TrimRightFunc(l.data, unicode.IsSpace))
|
leftover := util.CharacterCount(bytes.TrimRightFunc(l.data, unicode.IsSpace))
|
||||||
|
|
||||||
|
|||||||
@@ -315,7 +315,10 @@ Here are the available options:
|
|||||||
default value: `prompt`
|
default value: `prompt`
|
||||||
|
|
||||||
* `rmtrailingws`: micro will automatically trim trailing whitespaces at ends of
|
* `rmtrailingws`: micro will automatically trim trailing whitespaces at ends of
|
||||||
lines. Note: This setting overrides `keepautoindent`
|
lines.
|
||||||
|
Note: This setting overrides `keepautoindent` and isn't used at timed `autosave`
|
||||||
|
or forced `autosave` in case the buffer didn't change. A manual save will
|
||||||
|
involve the action regardless if the buffer has been changed or not.
|
||||||
|
|
||||||
default value: `false`
|
default value: `false`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user