From 34d2e3b092f0d852c9b1dd23b8db156418e1af4c Mon Sep 17 00:00:00 2001 From: decentral1se Date: Mon, 18 Aug 2025 20:29:23 +0200 Subject: [PATCH] chore: go mod vendor --- vendor/coopcloud.tech/tagcmp/tagcmp.go | 2 +- .../charmbracelet/colorprofile/.golangci.yml | 5 +- .../charmbracelet/colorprofile/README.md | 6 + .../charmbracelet/colorprofile/profile.go | 385 ++---------------- vendor/modules.txt | 8 +- 5 files changed, 58 insertions(+), 348 deletions(-) diff --git a/vendor/coopcloud.tech/tagcmp/tagcmp.go b/vendor/coopcloud.tech/tagcmp/tagcmp.go index 2498a56b..c9919089 100644 --- a/vendor/coopcloud.tech/tagcmp/tagcmp.go +++ b/vendor/coopcloud.tech/tagcmp/tagcmp.go @@ -290,7 +290,7 @@ func patternMatches(tag string) error { for _, pattern := range unsupported { if match, _ := regexp.Match(pattern, []byte(tag)); match { - return fmt.Errorf("'%s' is not supported (%s)", tag, pattern) + return fmt.Errorf("version %s is not supported (matched: %s)", tag, pattern) } } diff --git a/vendor/github.com/charmbracelet/colorprofile/.golangci.yml b/vendor/github.com/charmbracelet/colorprofile/.golangci.yml index be61d89b..929cb0ac 100644 --- a/vendor/github.com/charmbracelet/colorprofile/.golangci.yml +++ b/vendor/github.com/charmbracelet/colorprofile/.golangci.yml @@ -7,7 +7,6 @@ linters: - exhaustive - goconst - godot - - godox - gomoddirectives - goprintffuncname - gosec @@ -27,6 +26,10 @@ linters: - whitespace - wrapcheck exclusions: + rules: + - text: '(slog|log)\.\w+' + linters: + - noctx generated: lax presets: - common-false-positives diff --git a/vendor/github.com/charmbracelet/colorprofile/README.md b/vendor/github.com/charmbracelet/colorprofile/README.md index c72b2f4b..2afffce0 100644 --- a/vendor/github.com/charmbracelet/colorprofile/README.md +++ b/vendor/github.com/charmbracelet/colorprofile/README.md @@ -82,6 +82,12 @@ w.Profile = colorprofile.NoTTY fmt.Fprintf(w, myFancyANSI) // not as fancy ``` +## Contributing + +See [contributing][contribute]. + +[contribute]: https://github.com/charmbracelet/colorprofile/contribute + ## Feedback We’d love to hear your thoughts on this project. Feel free to drop us a note! diff --git a/vendor/github.com/charmbracelet/colorprofile/profile.go b/vendor/github.com/charmbracelet/colorprofile/profile.go index 2bcb37c6..4eb77ca4 100644 --- a/vendor/github.com/charmbracelet/colorprofile/profile.go +++ b/vendor/github.com/charmbracelet/colorprofile/profile.go @@ -2,10 +2,9 @@ package colorprofile import ( "image/color" - "math" + "sync" "github.com/charmbracelet/x/ansi" - "github.com/lucasb-eyer/go-colorful" ) // Profile is a color profile: NoTTY, Ascii, ANSI, ANSI256, or TrueColor. @@ -41,359 +40,61 @@ func (p Profile) String() string { return "Unknown" } +var ( + cache = map[Profile]map[color.Color]color.Color{ + ANSI256: {}, + ANSI: {}, + } + mu sync.RWMutex +) + // Convert transforms a given Color to a Color supported within the Profile. -func (p Profile) Convert(c color.Color) color.Color { +func (p Profile) Convert(c color.Color) (cc color.Color) { if p <= Ascii { return nil } + if p == TrueColor { + // TrueColor is a passthrough. + return c + } - switch c := c.(type) { + // Do we have a cached color for this profile and color? + mu.RLock() + if c != nil && cache[p] != nil { + if cc, ok := cache[p][c]; ok { + mu.RUnlock() + return cc + } + } + mu.RUnlock() + + // If we don't have a cached color, we need to convert it and cache it. + defer func() { + mu.Lock() + if cc != nil && cache[p] != nil { + if _, ok := cache[p][c]; !ok { + cache[p][c] = cc + } + } + mu.Unlock() + }() + + switch c.(type) { case ansi.BasicColor: return c - case ansi.ExtendedColor: + case ansi.IndexedColor: if p == ANSI { - return ansi256ToANSIColor(c) + return ansi.Convert16(c) } return c - case ansi.TrueColor, color.Color: - h, ok := colorful.MakeColor(c) - if !ok { - return nil - } - if p != TrueColor { - ac := hexToANSI256Color(h) - if p == ANSI { - return ansi256ToANSIColor(ac) - } - return ac + default: + if p == ANSI256 { + return ansi.Convert256(c) + } else if p == ANSI { + return ansi.Convert16(c) } return c } - - return c -} - -func hexToANSI256Color(c colorful.Color) ansi.ExtendedColor { - v2ci := func(v float64) int { - if v < 48 { - return 0 - } - if v < 115 { - return 1 - } - return int((v - 35) / 40) - } - - // Calculate the nearest 0-based color index at 16..231 - r := v2ci(c.R * 255.0) // 0..5 each - g := v2ci(c.G * 255.0) - b := v2ci(c.B * 255.0) - ci := 36*r + 6*g + b /* 0..215 */ - - // Calculate the represented colors back from the index - i2cv := [6]int{0, 0x5f, 0x87, 0xaf, 0xd7, 0xff} - cr := i2cv[r] // r/g/b, 0..255 each - cg := i2cv[g] - cb := i2cv[b] - - // Calculate the nearest 0-based gray index at 232..255 - var grayIdx int - average := (cr + cg + cb) / 3 - if average > 238 { - grayIdx = 23 - } else { - grayIdx = (average - 3) / 10 // 0..23 - } - gv := 8 + 10*grayIdx // same value for r/g/b, 0..255 - - // Return the one which is nearer to the original input rgb value - c2 := colorful.Color{R: float64(cr) / 255.0, G: float64(cg) / 255.0, B: float64(cb) / 255.0} - g2 := colorful.Color{R: float64(gv) / 255.0, G: float64(gv) / 255.0, B: float64(gv) / 255.0} - colorDist := c.DistanceHSLuv(c2) - grayDist := c.DistanceHSLuv(g2) - - if colorDist <= grayDist { - return ansi.ExtendedColor(16 + ci) //nolint:gosec - } - return ansi.ExtendedColor(232 + grayIdx) //nolint:gosec -} - -func ansi256ToANSIColor(c ansi.ExtendedColor) ansi.BasicColor { - var r int - md := math.MaxFloat64 - - h, _ := colorful.Hex(ansiHex[c]) - for i := 0; i <= 15; i++ { - hb, _ := colorful.Hex(ansiHex[i]) - d := h.DistanceHSLuv(hb) - - if d < md { - md = d - r = i - } - } - - return ansi.BasicColor(r) //nolint:gosec -} - -// RGB values of ANSI colors (0-255). -var ansiHex = []string{ - "#000000", - "#800000", - "#008000", - "#808000", - "#000080", - "#800080", - "#008080", - "#c0c0c0", - "#808080", - "#ff0000", - "#00ff00", - "#ffff00", - "#0000ff", - "#ff00ff", - "#00ffff", - "#ffffff", - "#000000", - "#00005f", - "#000087", - "#0000af", - "#0000d7", - "#0000ff", - "#005f00", - "#005f5f", - "#005f87", - "#005faf", - "#005fd7", - "#005fff", - "#008700", - "#00875f", - "#008787", - "#0087af", - "#0087d7", - "#0087ff", - "#00af00", - "#00af5f", - "#00af87", - "#00afaf", - "#00afd7", - "#00afff", - "#00d700", - "#00d75f", - "#00d787", - "#00d7af", - "#00d7d7", - "#00d7ff", - "#00ff00", - "#00ff5f", - "#00ff87", - "#00ffaf", - "#00ffd7", - "#00ffff", - "#5f0000", - "#5f005f", - "#5f0087", - "#5f00af", - "#5f00d7", - "#5f00ff", - "#5f5f00", - "#5f5f5f", - "#5f5f87", - "#5f5faf", - "#5f5fd7", - "#5f5fff", - "#5f8700", - "#5f875f", - "#5f8787", - "#5f87af", - "#5f87d7", - "#5f87ff", - "#5faf00", - "#5faf5f", - "#5faf87", - "#5fafaf", - "#5fafd7", - "#5fafff", - "#5fd700", - "#5fd75f", - "#5fd787", - "#5fd7af", - "#5fd7d7", - "#5fd7ff", - "#5fff00", - "#5fff5f", - "#5fff87", - "#5fffaf", - "#5fffd7", - "#5fffff", - "#870000", - "#87005f", - "#870087", - "#8700af", - "#8700d7", - "#8700ff", - "#875f00", - "#875f5f", - "#875f87", - "#875faf", - "#875fd7", - "#875fff", - "#878700", - "#87875f", - "#878787", - "#8787af", - "#8787d7", - "#8787ff", - "#87af00", - "#87af5f", - "#87af87", - "#87afaf", - "#87afd7", - "#87afff", - "#87d700", - "#87d75f", - "#87d787", - "#87d7af", - "#87d7d7", - "#87d7ff", - "#87ff00", - "#87ff5f", - "#87ff87", - "#87ffaf", - "#87ffd7", - "#87ffff", - "#af0000", - "#af005f", - "#af0087", - "#af00af", - "#af00d7", - "#af00ff", - "#af5f00", - "#af5f5f", - "#af5f87", - "#af5faf", - "#af5fd7", - "#af5fff", - "#af8700", - "#af875f", - "#af8787", - "#af87af", - "#af87d7", - "#af87ff", - "#afaf00", - "#afaf5f", - "#afaf87", - "#afafaf", - "#afafd7", - "#afafff", - "#afd700", - "#afd75f", - "#afd787", - "#afd7af", - "#afd7d7", - "#afd7ff", - "#afff00", - "#afff5f", - "#afff87", - "#afffaf", - "#afffd7", - "#afffff", - "#d70000", - "#d7005f", - "#d70087", - "#d700af", - "#d700d7", - "#d700ff", - "#d75f00", - "#d75f5f", - "#d75f87", - "#d75faf", - "#d75fd7", - "#d75fff", - "#d78700", - "#d7875f", - "#d78787", - "#d787af", - "#d787d7", - "#d787ff", - "#d7af00", - "#d7af5f", - "#d7af87", - "#d7afaf", - "#d7afd7", - "#d7afff", - "#d7d700", - "#d7d75f", - "#d7d787", - "#d7d7af", - "#d7d7d7", - "#d7d7ff", - "#d7ff00", - "#d7ff5f", - "#d7ff87", - "#d7ffaf", - "#d7ffd7", - "#d7ffff", - "#ff0000", - "#ff005f", - "#ff0087", - "#ff00af", - "#ff00d7", - "#ff00ff", - "#ff5f00", - "#ff5f5f", - "#ff5f87", - "#ff5faf", - "#ff5fd7", - "#ff5fff", - "#ff8700", - "#ff875f", - "#ff8787", - "#ff87af", - "#ff87d7", - "#ff87ff", - "#ffaf00", - "#ffaf5f", - "#ffaf87", - "#ffafaf", - "#ffafd7", - "#ffafff", - "#ffd700", - "#ffd75f", - "#ffd787", - "#ffd7af", - "#ffd7d7", - "#ffd7ff", - "#ffff00", - "#ffff5f", - "#ffff87", - "#ffffaf", - "#ffffd7", - "#ffffff", - "#080808", - "#121212", - "#1c1c1c", - "#262626", - "#303030", - "#3a3a3a", - "#444444", - "#4e4e4e", - "#585858", - "#626262", - "#6c6c6c", - "#767676", - "#808080", - "#8a8a8a", - "#949494", - "#9e9e9e", - "#a8a8a8", - "#b2b2b2", - "#bcbcbc", - "#c6c6c6", - "#d0d0d0", - "#dadada", - "#e4e4e4", - "#eeeeee", } diff --git a/vendor/modules.txt b/vendor/modules.txt index 5e1306c3..b6d67d59 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,4 +1,4 @@ -# coopcloud.tech/tagcmp v0.0.0-20250427094623-9ea3bbbde8e5 +# coopcloud.tech/tagcmp v0.0.0-20250818180036-0ec1b205b5ca ## explicit; go 1.16 coopcloud.tech/tagcmp # dario.cat/mergo v1.0.2 @@ -70,7 +70,7 @@ github.com/cespare/xxhash/v2 # github.com/charmbracelet/bubbletea v1.3.6 ## explicit; go 1.23.0 github.com/charmbracelet/bubbletea -# github.com/charmbracelet/colorprofile v0.3.1 +# github.com/charmbracelet/colorprofile v0.3.2 ## explicit; go 1.23.0 github.com/charmbracelet/colorprofile # github.com/charmbracelet/lipgloss v1.1.0 @@ -671,8 +671,8 @@ golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/crypto/ssh/knownhosts -# golang.org/x/exp v0.0.0-20250811191247-51f88131bc50 -## explicit; go 1.23.0 +# golang.org/x/exp v0.0.0-20250813145105-42675adae3e6 +## explicit; go 1.24.0 golang.org/x/exp/slices golang.org/x/exp/slog golang.org/x/exp/slog/internal