Remove pre-existing config directory during init, structure Windows config directory more similarly to UNIX

This commit is contained in:
2024-05-16 21:40:02 -04:00
parent a70e92fb14
commit cfb2890b8f
4 changed files with 30 additions and 35 deletions
+1 -1
View File
@@ -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)
+29
View File
@@ -1,6 +1,7 @@
package backend
import (
"fmt"
"os"
"os/exec"
"strconv"
@@ -65,3 +66,31 @@ func GpgKeyGen() string {
return "libmutton-" + unixTime + " (gpg-libmutton) <github.com/rwinkhart/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)
}
}
-18
View File
@@ -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
-16
View File
@@ -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