Wez Furlong
38adc117f4
termwiz: use filedescriptor crate instead of RawFd bits
2019-05-31 22:52:40 -07:00
Wez Furlong
45d378565b
probably fixup build for windows
2019-05-29 12:42:20 -07:00
Wez Furlong
98e93ff3a5
Fix a build issue on fedora 30: lib vs lib64
2019-05-29 11:12:32 -07:00
Wez Furlong
3c6552b975
cargo publish wants a.b.c rather than a.b for package.version
2019-05-27 20:09:33 -07:00
Wez Furlong
98bd82e212
bump some deps
2019-05-27 20:08:30 -07:00
Wez Furlong
91ea7cd576
add keywords
2019-05-27 19:57:44 -07:00
Wez Furlong
37f451843c
termwiz: prep for publishing on crates.io
2019-05-27 19:53:52 -07:00
Wez Furlong
3a3755fbe6
moved varbincode to its own repo
2019-05-27 19:44:55 -07:00
Wez Furlong
5976e8d229
lineedit: add tab completion support
2019-05-27 17:39:10 -07:00
Wez Furlong
330c8e8c1f
lineedit: add ctrl-d -> EOF
2019-05-27 16:17:49 -07:00
Wez Furlong
a94c802a74
lineedit: add history
2019-05-27 13:35:24 -07:00
Wez Furlong
2b85d5dca4
termwiz: introduce host concept, prompt and coloring
...
The LineEditorHost trait allows colorizing the line editor.
2019-05-27 12:42:19 -07:00
Wez Furlong
fb5d0464fb
lineedit: ctrl-c cancels the current line
2019-05-27 10:29:22 -07:00
Wez Furlong
3e24ef2ea8
cargo fmt
2019-05-27 10:20:33 -07:00
Wez Furlong
0d2bbcfce6
lineedit: add ctrl-w to delete word up to cursor
2019-05-27 09:21:19 -07:00
Wez Furlong
56885e5bad
lineedit: add word movement commands
2019-05-27 09:18:36 -07:00
Wez Furlong
0f3869be16
lineedit: implement ctrl-k and fixup deletion of emoji
2019-05-27 08:17:24 -07:00
Wez Furlong
8a44344937
lineedit: split out action and movement concepts
...
This makes it a bit easier to implement more key bindings and
to make them configurable in the future
2019-05-27 08:02:38 -07:00
Wez Furlong
8a74eff72e
lineedit: add ctrl-L repaint/refresh binding
2019-05-27 07:14:39 -07:00
Wez Furlong
90fece7b27
fixup windows build
2019-05-26 23:02:50 -07:00
Wez Furlong
cd027430db
fixup tests
2019-05-26 22:58:38 -07:00
Wez Furlong
b1af0cefbd
tidy up the line editor interface and docs a bit
2019-05-26 22:52:07 -07:00
Wez Furlong
5dd0e39b05
termwiz: improve line editor
...
Move the cursor to the correct column when emoji are input.
Add some docs.
2019-05-26 22:39:50 -07:00
Wez Furlong
4fe790dd0c
add cursor movement, deletion
2019-05-26 22:04:47 -07:00
Wez Furlong
07910f1d59
disable mouse input in line editor example
2019-05-26 21:20:43 -07:00
Wez Furlong
6d243ec1f1
termwiz: add very basic line editor
2019-05-26 21:10:37 -07:00
Wez Furlong
cc0d2e5493
termwiz: fixup key_tester example on macOS
...
We need to set the terminal to blocking mode when we want poll_input
to block forever, otherwise we immediately receive WouldBlock error
response and quit the program.
2019-05-26 19:01:03 -07:00
Wez Furlong
0bb3714435
improve double-click selection of wrapped lines
...
This one has been bugging me for a while; we now know when we've
wrapped a line and can join it without a line break when double-clicking
to select a word.
This commit introduces a wrapped attribute to help record this
information, which could potentially help with when it comes
to looking at nicer resize behavior in refs: https://github.com/wez/wezterm/issues/14
2019-05-26 16:05:51 -07:00
Wez Furlong
09f168a0db
plumbing for double click selection of wrapped lines
2019-05-26 14:52:03 -07:00
Wez Furlong
038100922a
clippy
2019-05-26 12:49:10 -07:00
Wez Furlong
607e180122
Range::contains is now stable; use it.
2019-05-26 11:40:33 -07:00
Wez Furlong
e5fe668bbc
mention linux package releases in the readme
2019-05-26 11:18:03 -07:00
Wez Furlong
bba1d69c13
remove bincode dep
2019-05-26 09:30:34 -07:00
Wez Furlong
3f48387079
fixup mac build for extern crate changes
2019-05-26 09:21:58 -07:00
Wez Furlong
e1a1530d22
remove boxfnonce: now require rust 1.35+
...
Rust can now naturally deal with with these constructs, so drop the
external crate.
2019-05-26 09:14:20 -07:00
Wez Furlong
3cf20acd13
remove the last of the extern crate lines
2019-05-26 09:00:42 -07:00
Wez Furlong
f87901c484
tidy up some failure usage
2019-05-26 08:58:59 -07:00
Wez Furlong
8a76f27f9b
remove some extern crates
...
These got overlooked when migrating from 2015->2018 edition syntax.
2019-05-26 08:27:43 -07:00
Wez Furlong
b83656b378
bump image crate dep
...
This avoids compiling two different versions of image
2019-05-26 08:13:24 -07:00
Wez Furlong
a05bca460e
fixup unused doc comment warning
2019-05-26 07:59:39 -07:00
Wez Furlong
3bf551706e
improve pty example
...
Example output on linux:
```
child status: ExitStatus { successful: true }
output: wez\r\n%
```
Example output on windows:
```
child status: ExitStatus { successful: true }
output: \u{1b}[2J\u{1b}[?25l\u{1b}[m\u{1b}[HDOMAIN\\wez\u{8}\u{1b}]0;C:\\windows\\system32\\whoami.EXE\u{0}\u{7}\u{1b}[?25h
```
Refs: https://github.com/wez/wezterm/issues/27
2019-05-21 08:58:42 -07:00
Wez Furlong
015a97e2be
add pty example that runs whoami
...
Refs: https://github.com/wez/wezterm/issues/27
2019-05-20 07:20:47 -07:00
Wez Furlong
257c864403
flesh out the crate level docs
2019-05-19 22:35:35 -07:00
Wez Furlong
1d8b024f2f
add some doc comments to the pty crate
...
Refs: https://github.com/wez/wezterm/issues/27
2019-05-19 20:31:07 -07:00
Wez Furlong
c562f35db8
adopt my filedescriptor crate in the pty crate
...
Refs: https://github.com/wez/wezterm/issues/27
2019-05-19 19:54:12 -07:00
Wez Furlong
7464965d1e
fixup windows build for pty mod -> crate move
...
Refs: https://github.com/wez/wezterm/issues/27
2019-05-19 18:55:10 -07:00
Wez Furlong
7bf1d99d77
move pty to its own crate in preparation for publishing
...
Refs: https://github.com/wez/wezterm/issues/27
2019-05-19 18:40:26 -07:00
Wez Furlong
c207142bcf
Improve performance on windows
...
I noticed that things were feeling laggy in general and when I
added some debugging prints I noticed that we were getting a
continuous stream of CursorMoved events with the same coordinates
while the window had focus.
This diff short circuits mouse processing in that situation and
makes things feel a bit more snappy.
2019-05-18 19:15:04 -07:00
Mark Thomas
5d8860f3dd
add terminal wakers
...
Terminal wakers allow other threads to wake the main terminal processing thread.
2019-05-18 09:12:47 -07:00
Mark Thomas
57983c24de
increase renderer buffer size
...
The default buffer size is tiny (128 bytes), resulting in many calls to tcdrain
during rendering.
Make the buffer a more reasonable 4096 bytes.
2019-05-18 09:12:47 -07:00