Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package zvm for openSUSE:Factory checked in 
at 2025-05-27 18:42:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zvm (Old)
 and      /work/SRC/openSUSE:Factory/.zvm.new.2732 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "zvm"

Tue May 27 18:42:33 2025 rev:3 rq:1280463 version:0.8.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/zvm/zvm.changes  2025-04-07 17:37:34.775239300 
+0200
+++ /work/SRC/openSUSE:Factory/.zvm.new.2732/zvm.changes        2025-05-27 
18:42:40.001754182 +0200
@@ -1,0 +2,6 @@
+Mon May 26 11:56:16 UTC 2025 - Lucas Mulling <lucas.mull...@suse.com>
+
+- Update to 0.8.7:
+  * Fixed issue when running vmu zig mach on a clean install
+
+-------------------------------------------------------------------

Old:
----
  v0.8.6.tar.gz

New:
----
  v0.8.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ zvm.spec ++++++
--- /var/tmp/diff_new_pack.3lwyw0/_old  2025-05-27 18:42:40.781787060 +0200
+++ /var/tmp/diff_new_pack.3lwyw0/_new  2025-05-27 18:42:40.781787060 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           zvm
-Version:        0.8.6
+Version:        0.8.7
 Release:        0
 Summary:        Easily install/upgrade between different versions of Zig
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.3lwyw0/_old  2025-05-27 18:42:40.825788914 +0200
+++ /var/tmp/diff_new_pack.3lwyw0/_new  2025-05-27 18:42:40.829789083 +0200
@@ -1,7 +1,7 @@
 <services>
  <service name="go_modules" mode="disabled">
    <param name="compression">xz</param>
-   <param name="archive">v0.8.6.tar.gz</param>
+   <param name="archive">v0.8.7.tar.gz</param>
  </service>
 </services>
 

++++++ v0.8.6.tar.gz -> v0.8.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/README.md new/zvm-0.8.7/README.md
--- old/zvm-0.8.6/README.md     2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/README.md     2025-05-24 04:28:15.000000000 +0200
@@ -10,6 +10,10 @@
 you need multiple versions of a language installed to compile your projects, or
 a language gets updated frequently.
 
+## Donate
+
+- [Paypal](https://www.paypal.com/donate/?hosted_button_id=HFTFEFXP2A388)
+
 ## Join our Community
 
 - [Twitch](https://twitch.tv/atalocke)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/build.ts new/zvm-0.8.7/build.ts
--- old/zvm-0.8.6/build.ts      2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/build.ts      2025-05-24 04:28:15.000000000 +0200
@@ -21,7 +21,7 @@
   "freebsd",
   "netbsd",
   "openbsd",
-  "plan9",
+  // "plan9",
   "solaris",
 ];
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/config.go new/zvm-0.8.7/cli/config.go
--- old/zvm-0.8.6/cli/config.go 2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/config.go 2025-05-24 04:28:15.000000000 +0200
@@ -102,8 +102,6 @@
        return version == "default" || version == "mach"
 }
 
-
-
 func (z ZVM) getVersion(version string) error {
        if _, err := os.Stat(filepath.Join(z.baseDir, version)); err != nil {
                return err
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/install.go new/zvm-0.8.7/cli/install.go
--- old/zvm-0.8.6/cli/install.go        2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/install.go        2025-05-24 04:28:15.000000000 +0200
@@ -704,10 +704,10 @@
                }
 
                defer func() {
-            if err := rc.Close(); err != nil {
-                panic(err)
-            }
-        }()
+                       if err := rc.Close(); err != nil {
+                               panic(err)
+                       }
+               }()
 
                path := filepath.Join(destination, f.Name)
                if !strings.HasPrefix(path, 
filepath.Clean(destination)+string(os.PathSeparator)) {
@@ -724,10 +724,10 @@
                        }
 
                        defer func() {
-                if err := f.Close(); err != nil {
-                    panic(err)
-                }
-            }()
+                               if err := f.Close(); err != nil {
+                                       panic(err)
+                               }
+                       }()
 
                        _, err = io.Copy(f, rc)
                        if err != nil {
@@ -737,7 +737,6 @@
 
                return nil
        }
