* Realistically, this should almost never fail.
* If it does, returning `""` probably makes more sense than a temp dir.
Empty means Go will assume the working directory.
* Getting rid of `sync.Once` is good as it locks and this can be called
on every render cycle. (Used to compute `~` on the sidebar, etc).
@@ -2,29 +2,16 @@
package home
import (
- "log/slog"
"os"
"path/filepath"
"strings"
- "sync"
)
-// Dir returns the users home directory, or if it fails, tries to create a new-// temporary directory and use that instead.-var Dir = sync.OnceValue(func() string {- home, err := os.UserHomeDir()- if err == nil {- slog.Debug("user home directory", "home", home)- return home- }- tmp, err := os.MkdirTemp("crush", "")- if err != nil {- slog.Error("could not find the user home directory")- return ""- }- slog.Warn("could not find the user home directory, using a temporary one", "home", tmp)- return tmp-})
+// Dir returns the user home directory.
+func Dir() string {
+ home, _ := os.UserHomeDir()
+ return home
+}
// Short replaces the actual home path from [Dir] with `~`.
func Short(p string) string {