28 lines
615 B
Go
28 lines
615 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
// save сохраняет текущий файл
|
|
func (m *EditorModel) save() error {
|
|
content := strings.Join(m.lines, "\n")
|
|
if err := writeFileImpl(m.filepath, content); err != nil {
|
|
return err
|
|
}
|
|
m.dirty = false
|
|
m.lastSave = time.Now()
|
|
return nil
|
|
}
|
|
|
|
// writeFileImpl записывает строку в файл
|
|
func writeFileImpl(path, content string) error {
|
|
return os.WriteFile(path, []byte(content), 0644)
|
|
}
|
|
|
|
// userHomeDir возвращает домашнюю директорию
|
|
func userHomeDir() (string, error) {
|
|
return os.UserHomeDir()
|
|
}
|