Wez Furlong
1a4eba3eb9
turns out that we weren't actually using linear rgb here
2018-08-04 11:09:54 -07:00
Wez Furlong
67128704ff
add helper to extract the srgba tuple without converting to linear
2018-08-04 11:07:27 -07:00
Wez Furlong
3252f3a99a
nth time is the charm
2018-08-04 10:58:31 -07:00
Wez Furlong
860cc60519
try again with the cargo fmt logic in travis
2018-08-04 10:51:08 -07:00
Wez Furlong
24207fa369
maybe fix quoting for travis
2018-08-04 10:41:49 -07:00
Wez Furlong
154a228192
don't fail nightly/beta channels due to rustfmt differences
2018-08-04 10:14:48 -07:00
Wez Furlong
b73b41c356
flesh out build matrix
...
We no longer require nightly, so turn on some other channels
2018-08-04 10:00:51 -07:00
Wez Furlong
ea660b2cd5
update cargo fmt invocation for travis
2018-08-04 09:58:40 -07:00
Taron Barber
0ce396f305
add debian support to get-deps
...
Dependency names on Ubuntu and Debian are identical (only tested on stretch.)
2018-08-04 09:50:18 -07:00
Wez Furlong
b7a095ef3f
Update to use termwiz hosted on github
2018-08-04 09:46:46 -07:00
Wez Furlong
472d243a33
cut over to termwiz Cell
2018-08-04 09:35:39 -07:00
Wez Furlong
0fca6fb730
tweaks to support wezterm
2018-08-04 08:50:04 -07:00
Wez Furlong
1ec83706e7
use termwiz::Hyperlink
2018-08-04 00:26:24 -07:00
Wez Furlong
ff009c2f79
allow hyperlink params to be an empty string
2018-08-04 00:25:37 -07:00
Wez Furlong
f37de9cbe5
use termwiz to replace most of the escape parsing
2018-08-03 22:37:04 -07:00
Wez Furlong
1c6b51be46
update rustfmt for 1.28
2018-08-03 22:34:27 -07:00
Wez Furlong
6fc620ce47
port more escape sequences over from wezterm
2018-08-03 22:34:09 -07:00
Wez Furlong
83c5e796ce
apply current cargo fmt
2018-08-03 21:25:55 -07:00
Wez Furlong
e151e825de
simplify rustfmt options
2018-08-02 22:34:19 -07:00
Wez Furlong
3376ae2a6a
add/improve docs
2018-08-02 07:50:57 -07:00
Wez Furlong
4640b735c4
Basic handling of double and zero width graphemes
2018-08-01 21:31:02 -07:00
Wez Furlong
5c76670acd
start making Cell aware of graphemes
2018-08-01 09:35:07 -07:00
Wez Furlong
92d1d63841
add (untested) mouse hit tester
2018-08-01 08:26:01 -07:00
Wez Furlong
db49040d5d
rethink the widget stuff
...
This feels a bit more idiomatic and flexible
2018-08-01 07:56:24 -07:00
Wez Furlong
de38d1aad7
cut over to the new widget bits
2018-07-29 12:45:18 -07:00
Wez Furlong
e71e6d2f5a
start building out alternate widget api
2018-07-29 00:15:14 -07:00
Wez Furlong
3c8adfaf16
use fancier colors in the widget example
2018-07-28 13:21:56 -07:00
Wez Furlong
ed4810b2af
remove debugging code
2018-07-28 12:29:17 -07:00
Wez Furlong
bb609df317
internalizing boxing when creating widgets
2018-07-28 12:28:10 -07:00
Wez Furlong
612ac84454
decode device attributes csi sequence
2018-07-28 10:54:34 -07:00
Wez Furlong
c275146336
add mouse reporting
2018-07-28 07:52:57 -07:00
Wez Furlong
d89814c8ad
add bracketed paste mode
2018-07-27 21:30:49 -07:00
Wez Furlong
2a5721d50a
start a todo section in the readme
2018-07-27 17:46:00 -07:00
Wez Furlong
bc0c0c7848
Add ALT key press handling
...
ECMA-35 and a host of terminals send ESC followed by a keypress as
a 7-bit encoding for representing that ALT (or META) was held down
for that keypress.
We need to keep some more state in the input parser to track this.
There's a little bit of nuance; we don't want to block processing
of a lone escape indefinitely.
The keymap code has been changed to return a clone of the value
in lookup to appease the borrow checker: it can't see that we don't
modify the keymap in the context of the dispatch_callback function :-/
2018-07-27 15:07:41 -07:00
Wez Furlong
abe9bf8f56
simplify input/read buffering
2018-07-27 14:31:05 -07:00
Wez Furlong
e21516d4d2
Add safe sigwinch handling
...
the signal-hook crate provides a nice way to do this without
stomping on other signal handlers
2018-07-27 08:48:34 -07:00
Wez Furlong
947f965c31
make resize signal catching function
2018-07-26 22:13:04 -07:00
Wez Furlong
16dbbb2bad
Trying to improve resize detection and processing
2018-07-26 21:58:08 -07:00
Wez Furlong
250fb20fca
add widget layout solver
2018-07-26 15:33:57 -07:00
Wez Furlong
b3346b9a43
ensure that we set the cursor attributes
...
Set the cursor to match the positioning info reported
by the focused widget
2018-07-24 16:47:41 -07:00
Wez Furlong
837cfae566
fixup comment for Blocking::Yes -> Blocking::Wait
2018-07-24 14:19:18 -07:00
Wez Furlong
d45c6645a1
add basic widgets support infra
2018-07-24 13:49:47 -07:00
Wez Furlong
d1ea0588a3
clarify Blocking enum; Blocking::No -> DoNotWait
2018-07-24 06:25:58 -07:00
Wez Furlong
a781d8eb5a
IOError -> IoError, tidy up cargo deps
2018-07-24 05:57:50 -07:00
Wez Furlong
cba05e3942
tidy up the hello program a tiny bit
2018-07-23 21:45:05 -07:00
Wez Furlong
11a32f7d99
fix comment
2018-07-23 21:31:27 -07:00
Wez Furlong
fa91f1cd7b
Add Terminal::poll_input for decoding terminal input
...
Both blocking and non-blocking are supported
2018-07-23 21:23:26 -07:00
Wez Furlong
64fc64d967
Add a parser for terminal input
...
This includes a trie structure for dealing with the keymap lookups.
2018-07-23 14:49:15 -07:00
Wez Furlong
0825cefb02
terminfo crate has been released with SetAttributes
2018-07-22 12:56:46 -07:00
Wez Furlong
025b46d111
Terminal no longer requires Read+Write
...
This allows adding parsed readers without having to worry about
reconciling Read vs. parsed read.
2018-07-22 11:32:08 -07:00