diff --git a/src/backend/2globalsWIN.go b/src/backend/2globalsWIN.go index 6b8f596..dc66974 100644 --- a/src/backend/2globalsWIN.go +++ b/src/backend/2globalsWIN.go @@ -4,7 +4,7 @@ package backend // EntryRoot path to libmutton entry directory var EntryRoot = home + "\\AppData\\Local\\libmutton\\entries" -var ConfigDir = home + "\\AppData\\Local\\libmutton" +var ConfigDir = home + "\\AppData\\Local\\libmutton\\config" var ConfigPath = ConfigDir + "\\libmutton.ini" // PathSeparator defines the character used to separate directories in a path (platform-specific) diff --git a/src/backend/init.go b/src/backend/init.go index c35b704..6394cba 100644 --- a/src/backend/init.go +++ b/src/backend/init.go @@ -1,6 +1,7 @@ package backend import ( + "fmt" "os" "os/exec" "strconv" @@ -65,3 +66,31 @@ func GpgKeyGen() string { return "libmutton-" + unixTime + " (gpg-libmutton) " } + +// DirInit creates the libmutton directories +func DirInit() { + // create EntryRoot + err := os.MkdirAll(EntryRoot, 0700) + if err != nil { + fmt.Println(AnsiError + "Failed to create \"" + EntryRoot + "\":" + err.Error() + AnsiReset) + os.Exit(1) + } + + // remove existing config directory (if it exists) + _, isAccessible := TargetIsFile(ConfigDir, false, 1) + if isAccessible { + err = os.RemoveAll(ConfigDir) + if err != nil { + fmt.Println(AnsiError + "Failed to remove existing config directory: " + err.Error() + AnsiReset) + os.Exit(1) + + } + } + + // create config directory w/devices subdirectory + err = os.MkdirAll(ConfigDir+PathSeparator+"devices", 0700) + if err != nil { + fmt.Println(AnsiError + "Failed to create \"" + ConfigDir + "\":" + err.Error() + AnsiReset) + os.Exit(1) + } +} diff --git a/src/backend/initUNIX.go b/src/backend/initUNIX.go index 12be570..7540b0c 100644 --- a/src/backend/initUNIX.go +++ b/src/backend/initUNIX.go @@ -3,29 +3,11 @@ package backend import ( - "fmt" "os" ) const FallbackEditor = "vi" // vi is pre-installed on most UNIX systems -// DirInit creates the libmutton directories -func DirInit() { - // create EntryRoot - err := os.MkdirAll(EntryRoot, 0700) - if err != nil { - fmt.Println(AnsiError + "Failed to create \"" + EntryRoot + "\":" + err.Error() + AnsiReset) - os.Exit(1) - } - - // create config directory w/devices subdirectory - err = os.MkdirAll(ConfigDir+"/devices", 0700) - if err != nil { - fmt.Println(AnsiError + "Failed to create \"" + ConfigDir + "\":" + err.Error() + AnsiReset) - os.Exit(1) - } -} - // textEditorFallback returns the value of the $EDITOR environment variable, or FallbackEditor if it is not set func textEditorFallback() string { // ensure textEditor is set diff --git a/src/backend/initWIN.go b/src/backend/initWIN.go index f402e18..070f6a1 100644 --- a/src/backend/initWIN.go +++ b/src/backend/initWIN.go @@ -2,24 +2,8 @@ package backend -import ( - "fmt" - "os" -) - const FallbackEditor = "nvim" // since there is no pre-installed CLI editor on Windows, default to the most popular one -// DirInit creates the libmutton directories -func DirInit() { - // create EntryRoot (includes config directory on Windows) - err := os.MkdirAll(EntryRoot, 0700) - if err != nil { - fmt.Println(AnsiError + "Failed to create \"" + EntryRoot + "\":" + err.Error() + AnsiReset) - os.Exit(1) - } - os.MkdirAll(ConfigDir+"\\devices", 0700) -} - // textEditorFallback returns FallbackEditor func textEditorFallback() string { return FallbackEditor