Commit Graph

40 Commits

Author SHA1 Message Date
Christian Rocha 65cb46c475
Remove notes about how we'd auto-truncate lines as we're doing that now 2021-02-25 12:12:52 -05:00
Carl Henrik Lunde 3266c3654b Avoid race on renderer.buf in flush vs. write
Fix race by acquiring the mutex before accessing renderer.buf in flush.

	WARNING: DATA RACE
	Read at 0x00c0000ee0a0 by goroutine 11:
	  bytes.(*Buffer).Len()
	      /home/chlunde/opt/go/src/bytes/buffer.go:73 +0x64
	  github.com/charmbracelet/bubbletea.(*renderer).flush()
	      /home/chlunde/src/bubbletea/renderer.go:91 +0x45
	  github.com/charmbracelet/bubbletea.(*renderer).listen()
	      /home/chlunde/src/bubbletea/renderer.go:76 +0x185

	Previous write at 0x00c0000ee0a0 by main goroutine:
	  bytes.(*Buffer).Reset()
	      /home/chlunde/opt/go/src/bytes/buffer.go:98 +0xf5
	  github.com/charmbracelet/bubbletea.(*renderer).write()
	      /home/chlunde/src/bubbletea/renderer.go:195 +0x13c
	  github.com/charmbracelet/bubbletea.(*Program).Start()
	      /home/chlunde/src/bubbletea/tea.go:330 +0xbbb
	  main.main()
	      /home/chlunde/src/bubbletea/examples/spinner/main.go:27 +0x229

Fixes #54
2021-02-25 10:56:48 -05:00
Carlos Alexandro Becker b2d948b53c Fixed a couple of typos
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2021-01-17 15:58:50 +01:00
Christian Rocha 1f6191c671 Automatically trim lines wider than the window width 2021-01-14 20:14:39 -05:00
Christian Rocha 591fcabdd4
Explicitly ignore io.Writer return values in renderer 2020-09-28 16:28:40 -04:00
Christian Muehlhaeuser d26cfb6b38
Make golint happy 2020-08-22 12:34:03 +02:00
Christian Rocha c0f67a2927
Improve GoDocs 2020-07-29 20:50:00 -04:00
Christian Rocha 2f53eeb54b
Fix a bug in macOS terminal where stuff could get sucked into the scroll area 2020-07-13 11:39:04 -04:00
Christian Rocha 14a06b0896
Improve some comments 2020-07-06 11:54:02 -04:00
Christian Rocha f7ec07de3c
Clear lines before handing them over to the scrolling renderer 2020-06-25 19:22:37 -04:00
Christian Rocha 3a70ecdde1
Use same output for altscreen stuff as everything else 2020-06-22 15:55:52 -04:00
Christian Rocha 05f3028452
Move cursor in a relative fashion in standard render (fixes inline rendering) 2020-06-22 14:35:46 -04:00
Christian Rocha 8bab4bce9a
Actively place the cursor after a normal render 2020-06-22 13:40:44 -04:00
Christian Rocha ebbab2908c
Put cursor back where we found it after scrolling 2020-06-22 13:40:44 -04:00
Christian Rocha eff99294e1
We actually never needed to correct the top boundary 2020-06-22 13:40:44 -04:00
Christian Rocha 6e75920859
Stay in-bounds when clearing lines 2020-06-22 13:40:44 -04:00
Christian Rocha c0ce48dfdd
Fix repaint when syncing and clearing scroll area 2020-06-22 13:40:44 -04:00
Christian Rocha 673752658f
Comments and cleanup 2020-06-22 13:40:32 -04:00
Christian Rocha bbcdb3ac1f
Render scroll area before other stuff when resizing 2020-06-19 13:27:50 -04:00
Christian Rocha 2a297fabad
Also repaint non-scrolling stuff when resizing 2020-06-19 11:51:36 -04:00
Christian Rocha a2897e9dd1
Remove messages and commands we don't need yet 2020-06-18 22:42:29 -04:00
Christian Rocha 00f7f5be93
Remove cursor save/restore as it was wrecking things
Also, um, we didn't need it.
2020-06-18 20:10:20 -04:00
Christian Rocha d4d553c447
Back to a line-based renderer 2020-06-18 19:18:37 -04:00
Christian Rocha da9a1fe2f4
Correct scroll area top positioning 2020-06-18 17:21:48 -04:00
Christian Rocha 6ea16d0b9c
Add command to sync scrollable area with renderer
This is necessary for initial paints, and probably for resizes.
2020-06-18 12:23:42 -04:00
Christian Rocha 83e41c15b1
Create ignoreLines map on demand 2020-06-18 12:20:14 -04:00
Christian Rocha 902225116c
Correct "scroll down" behavior 2020-06-17 20:24:43 -04:00
Christian Rocha 4dc6992767
Cmds for scrolling + handle renderer msgs in a renderer method 2020-06-17 18:46:04 -04:00
Christian Rocha a492302609
Adjust exports of new msgs + add msg to replace ignored lines 2020-06-17 18:19:27 -04:00
Christian Rocha 8539cfcf8c
Fix a bug where left area on the first line was not always cleared 2020-06-17 14:50:39 -04:00
Christian Rocha ae9ea29c0e
Fix line clearing bug 2020-06-17 11:49:33 -04:00
Christian Rocha 830beecffb
Fix render's view clearing loop 2020-06-17 10:48:08 -04:00
Christian Rocha b72009105b
Fix infinte loop + backwards ignore behavior 2020-06-16 22:30:47 -04:00
Christian Rocha 683473c26d
Blind pass at adding high performance scrolling into the renderer 2020-06-16 22:06:46 -04:00
Christian Rocha da86f9ac1a
Renderer comments 2020-06-16 11:05:10 -04:00
Christian Rocha 01032f0579
Set FPS in a more readable fashion (thanks @muesli!) 2020-06-15 20:01:18 -04:00
Christian Rocha 3aba272a10
Fix nonsensical comment 2020-06-11 21:42:40 -04:00
Christian Rocha 55a8d1853e
Comments 2020-06-08 12:48:57 -04:00
Christian Rocha 3647042096
Fix renderer bug where UI could be duplicated in inline-TUIs 2020-06-08 12:48:57 -04:00
Christian Rocha 87434a2569
Buffer/ticker-based renderer 2020-06-08 12:48:57 -04:00