fix issues

This commit is contained in:
cjdenio committed 2026-10-01 16:07:45 -06:00
1 parent 419f0ae3cf
commit 7b35f86e32
2 files changed
+20 -8

No files matched your search

+4 -4
View File
@@ -348,16 +348,16 @@ func (state *State) RenderUI(w io.Writer, width int) int {
switch state.UIState { switch state.UIState {
case StateGame: case StateGame:
fmt.Fprintln(w, AnsiDimmed("[enter]/[tab]: next word | [ctrl+a]: menu | [ctrl+c]: exit")) fmt.Fprint(w, AnsiDimmed("[enter]/[tab]: next word | [ctrl+a]: menu | [ctrl+c]: exit\r\n"))
uiHeight += 1 uiHeight += 1
case StateMenu: case StateMenu:
fmt.Fprintln(w, AnsiDimmed("[c]: check puzzle/word | [r]: reveal puzzle/word | [x]: clear grid | [q]: exit menu")) fmt.Fprint(w, AnsiDimmed("[c]: check puzzle/word | [r]: reveal puzzle/word | [x]: clear grid | [q]: exit menu\r\n"))
uiHeight += 1 uiHeight += 1
case StateCheckMenu: case StateCheckMenu:
fmt.Fprintln(w, AnsiDimmed("[w]: check word | [p]: check puzzle | [q]: exit menu")) fmt.Fprint(w, AnsiDimmed("[w]: check word | [p]: check puzzle | [q]: exit menu\r\n"))
uiHeight += 1 uiHeight += 1
case StateRevealMenu: case StateRevealMenu:
fmt.Fprintln(w, AnsiDimmed("[w]: reveal word | [p]: reveal puzzle | [q]: exit menu")) fmt.Fprint(w, AnsiDimmed("[w]: reveal word | [p]: reveal puzzle | [q]: exit menu\r\n"))
uiHeight += 1 uiHeight += 1
} }
+16 -4
View File
@@ -39,8 +39,20 @@ func main() {
io.WriteString(s, "\x1b[?25h") io.WriteString(s, "\x1b[?25h")
}() }()
pty, _, _ := s.Pty() // TODO: actually handle terminal size changes pty, winCh, isPty := s.Pty()
uiHeight := state.RenderUI(s, pty.Window.Width) if !isPty {
return
}
windowWidth := pty.Window.Width
uiHeight := state.RenderUI(s, windowWidth)
go func() {
for window := range winCh {
windowWidth = window.Width
}
}()
scanner := bufio.NewScanner(s) scanner := bufio.NewScanner(s)
scanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) { scanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) {
@@ -72,14 +84,14 @@ func main() {
state.SelectedCell = -1 state.SelectedCell = -1
fmt.Fprintf(s, "\r\x1b[%dA", uiHeight) fmt.Fprintf(s, "\r\x1b[%dA", uiHeight)
fmt.Fprint(s, "\x1b[J") fmt.Fprint(s, "\x1b[J")
state.RenderUI(s, pty.Window.Width) state.RenderUI(s, windowWidth)
break break
} }
fmt.Fprintf(s, "\r\x1b[%dA", uiHeight) fmt.Fprintf(s, "\r\x1b[%dA", uiHeight)
fmt.Fprint(s, "\x1b[J") fmt.Fprint(s, "\x1b[J")
uiHeight = state.RenderUI(s, pty.Window.Width) uiHeight = state.RenderUI(s, windowWidth)
} }
log.Printf("%s disconnected\n", s.RemoteAddr().String()) log.Printf("%s disconnected\n", s.RemoteAddr().String())