Use a set instead of a list for suffix checking

This commit is contained in:
2026-05-04 21:26:54 +03:00
parent 313d84f4d9
commit 9918fdd1c6
+6 -9
View File
@@ -10,7 +10,6 @@ import (
"path"
"path/filepath"
"slices"
"strings"
"github.com/gabriel-vasile/mimetype"
"github.com/pelletier/go-toml/v2"
@@ -35,7 +34,7 @@ var conversionMap = map[string][]string{
"image/gif": {".gif"},
}
var suffixesToCheck []string
var suffixesToCheck = map[string]struct{}{}
func loadConfiguration() (*Config, error) {
dir, err := os.UserConfigDir()
@@ -89,9 +88,7 @@ func loadSuffixes() {
for _, extensions := range conversionMap {
// Only add unique extensions to the suffixesToCheck list.
for _, ext := range extensions {
if !slices.Contains(suffixesToCheck, ext) {
suffixesToCheck = append(suffixesToCheck, ext)
}
suffixesToCheck[ext] = struct{}{}
}
}
}
@@ -117,10 +114,10 @@ func shouldEntryBeChecked(entry fs.DirEntry) bool {
if !entry.Type().IsRegular() {
return false
}
for _, suffix := range suffixesToCheck {
if strings.HasSuffix(entry.Name(), suffix) {
return true
}
ext := filepath.Ext(entry.Name())
_, exists := suffixesToCheck[ext]
if exists {
return true
}
return false
}