From e25916228c7d1d809e9475acc1f6e63771936556 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Sun, 15 Jun 2025 09:31:36 +0300 Subject: [PATCH] Replace tilde characters with home directory when saving and loading files --- src/buffer.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/buffer.go b/src/buffer.go index d2f21b2..19c9337 100644 --- a/src/buffer.go +++ b/src/buffer.go @@ -98,6 +98,16 @@ func (buffer *Buffer) Load() error { return nil } + // Replace tilde with home directory + if strings.HasPrefix(buffer.filename, "~/") { + homedir, err := os.UserHomeDir() + if err != nil { + return err + } + + buffer.filename = filepath.Join(homedir, buffer.filename[2:]) + } + content, err := os.ReadFile(buffer.filename) if err != nil { return err @@ -113,6 +123,16 @@ func (buffer *Buffer) Save() error { return nil } + // Replace tilde with home directory + if strings.HasPrefix(buffer.filename, "~/") { + homedir, err := os.UserHomeDir() + if err != nil { + return err + } + + buffer.filename = filepath.Join(homedir, buffer.filename[2:]) + } + // Append new line character at end of buffer contents if not present if buffer.Contents[len(buffer.Contents)-1] != '\n' { buffer.Contents += "\n"