From be4b1275c76b9cad984dfafaa8023db94eb3eecf Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 16 Sep 2026 01:02:33 +0200 Subject: config prints and splices one form --- internal/config/settings.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal/config/settings.go') diff --git a/internal/config/settings.go b/internal/config/settings.go index efc935b..22b2f91 100644 --- a/internal/config/settings.go +++ b/internal/config/settings.go @@ -3,6 +3,7 @@ package config import ( + "fmt" "slices" "time" @@ -26,6 +27,30 @@ const ( ConflictOverwrite ) +// String is the word a CaseMode is written as in a configuration. +func (m CaseMode) String() string { + switch m { + case CaseIgnore: + return "ignore" + case CaseStrict: + return "strict" + } + return fmt.Sprintf("CaseMode(%d)", int(m)) +} + +// String is the word a Conflict policy is written as in a configuration. +func (c Conflict) String() string { + switch c { + case ConflictSuffix: + return "suffix" + case ConflictSkip: + return "skip" + case ConflictOverwrite: + return "overwrite" + } + return fmt.Sprintf("Conflict(%d)", int(c)) +} + // Settings holds what one level of config sets; nil means not set there. type Settings struct { Case *CaseMode -- cgit v1.3