Skip to content

Commit 23c0d40

Browse files
committed
Try to test against Windows
Adds Windows to the test matrix. We'll see what breaks. For creack/pty, we need to use the currently-unmerged change in `creack/pty#155` for Windows support.
1 parent 2670f5e commit 23c0d40

File tree

7 files changed

+18
-8
lines changed

7 files changed

+18
-8
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Added
2+
body: Windows support.
3+
time: 2024-09-07T16:16:36.18073-07:00

.gitattributes

+7
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1+
# Don't magically change line endings by default.
2+
#
3+
# Ref:
4+
# - https://github.com/golang/go/blob/807e01db4840e25e4d98911b28a8fa54244b8dfa/.gitattributes
5+
# - https://github.com/rogpeppe/go-internal/pull/106
6+
* -text
7+
18
*.png filter=lfs diff=lfs merge=lfs -text

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
name: Test (${{ matrix.os}})
4141
strategy:
4242
matrix:
43-
os: ["ubuntu-latest"] # TODO: ["windows-latest"]
43+
os: ["ubuntu-latest", "windows-latest"]
4444
steps:
4545
- uses: actions/checkout@v4
4646
- name: Set up Go

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/charmbracelet/bubbletea v1.1.0
1010
github.com/charmbracelet/lipgloss v0.13.0
1111
github.com/charmbracelet/log v0.4.0
12-
github.com/creack/pty v1.1.23
12+
github.com/creack/pty/v2 v2.0.0-20231028221118-e9c1f000f465
1313
github.com/dustin/go-humanize v1.0.1
1414
github.com/mattn/go-isatty v0.0.20
1515
github.com/rogpeppe/go-internal v1.12.0

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqo
2424
github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
2525
github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0=
2626
github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0=
27-
github.com/creack/pty v1.1.23 h1:4M6+isWdcStXEf15G/RbrMPOQj1dZ7HPZCGwE4kOeP0=
28-
github.com/creack/pty v1.1.23/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
27+
github.com/creack/pty/v2 v2.0.0-20231028221118-e9c1f000f465 h1:KQ+iWxxc2qYyfK3GGrjNJ73GvDAd9Ecz8pK4FpdtI6Y=
28+
github.com/creack/pty/v2 v2.0.0-20231028221118-e9c1f000f465/go.mod h1:zTYJ0iXAFhiKeguJdMR/LEecltLOG5Wz3lo1lIi0CLU=
2929
github.com/danieljoos/wincred v1.2.0 h1:ozqKHaLK0W/ii4KVbbvluM91W2H3Sh0BncbUNPS7jLE=
3030
github.com/danieljoos/wincred v1.2.0/go.mod h1:FzQLLMKBFdvu+osBrnFODiv32YGwCfx0SkRa/eYHgec=
3131
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=

internal/git/gittest/config.go

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ func DefaultConfig() Config {
1111
return Config{
1212
"init.defaultBranch": "main",
1313
"alias.graph": "log --graph --decorate --oneline",
14+
"core.autocrlf": "false",
1415
}
1516
}
1617

internal/termtest/with_term.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"sync"
1818
"time"
1919

20-
"github.com/creack/pty"
20+
"github.com/creack/pty/v2"
2121
"github.com/vito/midterm"
2222
)
2323

@@ -254,14 +254,14 @@ func WithTerm() (exitCode int) {
254254
type terminalEmulator struct {
255255
mu sync.Mutex
256256
cmd *exec.Cmd
257-
pty *os.File
257+
pty pty.Pty
258258
logf func(string, ...any)
259259

260260
term *midterm.Terminal
261261
}
262262

263263
func newVT100Emulator(
264-
f *os.File,
264+
f pty.Pty,
265265
cmd *exec.Cmd,
266266
rows, cols int,
267267
autoResize bool,
@@ -329,7 +329,6 @@ func (m *terminalEmulator) Close() error {
329329

330330
func (m *terminalEmulator) FeedKeys(s string) error {
331331
_, err := io.WriteString(m.pty, s)
332-
_ = m.pty.Sync()
333332
return err
334333
}
335334

0 commit comments

Comments
 (0)