Commit Graph

67 Commits

Author SHA1 Message Date
Christian Rocha 5ec2c0712a
Move cursor to (0,0) when entering the altscreen
This should fix cases in some terminals where the following paint is
vertically offset.
2020-06-22 20:47:35 -04:00
Christian Rocha d86cb562f0
Add basic mouse support 2020-06-22 20:41:26 -04:00
Christian Rocha 3a70ecdde1
Use same output for altscreen stuff as everything else 2020-06-22 15:55:52 -04:00
Christian Rocha 673752658f
Comments and cleanup 2020-06-22 13:40:32 -04:00
Christian Rocha 6bd34bdd14
Remove commands for manually getting terminal size; no longer needed
Tea core now sends the terminal dimensions on start and when the window
is resized (except on Windows where SIGWINCH, the resize signal, is not
supported).
2020-06-18 22:47:17 -04:00
Christian Rocha a6deb077c5
Adjust comments 2020-06-17 19:43:19 -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 debaf312f7
Disable resize listening on windows since it's not supported 2020-06-17 12:27:16 -04:00
Christian Rocha a152cce4b6
Adjust comments + move some code around 2020-06-17 12:12:45 -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 2896e0e8e6
Remove now unused vars from old renderer 2020-06-08 12:48:57 -04:00
Christian Rocha fcbc427098
Properly shut down renderer when quitting program 2020-06-08 12:48:57 -04:00
Christian Rocha 87434a2569
Buffer/ticker-based renderer 2020-06-08 12:48:57 -04:00
Christian Rocha b10f6d6791
How about if we count the lines rendered correctly 2020-05-28 10:47:15 -04:00
Christian Rocha e7130c9633
Remove an extraneous var and rename another var for clarity 2020-05-28 10:26:03 -04:00
Christian Rocha 99df3d4226
Only render if view has actually changed 2020-05-28 10:20:59 -04:00
Christian Rocha 3b8b011b5a
Rename to Bubble Tea (with the import name tea) 2020-05-25 19:48:36 -04:00
Christian Rocha 4bf40fbe62
Rename project to Boba 2020-05-12 16:39:08 -04:00
Christian Rocha 9dd9461dde
It's a safer bet not to render any extra newlines whatsoever 2020-05-11 23:07:48 -04:00
Christian Rocha 5ae602953c
Fix bug where extra blank line was being adding to output 2020-05-11 23:07:00 -04:00
Christian Rocha b50ee76165
Subs shouldn't take a model as an argument
This also nullifies the need for SubMap
2020-05-04 18:52:44 -04:00
Christian Rocha f93b752fcc
Remove ErrMsg and ModelAssertionErr 2020-04-22 11:00:30 -04:00
Christian Rocha aa6d766e42
Catch errors when reading keyboard input 2020-04-22 10:39:43 -04:00
Christian Rocha 50b16d2df1
Model doesn't need to be a member of the Program struct
This also fixes a race condition
2020-04-22 10:31:43 -04:00
Christian Rocha 4351c9f903
Cmds no longer takes a Model as an argument, CmdMap no longer needed 2020-04-22 10:15:04 -04:00
Christian Rocha 4f2c60372d
Improve some comments 2020-04-20 14:08:27 -04:00
Christian Muehlhaeuser bf92cd6cce
Add missing error handling 2020-04-17 20:35:54 +02:00
Christian Rocha 27416e9976
Add nil checks to CmdMap and SubMap functors 2020-04-10 15:43:32 -04:00
Christian Rocha 4a41a61919
Short-ciruit the message loop when processing batched commands 2020-04-03 18:31:40 -04:00
Christian Rocha cd63ed1e44
Stop old subscription when it becomes reassigned as nil 2020-04-02 12:10:10 -04:00
Christian Rocha 2e509ad32c
Don't do command batching if the batch is 0 items long 2020-04-01 12:05:05 -04:00
Christian Rocha 1bf93b1ccf
Provisionally add `CmdMap` and `SubMap` functions 2020-03-31 16:28:16 -04:00
Christian Rocha 6e769686f1
Add support for command batching 2020-03-31 16:08:03 -04:00
Christian Rocha 5b001ee17f
Spinner example 2020-02-10 16:35:29 -05:00
Christian Rocha 02d3086885
Fix typos in comments 2020-02-10 12:44:04 -05:00
Christian Rocha 5383f5a61e
Wrap termenv altscreen functions to make things simpler for the end user 2020-02-01 21:07:35 -05:00
Christian Muehlhaeuser f382f4db4a
Move ansi helpers to termenv 2020-01-31 13:52:20 +01:00
Christian Rocha bb06373836
Whoops, accidentally commited this new Sub type idea 2020-01-29 21:37:37 -05:00
Christian Rocha 4b4655b14a
Note about project being a pre-release 2020-01-27 21:27:20 -05:00
Christian Rocha 444c36b31f
Rework subscriptions, allowing for them to be easily managed by the developer 2020-01-25 21:28:16 -05:00
Christian Muehlhaeuser 1c98700015
syslog is only available on unix systems 2020-01-25 07:15:56 +01:00
Christian Muehlhaeuser bc67e3896b
Add platform-specific terminal init & restore 2020-01-25 07:15:29 +01:00
Christian Rocha 79af4ad6d5
More functional rendering approach 2020-01-22 16:15:30 -08:00
Christian Rocha 524cf2cffd
convenience function for creating an ErrMsg from an error 2020-01-20 10:54:58 -08:00
Christian Rocha e1d4a14345
Commands should probably receive the model as an arg, right? 2020-01-20 10:35:03 -08:00
Christian Rocha a318d24593
Fix a bug where the initial command wasn't running 2020-01-19 00:46:14 -05:00
Christian Rocha 824703a661
Remove stray log that was making rendering weird 2020-01-19 00:13:19 -05:00
Christian Rocha 6a0489592f
Programs should take an init type/function as the first argument
This is in line with the way Elm works. Also update examples.
2020-01-18 22:22:04 -05:00