Commit Graph

139 Commits

Author SHA1 Message Date
Christian Rocha
6ceafa032c Text input value getter/setter + cursor movement methods 2020-05-20 16:12:14 -04:00
Christian Rocha
826420a00e Add method to text input model to reset the state 2020-05-20 15:03:29 -04:00
Christian Rocha
3868858947 Support bounded width in text input 2020-05-20 15:03:21 -04:00
Christian Rocha
9fc0d0ea82 Support background colors in textinput 2020-05-19 14:58:50 -04:00
Christian Rocha
ee5f82579f Don't treat the space character as a control character
There are drawbacks to both sides of this, but in the end, it seems to make
more sense to treat spaces as regular runes.
2020-05-19 14:41:55 -04:00
Christian Rocha
dafb022fe5 Pager is now called viewport and allows for non-default keybindings 2020-05-19 13:18:32 -04:00
Christian Rocha
822c234a82 Use a mutual exclusion lock when writing to stdout 2020-05-19 13:16:02 -04:00
Christian Rocha
28deb6c543 Correct doc comment 2020-05-18 18:45:37 -04:00
Christian Rocha
61285e4e90 Disable OnResize command on Windows 2020-05-18 11:44:58 -04:00
Christian Rocha
d2ae1b0fb7 Add command for listening for window resizes 2020-05-17 19:28:12 -04:00
Christian Rocha
25f8b8c99b Simplify pager component and fix pager example 2020-05-15 16:08:58 -04:00
Christian Rocha
7562f29046 Use more idiomatic function name for content setter in pager 2020-05-15 14:14:17 -04:00
Christian Rocha
149579d584 Add helper method to paginator for determining if we're on the last page 2020-05-15 13:24:32 -04:00
Christian Rocha
5a1ee26a6b Fix typo in comment 2020-05-14 20:59:03 -04:00
Christian Rocha
959b9c3a45 Cleanup pager 2020-05-14 17:56:54 -04:00
Christian Rocha
82e1aa81da Fix percentage artithmetic in pager 2020-05-14 15:10:38 -04:00
Christian Rocha
3960657824 Pager: fill empty space with newlines 2020-05-14 15:04:39 -04:00
Christian Rocha
6176ad6f8e Add method to pager model for getting percent scrolled 2020-05-14 15:04:18 -04:00
Christian Rocha
db4600aeb2 Add a command and message for getting terminal size
There may be too much rigamarole around this (it's simpler to get the size
imperatively and synchronously) but adding it for now.
2020-05-14 10:49:08 -04:00
Christian Rocha
0e39761525 Strip down pager; the teminal size must now be fetched by the parent 2020-05-14 10:45:53 -04:00
Christian Rocha
ffdaba08eb Remove this extraneous type 2020-05-14 10:45:37 -04:00
Christian Rocha
254c098066 Pager: expose cmd for getting terminal size + bind pgup/pgdown 2020-05-13 22:06:35 -04:00
Christian Rocha
251f944f12 Spinner doc comments 2020-05-13 16:06:15 -04:00
Christian Rocha
82a40119b9 Spinner can now send custom messages 2020-05-13 15:55:53 -04:00
Christian Rocha
ade8203c21 Remove entire subscription model
It was a valiant effort, and the implementation was solid and
dependable, but at the end of the day we can achieve the same
functionality in a much simpler fashion with commands, especially
because Go is not held to the same restrictions as Elm.
2020-05-12 18:00:50 -04:00
Christian Rocha
82ddbb8e12 Move components over and update examples 2020-05-12 17:06:00 -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
767f4bec2d Built-in subscriptions are clearer without the extra type definition 2020-05-11 23:07:45 -04:00
Christian Rocha
b6eeef2127 Pager example 2020-05-11 23:07:45 -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
72c1a1c0ef Treat space key as a control character (instead of a " ") 2020-05-11 19:56:46 -04:00
Christian Rocha
88e4df4055 Update spinner example so it works with the spinner version in master 2020-05-11 17:38:05 -04:00
Christian Rocha
2a82e2a75e Add Tick to run timers independent of the system clock 2020-05-11 13:01:42 -04:00
Christian Rocha
7b887b0a05 Update example in README to use tea.Every 2020-05-11 12:54:44 -04:00
Christian Rocha
d503d5dbf6 Every sends the time at which the timer ticked 2020-05-05 14:26:06 -04:00
Christian Rocha
ac67237eab Add 'Every' subscription for ticking with the system clock 2020-05-05 13:38:46 -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
dada718393 Fix and improve spinner example 2020-05-04 18:33:17 -04:00
Christian Rocha
39ec5b5233 Bump termenv with fix for redraws on mosh, konsole 2020-04-30 19:29:59 -04:00
Christian Rocha
f57e384548 Remove SSH stuff 2020-04-27 11:51:02 -04:00
Christian Rocha
8471cb03c1 Add Reflow and Tea Party to resources in README 2020-04-27 11:46:44 -04:00
Christian Rocha
6c8ee9f7dc Remove authors 2020-04-27 11:43:11 -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
5612c85b72 Bump termenv for examples 2020-04-22 10:11:31 -04:00
Christian Rocha
01b14bacca Ignore .envrc 2020-04-22 09:53:18 -04:00
Christian Rocha
4f2c60372d Improve some comments 2020-04-20 14:08:27 -04:00