From 14b3d7bd45fbb502442bb046c409e615ebb3691f Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Wed, 6 Mar 2024 20:45:02 -0500 Subject: [PATCH] More correctly use build constraints in entryList.go --- src/cli/entryList.go | 12 ++---------- src/cli/entryListUNIX.go | 13 +++++++++++++ src/cli/entryListWIN.go | 13 +++++++++++++ src/offline/2globalsUNIX.go | 7 ++----- src/offline/2globalsWIN.go | 7 ++----- 5 files changed, 32 insertions(+), 20 deletions(-) create mode 100644 src/cli/entryListUNIX.go create mode 100644 src/cli/entryListWIN.go diff --git a/src/cli/entryList.go b/src/cli/entryList.go index 6020c01..14ee68a 100644 --- a/src/cli/entryList.go +++ b/src/cli/entryList.go @@ -161,11 +161,7 @@ func EntryListGen() { containsFiles = true skippedDirList[i] = false // the directory header is being printed, indicate that it is not being skipped indent, vanityDirectory = indentSubtractor(skippedDirList, dirList, i, indent) // calculate the final indentation multiplier - if !offline.Windows { // for consistency, format directories with UNIX-style path separators on all platforms - fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", vanityDirectory) - } else { - fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", strings.ReplaceAll(vanityDirectory, offline.PathSeparator, "/")) - } + printDirectoryHeader(vanityDirectory, indent) } charCounter, colorAlternator = printFileEntry(file, lastSlash, charCounter, colorAlternator, indent) @@ -177,11 +173,7 @@ func EntryListGen() { if dirListLength > 1 { // and directories besides the root-level exist... display directory header and empty directory warning skippedDirList[i] = false // the directory header is being printed, indicate that it is not being skipped indent, vanityDirectory = indentSubtractor(skippedDirList, dirList, i, indent) // calculate the final indentation multiplier - if !offline.Windows { // for consistency, format directories with UNIX-style path separators on all platforms - fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", vanityDirectory) - } else { - fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", strings.ReplaceAll(vanityDirectory, offline.PathSeparator, "/")) - } + printDirectoryHeader(vanityDirectory, indent) fmt.Print(strings.Repeat(" ", indent*2) + ansiEmptyDirectoryWarning + "-empty directory-" + offline.AnsiReset) } else { // warn if the only thing that exists is the root-level directory fmt.Print("\n\nNothing's here! For help creating your first entry, run \"mutn help\".") diff --git a/src/cli/entryListUNIX.go b/src/cli/entryListUNIX.go new file mode 100644 index 0000000..3defc57 --- /dev/null +++ b/src/cli/entryListUNIX.go @@ -0,0 +1,13 @@ +//go:build !windows + +package cli + +import ( + "fmt" + "github.com/rwinkhart/MUTN/src/offline" + "strings" +) + +func printDirectoryHeader(vanityDirectory string, indent int) { + fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", vanityDirectory) +} diff --git a/src/cli/entryListWIN.go b/src/cli/entryListWIN.go new file mode 100644 index 0000000..85ef420 --- /dev/null +++ b/src/cli/entryListWIN.go @@ -0,0 +1,13 @@ +//go:build windows + +package cli + +import ( + "fmt" + "github.com/rwinkhart/MUTN/src/offline" + "strings" +) + +func printDirectoryHeader(vanityDirectory string, indent int) { + fmt.Printf("\n\n"+strings.Repeat(" ", indent*2)+ansiDirectoryHeader+"%s/"+offline.AnsiReset+"\n", strings.ReplaceAll(vanityDirectory, offline.PathSeparator, "/")) +} diff --git a/src/offline/2globalsUNIX.go b/src/offline/2globalsUNIX.go index db6a448..0f38ce6 100644 --- a/src/offline/2globalsUNIX.go +++ b/src/offline/2globalsUNIX.go @@ -5,8 +5,5 @@ package offline // EntryRoot path to libmutton entry directory var EntryRoot = home + "/.local/share/libmutton" -// exported constants -const ( - PathSeparator = "/" - Windows = false -) +// PathSeparator defines the character used to separate directories in a path (platform-specific) +const PathSeparator = "/" diff --git a/src/offline/2globalsWIN.go b/src/offline/2globalsWIN.go index cfd9357..a831ae4 100644 --- a/src/offline/2globalsWIN.go +++ b/src/offline/2globalsWIN.go @@ -5,8 +5,5 @@ package offline // EntryRoot path to libmutton entry directory var EntryRoot = home + "\\AppData\\Local\\libmutton\\entries" -// exported constants -const ( - PathSeparator = "\\" - Windows = true -) +// PathSeparator defines the character used to separate directories in a path (platform-specific) +const PathSeparator = "\\"