diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 7e24be9..0612a79 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,7 +15,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: '>=1.18.0' + go-version: '>=1.20.0' - name: Check out code into the Go module directory uses: actions/checkout@v3 @@ -42,7 +42,7 @@ jobs: - name: Staticcheck uses: dominikh/staticcheck-action@v1.2.0 with: - version: "2022.1.2" + version: "2023.1.2" install-go: false - name: Build diff --git a/color_windows.go b/color_windows.go new file mode 100644 index 0000000..be01c55 --- /dev/null +++ b/color_windows.go @@ -0,0 +1,19 @@ +package color + +import ( + "os" + + "golang.org/x/sys/windows" +) + +func init() { + // Opt-in for ansi color support for current process. + // https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#output-sequences + var outMode uint32 + out := windows.Handle(os.Stdout.Fd()) + if err := windows.GetConsoleMode(out, &outMode); err != nil { + return + } + outMode |= windows.ENABLE_PROCESSED_OUTPUT | windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING + _ = windows.SetConsoleMode(out, outMode) +} diff --git a/go.mod b/go.mod index d918d79..4fa49be 100644 --- a/go.mod +++ b/go.mod @@ -7,4 +7,4 @@ require ( github.com/mattn/go-isatty v0.0.17 ) -require golang.org/x/sys v0.3.0 // indirect +require golang.org/x/sys v0.6.0 diff --git a/go.sum b/go.sum index d250931..ce805f2 100644 --- a/go.sum +++ b/go.sum @@ -4,5 +4,5 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=