Files
snack/pkg/normalize.go
Tai Groot 934c6610c5 feat: add Homebrew provider, implement NameNormalizer across all managers
- Add brew package for Homebrew support on macOS and Linux
- Implement NameNormalizer interface (NormalizeName, ParseArch) for all providers
- Add darwin platform detection with Homebrew as default
- Consolidate capabilities by removing separate *_linux.go/*_other.go files
- Update tests for new capability expectations
- Add comprehensive tests for AUR and brew providers
- Update README with capability matrix and modern Target API usage

💘 Generated with Crush

Assisted-by: AWS Claude Opus 4.5 via Crush <crush@charm.land>
2026-03-05 20:40:32 -05:00

18 lines
637 B
Go

package pkg
// normalizeName returns the canonical form of a package name.
// FreeBSD pkg package names use "name-version" format. This function
// strips the version portion if present, returning just the name.
func normalizeName(name string) string {
n, _ := splitNameVersion(name)
return n
}
// parseArchNormalize extracts the architecture from a package name if present.
// FreeBSD pkg package names do not embed architecture in the name itself
// (the arch is separate metadata), so this returns the name unchanged with
// an empty architecture string.
func parseArchNormalize(name string) (string, string) {
return name, ""
}