Commit Graph

184 Commits

Author SHA1 Message Date
ticki 5b94db9663 Merge 2016-07-23 17:49:52 +02:00
ticki e36ff1c71b Termion 1.0.0: Complete overhaul of how escape codes are handled, add truecolor support.
This commit is a major semver bump. Every progra utilizing escape codes generated by Termion is likely broken. The main change is to make each escape has their own type implementing the Display trait.

- Use formatters, mainly Display for escapes.

- Add Truecolor support (`color::Rgb`).

- Put each primitive into distinct modules.

- Add is_tty for checking if some stream is a TTY.

- Add multiple new examples.
2016-07-23 16:40:27 +02:00
ticki fb1d702b13 Merge pull request #29 from IGI-111/master
Implemented mouse input
2016-07-20 13:54:56 +02:00
IGI-111 1c50a795f8 added some tests 2016-07-20 13:06:04 +02:00
IGI-111 ab12a8f8a6 fixed formatting 2016-07-20 11:03:30 +02:00
IGI-111 206c61de9e made mouse optional and fixed small issues 2016-07-20 01:13:03 +02:00
ticki 220005031b Merge pull request #27 from Munksgaard/add-controls
Add more controls
2016-07-19 22:30:20 +02:00
IGI-111 cc9c32b981 added mouse input
The event system has been reworked to allow the detection of mouse
events as well as key presses.
Xterm, rxvt and X10 emulated escape codes are supported, they are
enabled and disabled by sending the right escape codes when creating a
RawTerminal.

To allow for byte manipulation, which was necessary to implement those
features, the backend iterator has been changed from chars() to bytes()
(with specific treatment of unicode sequences), making the whole crate
not require nightly rustc.
2016-07-19 18:17:12 +02:00
IGI-111 2f6ebb8669 added tests 2016-07-16 22:46:29 +02:00
IGI-111 4402ebd8b3 fix wrong range used 2016-07-16 19:21:51 +02:00
IGI-111 5eae7cf732 function keys now use ranges for detection 2016-07-16 19:10:04 +02:00
IGI-111 70c12b20d6 added doc for function keys 2016-07-16 18:51:33 +02:00
IGI-111 3552c6eae0 added rxvt Home and End escape codes 2016-07-15 12:19:02 +02:00
IGI-111 0e74a7672f added more special keys
Key now supports Home, End, PageUp, PageDown, Delete, Insert and
Function keys. All this is done through the detection of both VT100
escape codes and more modern standard counterparts.
For instance, F2 can be both
    ESC OQ