-       
 
        // 3. Iterate over zip files inside the archive and unzip each of them
        for _, f := range reader.File {
@@ -751,7 +750,6 @@
        return nil
 }
 
-
 type installRequest struct {
        Site, Package, Version string
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/install_test.go 
new/zvm-0.8.7/cli/install_test.go
--- old/zvm-0.8.6/cli/install_test.go   2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/install_test.go   2025-05-24 04:28:15.000000000 +0200
@@ -56,33 +56,3 @@
        }
 }
 
-func TestMirrors(t *testing.T) {
-       tarURLs := []string{
-               
"https://ziglang.org/builds/zig-linux-x86_64-0.14.0-dev.1550+4fba7336a.tar.xz";,
-               
"https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0.tar.xz";,
-       }
-
-       mirrors := []func(string) (string, error){mirrorHryx, mirrorMachEngine}
-
-       for i, mirror := range mirrors {
-               for _, tarURL := range tarURLs {
-                       t.Logf("requestWithMirror url #%d", i)
-
-                       newURL, err := mirror(tarURL)
-                       if err != nil {
-                               t.Errorf("%q: %q", ErrDownloadFail, err)
-                       }
-
-                       t.Logf("mirror %d; url: %s", i, newURL)
-
-                       tarResp, err := attemptDownload(newURL)
-                       if err != nil {
-                               continue
-                       }
-
-                       if tarResp.StatusCode != 200 {
-                               t.Fail()
-                       }
-               }
-       }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/meta/errors.go 
new/zvm-0.8.7/cli/meta/errors.go
--- old/zvm-0.8.6/cli/meta/errors.go    2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/meta/errors.go    2025-05-24 04:28:15.000000000 +0200
@@ -6,7 +6,7 @@
 import "errors"
 
 var (
-       ErrWinEscToAdmin    = errors.New("unable to rerun as Windows 
Administrator")
-       ErrEscalatedSymlink = errors.New("unable to symlink as Administrator")
+       ErrWinEscToAdmin     = errors.New("unable to rerun as Windows 
Administrator")
+       ErrEscalatedSymlink  = errors.New("unable to symlink as Administrator")
        ErrEscalatedHardlink = errors.New("unable to hardlink as Administrator")
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/meta/version.go 
new/zvm-0.8.7/cli/meta/version.go
--- old/zvm-0.8.6/cli/meta/version.go   2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/meta/version.go   2025-05-24 04:28:15.000000000 +0200
@@ -9,7 +9,7 @@
 )
 
 const (
-       VERSION = "v0.8.5"
+       VERSION = "v0.8.7"
 
        // VERSION = "v0.0.0" // For testing zvm upgrade
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/cli/settings.go 
new/zvm-0.8.7/cli/settings.go
--- old/zvm-0.8.6/cli/settings.go       2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/cli/settings.go       2025-05-24 04:28:15.000000000 +0200
@@ -9,6 +9,7 @@
        "fmt"
        "net/url"
        "os"
+       "path/filepath"
 
        "github.com/charmbracelet/log"
 
@@ -136,8 +137,12 @@
                return fmt.Errorf("unable to generate settings.json file %v", 
err)
        }
 
+       if err := os.MkdirAll(filepath.Dir(s.path), 0755); err != nil { 
+               return fmt.Errorf("unable to create settings directory: %w", 
err)
+       }
+
        if err := os.WriteFile(s.path, out_settings, 0755); err != nil {
-               return fmt.Errorf("unable to create settings.json file %v", err)
+               return fmt.Errorf("unable to create settings.json file %w", err)
        }
 
        return nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/go.mod new/zvm-0.8.7/go.mod
--- old/zvm-0.8.6/go.mod        2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/go.mod        2025-05-24 04:28:15.000000000 +0200
@@ -14,7 +14,7 @@
 )
 
 require (
-       github.com/charmbracelet/colorprofile 
v0.2.3-0.20250311203215-f60798e515dc // indirect
+       github.com/charmbracelet/colorprofile v0.3.0 // indirect
        github.com/charmbracelet/x/ansi v0.8.0 // indirect
        github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
        github.com/charmbracelet/x/term v0.2.1 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zvm-0.8.6/go.sum new/zvm-0.8.7/go.sum
--- old/zvm-0.8.6/go.sum        2025-03-18 04:24:14.000000000 +0100
+++ new/zvm-0.8.7/go.sum        2025-05-24 04:28:15.000000000 +0200
@@ -1,17 +1,11 @@
 github.com/aymanbagabas/go-osc52/v2 v2.0.1 
h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
 github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod 
h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
-github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc 
h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
-github.com/charmbracelet/colorprofile 
v0.2.3-0.20250311203215-f60798e515dc/go.mod 
h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
-github.com/charmbracelet/lipgloss v1.0.0 
h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg=
-github.com/charmbracelet/lipgloss v1.0.0/go.mod 
h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo=
+github.com/charmbracelet/colorprofile v0.3.0 
h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ=
+github.com/charmbracelet/colorprofile v0.3.0/go.mod 
h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0=
 github.com/charmbracelet/lipgloss v1.1.0 
h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
 github.com/charmbracelet/lipgloss v1.1.0/go.mod 
h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
-github.com/charmbracelet/log v0.4.0 
h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM=
-github.com/charmbracelet/log v0.4.0/go.mod 
h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM=
 github.com/charmbracelet/log v0.4.1 
h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk=
 github.com/charmbracelet/log v0.4.1/go.mod 
h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I=
-github.com/charmbracelet/x/ansi v0.7.0 
h1:/QfFmiXOGGwN6fRbzvQaYp7fu1pkxpZ3qFBZWBsP404=
-github.com/charmbracelet/x/ansi v0.7.0/go.mod 
h1:KBUFw1la39nl0dLl10l5ORDAqGXaeurTQmwyyVKse/Q=
 github.com/charmbracelet/x/ansi v0.8.0 
h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
 github.com/charmbracelet/x/ansi v0.8.0/go.mod 
h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
 github.com/charmbracelet/x/cellbuf v0.0.13 
h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=
@@ -32,8 +26,6 @@
 github.com/mattn/go-runewidth v0.0.16/go.mod 
h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db 
h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ=
 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod 
h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
-github.com/muesli/termenv v0.15.2 
h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
-github.com/muesli/termenv v0.15.2/go.mod 
h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
 github.com/muesli/termenv v0.16.0 
h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
 github.com/muesli/termenv v0.16.0/go.mod 
h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -43,30 +35,21 @@
 github.com/rivo/uniseg v0.4.7/go.mod 
h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
 github.com/schollz/progressbar/v3 v3.18.0 
h1:uXdoHABRFmNIjUfte/Ex7WtuyVslrw2wVPQmCN62HpA=
 github.com/schollz/progressbar/v3 v3.18.0/go.mod 
h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec=
-github.com/stretchr/testify v1.9.0 
h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/stretchr/testify v1.10.0 
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/tristanisham/clr v0.0.0-20221004001624-00ee60046d85 
h1:zD4b2hs7jZ2sJtgtNdpMZyo4D4/Ifct8SMxvPNNkHzs=
 github.com/tristanisham/clr v0.0.0-20221004001624-00ee60046d85/go.mod 
h1:cKn2HV8Beq81OHjb2gja2ZiU4HAEQ6LSuxyaIT5Mg7o=
 github.com/urfave/cli/v3 v3.0.0-beta1 
h1:6DTaaUarcM0wX7qj5Hcvs+5Dm3dyUTBbEwIWAjcw9Zg=
 github.com/urfave/cli/v3 v3.0.0-beta1/go.mod 
h1:FnIeEMYu+ko8zP1F9Ypr3xkZMIDqW3DR92yUtY39q1Y=
 github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e 
h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
 github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod 
h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
-golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 
h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
-golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod 
h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
 golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 
h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
 golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod 
h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
-golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
-golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
 golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
 golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
-golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
 golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
-golang.org/x/term v0.28.0/go.mod 
h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
 golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
 golang.org/x/term v0.30.0/go.mod 
h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

++++++ vendor.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/charmbracelet/colorprofile/.golangci-soft.yml 
new/vendor/github.com/charmbracelet/colorprofile/.golangci-soft.yml
--- old/vendor/github.com/charmbracelet/colorprofile/.golangci-soft.yml 
2025-04-05 15:23:46.000000000 +0200
+++ new/vendor/github.com/charmbracelet/colorprofile/.golangci-soft.yml 
1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-run:
-  tests: false
-  issues-exit-code: 0
-
-issues:
-  include:
-    - EXC0001
-    - EXC0005
-    - EXC0011
-    - EXC0012
-    - EXC0013
-
-  max-issues-per-linter: 0
-  max-same-issues: 0
-
-linters:
-  enable:
-    - exhaustive
-    - goconst
-    - godot
-    - godox
-    - mnd
-    - gomoddirectives
-    - goprintffuncname
-    - misspell
-    - nakedret
-    - nestif
-    - noctx
-    - nolintlint
-    - prealloc
-    - wrapcheck
-
-  # disable default linters, they are already enabled in .golangci.yml
-  disable:
-    - errcheck
-    - gosimple
-    - govet
-    - ineffassign
-    - staticcheck
-    - unused
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/charmbracelet/colorprofile/.golangci.yml 
new/vendor/github.com/charmbracelet/colorprofile/.golangci.yml
--- old/vendor/github.com/charmbracelet/colorprofile/.golangci.yml      
2025-04-05 15:23:46.000000000 +0200
+++ new/vendor/github.com/charmbracelet/colorprofile/.golangci.yml      
2025-05-24 04:28:15.000000000 +0200
@@ -15,10 +15,22 @@
 linters:
   enable:
     - bodyclose
+    - exhaustive
+    - goconst
+    - godot
+    - godox
     - gofumpt
     - goimports
+    - gomoddirectives
+    - goprintffuncname
     - gosec
+    - misspell
+    - nakedret
+    - nestif
     - nilerr
+    - noctx
+    - nolintlint
+    - prealloc
     - revive
     - rowserrcheck
     - sqlclosecheck
@@ -26,3 +38,4 @@
     - unconvert
     - unparam
     - whitespace
+    - wrapcheck
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/charmbracelet/colorprofile/env.go 
new/vendor/github.com/charmbracelet/colorprofile/env.go
--- old/vendor/github.com/charmbracelet/colorprofile/env.go     2025-04-05 
15:23:46.000000000 +0200
+++ new/vendor/github.com/charmbracelet/colorprofile/env.go     2025-05-24 
04:28:15.000000000 +0200
@@ -12,6 +12,8 @@
        "github.com/xo/terminfo"
 )
 
+const dumbTerm = "dumb"
+
 // Detect returns the color profile based on the terminal output, and
 // environment variables. This respects NO_COLOR, CLICOLOR, and CLICOLOR_FORCE
 // environment variables.
@@ -29,10 +31,10 @@
 // See https://no-color.org/ and https://bixense.com/clicolors/ for more 
information.
 func Detect(output io.Writer, env []string) Profile {
        out, ok := output.(term.File)
-       isatty := ok && term.IsTerminal(out.Fd())
        environ := newEnviron(env)
+       isatty := isTTYForced(environ) || (ok && term.IsTerminal(out.Fd()))
        term := environ.get("TERM")
-       isDumb := term == "dumb"
+       isDumb := term == dumbTerm
        envp := colorProfile(isatty, environ)
        if envp == TrueColor || envNoColor(environ) {
                // We already know we have TrueColor, or NO_COLOR is set.
@@ -69,7 +71,7 @@
 }
 
 func colorProfile(isatty bool, env environ) (p Profile) {
-       isDumb := env.get("TERM") == "dumb"
+       isDumb := env.get("TERM") == dumbTerm
        envp := envColorProfile(env)
        if !isatty || isDumb {
                // Check if the output is a terminal.
@@ -83,7 +85,7 @@
                if p > Ascii {
                        p = Ascii
                }
-               return
+               return //nolint:nakedret
        }
 
        if cliColorForced(env) {
@@ -94,7 +96,7 @@
                        p = envp
                }
 
-               return
+               return //nolint:nakedret
        }
 
        if cliColor(env) {
@@ -123,6 +125,11 @@
        return cliColorForce
 }
 
+func isTTYForced(env environ) bool {
+       skip, _ := strconv.ParseBool(env.get("TTY_FORCE"))
+       return skip
+}
+
 func colorTerm(env environ) bool {
        colorTerm := strings.ToLower(env.get("COLORTERM"))
        return colorTerm == "truecolor" || colorTerm == "24bit" ||
@@ -132,7 +139,7 @@
 // envColorProfile returns infers the color profile from the environment.
 func envColorProfile(env environ) (p Profile) {
        term, ok := env.lookup("TERM")
-       if !ok || len(term) == 0 || term == "dumb" {
+       if !ok || len(term) == 0 || term == dumbTerm {
                p = NoTTY
                if runtime.GOOS == "windows" {
                        // Use Windows API to detect color profile. Windows 
Terminal and
@@ -184,7 +191,7 @@
                p = ANSI256
        }
 
-       return
+       return //nolint:nakedret
 }
 
 // Terminfo returns the color profile based on the terminal's terminfo
@@ -278,10 +285,3 @@
        v, _ := e.lookup(key)
        return v
 }
-
-func max[T ~byte | ~int](a, b T) T {
-       if a > b {
-               return a
-       }
-       return b
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/charmbracelet/colorprofile/writer.go 
new/vendor/github.com/charmbracelet/colorprofile/writer.go
--- old/vendor/github.com/charmbracelet/colorprofile/writer.go  2025-04-05 
15:23:46.000000000 +0200
+++ new/vendor/github.com/charmbracelet/colorprofile/writer.go  2025-05-24 
04:28:15.000000000 +0200
@@ -2,6 +2,7 @@
 
 import (
        "bytes"
+       "fmt"
        "image/color"
        "io"
        "strconv"
@@ -37,11 +38,13 @@
 func (w *Writer) Write(p []byte) (int, error) {
        switch w.Profile {
        case TrueColor:
-               return w.Forward.Write(p)
+               return w.Forward.Write(p) //nolint:wrapcheck
        case NoTTY:
-               return io.WriteString(w.Forward, ansi.Strip(string(p)))
-       default:
+               return io.WriteString(w.Forward, ansi.Strip(string(p))) 
//nolint:wrapcheck
+       case Ascii, ANSI, ANSI256:
                return w.downsample(p)
+       default:
+               return 0, fmt.Errorf("invalid profile: %v", w.Profile)
        }
 }
 
@@ -63,7 +66,7 @@
                default:
                        // If we're not a style SGR sequence, just write the 
bytes.
                        if n, err := buf.Write(seq); err != nil {
-                               return n, err
+                               return n, err //nolint:wrapcheck
                        }
                }
 
@@ -71,7 +74,7 @@
                state = newState
        }
 
-       return w.Forward.Write(buf.Bytes())
+       return w.Forward.Write(buf.Bytes()) //nolint:wrapcheck
 }
 
 // WriteString writes the given text to the underlying writer.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2025-04-05 15:23:46.000000000 +0200
+++ new/vendor/modules.txt      2025-05-24 04:28:15.000000000 +0200
@@ -1,8 +1,8 @@
 # github.com/aymanbagabas/go-osc52/v2 v2.0.1
 ## explicit; go 1.16
 github.com/aymanbagabas/go-osc52/v2
-# github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc
-## explicit; go 1.18
+# github.com/charmbracelet/colorprofile v0.3.0
+## explicit; go 1.23.0
 github.com/charmbracelet/colorprofile
 # github.com/charmbracelet/lipgloss v1.1.0
 ## explicit; go 1.18

Reply via email to