34 lines
539 B
Go
34 lines
539 B
Go
package editor
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
|
||
|
|
"code.chimeric.al/dwrz/wen/internal/editor/buffer/line"
|
||
|
|
"code.chimeric.al/dwrz/wen/internal/editor/event"
|
||
|
|
)
|
||
|
|
|
||
|
|
func (e *Editor) saveAs(l line.Line) error {
|
||
|
|
if err := e.renameBuffer(e.active, l.String()); err != nil {
|
||
|
|
return fmt.Errorf("failed to save: %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
func (e *Editor) quit(l line.Line) error {
|
||
|
|
switch l.String() {
|
||
|
|
case "y":
|
||
|
|
go func() {
|
||
|
|
e.events <- event.NewQuit()
|
||
|
|
}()
|
||
|
|
|
||
|
|
return nil
|
||
|
|
|
||
|
|
case "n":
|
||
|
|
return nil
|
||
|
|
|
||
|
|
default:
|
||
|
|
return fmt.Errorf("invalid selection")
|
||
|
|
}
|
||
|
|
}
|