From 103e84d847262830bbaa550b37218e9ca8b317d3 Mon Sep 17 00:00:00 2001 From: Himanshu Sardana Date: Thu, 26 Mar 2026 21:26:35 +0000 Subject: refactor: split into cmd, pkg --- pkg/themes/themes.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkg/themes/themes.go (limited to 'pkg/themes') diff --git a/pkg/themes/themes.go b/pkg/themes/themes.go new file mode 100644 index 0000000..a8af863 --- /dev/null +++ b/pkg/themes/themes.go @@ -0,0 +1,40 @@ +package themes + +import ( + "os" + "path/filepath" +) + +type Theme struct { + Name string + Path string +} + +func List(themesDir string) ([]Theme, error) { + entries, err := os.ReadDir(themesDir) + if err != nil { + return nil, err + } + + var themes []Theme + for _, entry := range entries { + if entry.IsDir() { + themes = append(themes, Theme{ + Name: entry.Name(), + Path: filepath.Join(themesDir, entry.Name()), + }) + } + } + + return themes, nil +} + +func GetThemePath(themesDir, themeName string) string { + return filepath.Join(themesDir, themeName) +} + +func ThemeExists(themesDir, themeName string) bool { + path := GetThemePath(themesDir, themeName) + info, err := os.Stat(path) + return err == nil && info.IsDir() +} -- cgit v1.3.1