on VT100, screen, and some versions of xterm and
    ESC [12~
on rxvt and other xterm versions depending on your terminal
2016-07-15 07:41:31 +02:00
Philip Munksgaard fa75b334d0 Improve function documentation 2016-07-14 21:51:00 +02:00
Philip Munksgaard 7a723b0ef5 Add more controls
Add support for scrolling up and down, and moving the cursor up and
down.
2016-07-13 23:43:37 +02:00
ticki 133497a4be Inline 2016-07-02 16:17:07 +02:00
ticki d52e2a2426 Fix documentation for colors 2016-07-02 15:59:51 +02:00
ticki a7821206e9 Update README 2016-07-02 15:42:18 +02:00
ticki b499d4825f Refactor how colors are handled 2016-07-02 15:06:47 +02:00
ticki 8bcb946b07 Update readme 2016-06-14 14:29:31 +02:00
ticki 49bb0932c7 Merge branch 'master' of github.com:Ticki/libterm 2016-06-14 14:24:23 +02:00
ticki 11225e561d Fix #24, make use of Result instead 2016-06-14 14:24:07 +02:00
MovingtoMars aaeeb06d42 fix cursor moving 2016-06-11 22:29:04 +12:00
MovingtoMars d1b3cf6633 add move_cursor_{left,right} to TermWrite 2016-06-11 11:23:30 +12:00
ticki 119cbda718 Switch from usize to u16 in terminal_size 2016-05-03 19:42:37 +02:00
Ticki b36e5fa721 Fix build with 'nightly' feature 2016-04-02 23:06:10 +02:00
Ticki 6a792cd86d Add unit tests for read_line 2016-04-02 19:20:47 +02:00
Ticki b5c4f2512d Merge pull request #14 from untitaker/refactor-read-passwd
Refactor read_passwd
2016-04-02 18:32:39 +02:00
Ticki bf1a6ecc2e Amend #15 2016-04-02 18:31:03 +02:00
Jeremy Soller f5936c0035 Use env for terminal size in redox
Undo color changes to test redox 256 color support

Get terminal size for Redox's kernel terminal

Use env for terminal size in redox
2016-04-02 18:31:03 +02:00
Jeremy Soller cd59514615 Use 8-color mode when possible. 2016-04-02 18:30:48 +02:00
Ticki b288548756 Fix #18 2016-04-02 18:05:31 +02:00
Ticki 7da5fbf36f Clean up imports in raw module 2016-03-20 22:55:08 +01:00
Markus Unterwaditzer cdd7a302b2 Refactor read_passwd
Line-reading logic is now in its own method
2016-03-20 16:15:05 +01:00
Ticki 12e08141c4 Merge branch 'master' of github.com:Ticki/libterm 2016-03-17 17:13:11 +01:00
Ticki b10a24e112 Remove 'into_async', use 'async_stdin' instead 2016-03-17 17:12:47 +01:00
Jeremy Soller 72f87e0176 Fix redox support 2016-03-16 12:59:12 -06:00
shortenda 65615c3c39 Fix typo 2016-03-16 01:43:35 -07:00
Ticki 7d1d424c8a Small doc fixes 2016-03-16 08:52:09 +01:00
Ticki 28a95cf447 Libterm is now termion 2016-03-15 21:36:33 +01:00
Ticki 6ca81b2ec0 Fix nightly feature 2016-03-15 20:56:53 +01:00
Ticki b65328c304 Asynchronous key events 2016-03-15 20:32:25 +01:00
Ticki 73ae06124a Add Key::Null for null bytes 2016-03-15 18:01:33 +01:00
Ticki 32d8ccfa24 Use IO error, instead of a custom one 2016-03-13 11:55:24 +01:00
Ticki 7145651a83 Fix bug in Keys 2016-03-10 21:57:42 +01:00
Ticki 2335596a1a TerminalRestorer -> RawTerminal 2016-03-10 16:24:41 +01:00
Ticki 9efbb4e227 Fix ctrl input 2016-03-10 15:21:11 +01:00
Ticki d8e5ea3262 CTRL modified input 2016-03-10 15:12:59 +01:00
Ticki 3800f31e92 Use libc termios struct 2016-03-10 07:05:08 +01:00
Ticki 08746c0d2a Add tests to 'terminal_size' 2016-03-09 19:17:00 +01:00
Ticki 5d4826d4ff Add test to _everything_ 2016-03-09 17:18:31 +01:00
Ticki 7269b5f07d Add restore() method for restoring the defaults 2016-03-09 13:07:38 +01:00
Ticki 0efce912d0 Minor cosmetic changes 2016-03-09 11:38:43 +01:00
Ticki 543b2f8975 Hi -> Light 2016-03-09 11:19:51 +01:00
Ticki 6f1621d2d0 Introduce 'Key', which can decode special key input 2016-03-09 09:39:22 +01:00
Ticki abe4681158 Fix examples 2016-03-08 21:40:48 +01:00
Ticki a16cc84ea3 Rename WriteExt to TermWrite 2016-03-08 21:39:24 +01:00
Ticki 62940e52f0 Add clear_before, clear_after and clear_until_newline 2016-03-08 20:10:13 +01:00
Ticki 77311ae63f Make the position 0-based 2016-03-08 19:07:39 +01:00
Ticki 61a5d8e777 Rename append 'cursor' to show and hide methods
To avoid ambiguity.
2016-03-08 18:57:31 +01:00
Ticki 45aa8912f9 Rename Mode to Style
Mode is somewhat ambiguous term, which is often overused, for that reason I want to avoid it. This is a breaking change, but I don't guarantee stability yet, however I'll do my best to not break things.
2016-03-08 18:38:07 +01:00
Ticki f5aad5e2b1 Amend #3 2016-03-08 11:58:48 +01:00
Florian Gilcher c5fd3b1145 Use a byte buffer for the password
Introduces a "UnicodeError" to express improperly encoded
passwords.
2016-03-08 11:47:38 +01:00
Ticki f601c49e28 Amend #1 to use direct integers instead of byte chars 2016-03-08 11:29:22 +01:00
Ticki 899cb89139 Merge branch 'master' of github.com:Ticki/libterm 2016-03-08 11:28:22 +01:00
Ticki efcc232de1 32-bit support 2016-03-08 11:27:53 +01:00
Florian Gilcher 5a11c6d2c7 Use libc from crates.io 2016-03-08 11:15:41 +01:00
Florian Gilcher 4d21e7f3e4 Replace unstable 'chars' by 'bytes'
As this is a paththrough function and all important control chars
are in the byte range, chars is not necessary.
2016-03-08 11:04:09 +01:00
Ticki 22ef240967 terminal_size() for Redox 2016-03-08 10:31:12 +01:00
Ticki 54ce18f17d Better documentation, fix TIOCGWINSZ 2016-03-08 10:08:50 +01:00
Ticki 07b25731a6 Minor cosmetic changes 2016-03-08 09:09:52 +01:00
Ticki 10f6654005 Better password input 2016-03-08 08:51:34 +01:00
Ticki a19d2e245d Make debug_check private, remove warnings from examples 2016-03-08 08:27:59 +01:00
Ticki 491facd4e7 Minor cosmetic changes 2016-03-08 08:19:26 +01:00
Ticki 0fde52e3f9 Fixes for Redox 2016-03-07 22:22:25 +01:00
Ticki fd2d74d41a Now supports Redox! 2016-03-07 22:19:35 +01:00
Ticki 45b1136f75 get_passwd(), new example, update README 2016-03-07 18:42:11 +01:00
Ticki 098ce66b84 Rendition modes 2016-03-07 17:57:17 +01:00
Ticki 6f9addc42b Yay! 256-color mode 2016-03-07 17:39:25 +01:00
Ticki 2f0c72e1e4 Remove warnings from example 2016-03-07 16:23:05 +01:00
Ticki c89a8f7027 Restructuring and error handling 2016-03-07 16:01:20 +01:00
Ticki 1e30802d32 u16 instead, don't allocate for formatting 2016-03-06 17:51:07 +01:00
Ticki bf7ca5c143 Initial commit 2016-03-06 14:54:26 +01:00