Commit Graph

489 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