Commit Graph

302 Commits

Author SHA1 Message Date
Peter Hindes
49fefd6e8f
Added Support For Chars Colors (#386) 2020-02-27 06:50:29 +01:00
Jonathan Turner
007063896e
Automatically close raw fd (#383) 2020-02-22 07:59:40 +01:00
Timon
e35d4d2c1c 0.15.1 (#381) 2020-02-08 14:23:50 +01:00
Canop
f58aca9354
Changed vec of Attributes to bitfield (#380) 2020-02-07 14:06:41 +01:00
Timon
75c59f32ac
0.15 (#375) 2020-01-29 07:29:35 +01:00
Nathan West
f2fca91b30 Added basic trait implementations to all Commands (#363)
- Added basic trait implementations to all Commands
- Added `Debug` to all public-facing types
- Added `Clone` to several public-facing types, where relevant
- Added `Eq` to all `PartialEq` types
- Added `Debug` and `Clone` to a few internal types
- `ResetColor` uses `&'static str` instead of `String`
- Updated crossterm-winapi dependency
2020-01-28 20:20:26 +01:00
Max Sharnoff
e863b7b75f Fix reporting of CTRL + J 2020-01-28 20:18:01 +01:00
Nathan West
7fb8ad6fa1 Cleaned up command macros and StyledContent (#369) 2020-01-17 19:33:55 +01:00
Nathan West
938ec95b40 Command trait ref (#364) 2020-01-14 17:47:32 +01:00
Timon
9da9c1f5ad
CI error fixes (#366)
Fixed identity conversion
Fixed clippy warning
Fixed tokio example compilation
mio upgrade
2020-01-13 07:46:51 +01:00
Timon Post
938c469b76 Allow identical conversion. 2020-01-11 18:19:52 +01:00
Timon Post
391b1886a7 Reverted exhaustive attribute change. 2020-01-11 18:16:45 +01:00
Stefan G
17442caee2 Fix TIOCGWINSZ for FreeBSD (#361) 2020-01-11 17:31:12 +01:00
Max Sharnoff
8a9edc7ecd Change __Nonexhaustive variants to attribute (#353) 2019-12-28 08:09:31 +01:00
Timon
43c977dc4f
Relative windows cursor position (#350) 2019-12-17 13:28:43 -06:00
Canop
aad7aaced8 Avoid double evaluation of expression in handle_command! (#349) 2019-12-16 10:33:50 -06:00
Timon
41ff73e3d3
0.14 (#343) 2019-12-13 07:12:35 +01:00
Timon
71029c4a87
Moved some files around (#342) 2019-12-11 17:10:34 +01:00
Robert Vojta
8fb9059853 Implemented poll Waker. 2019-12-10 20:41:40 +01:00
Timon
b4241e0107
Refactored Screen Module (#336) 2019-12-04 17:40:11 +01:00
Timon
dec0d74b32
Refactored macro's, moved Output, rewrote documentation. (#326) 2019-12-04 17:26:57 +01:00
Robert Vojta
fb5a8f24cc Improve try_read performance & clarity
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-12-04 08:32:26 +01:00
Robert Vojta
d87116a90c Replace FileDesc::read_byte with read
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-12-04 08:32:26 +01:00
Robert Vojta
df73877852 Move skipped_events to InternalEventReader
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-12-04 08:32:26 +01:00
Timon
7dca7b1fcd
Made command fields public (#338) 2019-12-04 07:22:38 +01:00
Timon
5b2ecf3381
Introduced more cursor commands. (#327) 2019-11-29 17:46:50 +01:00
Robert Vojta
a8928d1fda Fix xterm mouse parser
Only two bits represents button state, not three.

Signed-off-by: Robert Vojta <rvojta@me.com>
2019-11-22 13:25:50 +01:00
Timon
9a34b1c1d2
Edited some docs (#324) 2019-11-21 19:40:18 +01:00
Robert Vojta
7333de70a7
Remove all feature flags except event-stream (#322)
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-11-20 14:03:22 +01:00
Zrzka
011a47e93d
Add clippy (#323)
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-11-19 12:18:24 +01:00
Timon
f597cfd232
Input module Rewrite (#284) 2019-11-18 21:50:57 +01:00
Lars Mühmel
bf51821238 Fix the def_str_attr! macro (#319) 2019-11-17 21:31:41 +01:00
Cedric Hutchings
9fdc6318b2 Allow macro trailing comma (#314) 2019-11-14 07:17:10 +01:00
John-John Tedro
9690e5bc38 Remove reader thread in AsyncReader (#309) 2019-11-08 06:53:10 +01:00
Cedric Hutchings
053a027ee6 Grammer. (#313) 2019-11-08 06:50:29 +01:00
Zrzka
827f9c1a72 Add input::stop_reading_thread() fn (#308) 2019-11-04 18:41:27 +01:00
John-John Tedro
0c7212511f Join background thread and avoid looping forever on windows (#307) 2019-11-04 06:50:09 +01:00
Timon
f2a4df20db
Cleanup Some Mess for next Release (#304) 2019-11-01 18:09:05 +01:00
Canop
c23a6ddf38 Add a tput based computation of terminal size (#283) 2019-11-01 17:13:56 +01:00
Timon
3e82d6ae1c
Removed old api Style Module (#299) 2019-10-31 21:02:04 +01:00
Timon
5c36790187
Fixed screen feature flag and updated CI script (#302) 2019-10-31 20:54:14 +01:00
Canop
4ccc240866 Rename PrintStyledFont to PrintStyledContent (#297) 2019-10-30 07:37:57 +01:00
Canop
fe6ddb90f1 Introduce the EnableMouseCapture and DisableMouseCapture commands (#296) 2019-10-29 19:47:22 +01:00
Timon
3ab5b170aa
Terminal remove Deprecated Api (#293) 2019-10-29 09:14:47 +01:00
ebroto
ea7130a419 Refactor the Style Module (#291) 2019-10-27 21:07:09 +01:00
Timon
0479d68f50
Removed old Cursor Api (#289) 2019-10-27 14:33:47 +01:00
Canop
1587d10dc8 Add missing lifetimes (#282) 2019-10-23 15:02:20 +02:00
Canop
dc78b67008 Make KeyEvent implement Copy (#281) 2019-10-23 13:22:01 +02:00
Zrzka
2815833a83 Merge sub crates back into crossterm (#280) 2019-10-22 16:33:38 +02:00
Zrzka
1f9ead9d51 Add missing re-exports (#275) 2019-10-17 22:38:01 +02:00
Timon
edd9189234
Exported ResetColor command (#274) 2019-10-15 20:45:47 +02:00
Robert Vojta
e335a65a40
Update API docs
Signed-off-by: Robert Vojta <rvojta@me.com>
2019-10-02 09:37:49 +02:00
Timon
e600eabaed
0.11.0 2019-09-24 19:45:59 +02:00
Zrzka
5494525d89 2018 edition (#222) 2019-09-16 13:34:08 +02:00
Timon
1a60924abd
Command API experiment (#175)
- Command API to introduce easier usability, better performance, and more control over to which buffer to write, and when to flush the buffer to the terminal.
2019-07-24 20:10:27 +02:00
Andrey Kutejko
7260da18e1 General Improvements (#177) 2019-07-16 19:07:55 +02:00
Caleb Bassi
e1b8da03ba Documentation fixes (#156) 2019-06-21 18:10:46 +02:00
Timon
b8d4255bac
Fixed some Bugs. (#118)
- Terminal size Linux was not 0-based.
- Windows mouse input event position was 0-based and should be 1-based
- Result, ErrorKind are made re-exported
- Fixed some special key combination detections for UNIX systems
- Made FreeBSD compile.
2019-04-17 16:24:58 +02:00
Lazarus Holl
f468cf6a9a Examples Clean-Up (#119) 2019-04-13 14:44:31 +02:00
Timon
1e332daaed
Refactor and API stabilization (#115)
- Major refactor and cleanup.
- Improved performance; 
    - No locking when writing to stdout. 
    - UNIX doesn't have any dynamic dispatch anymore. 
    - Windows has improved the way to check if ANSI modes are enabled.
    - Removed lot's of complex API calls: `from_screen`, `from_output`
    - Removed `Arc<TerminalOutput>` from all internal Api's. 
- Removed termios dependency for UNIX systems.
- Upgraded deps.
- Removed about 1000 lines of code
    - `TerminalOutput` 
    - `Screen`
    - unsafe code
    - Some duplicated code introduced by a previous refactor.
- Raw modes UNIX systems improved     
- Added `NoItalic` attribute
2019-04-10 23:46:30 +02:00
Timon Post
6cdce1bc25 Fixed broken tests, and corrected public export 2019-04-04 18:45:47 +02:00
Timon
b8e75da40a
Update crossterm_style to 0.2 (#107) 2019-03-21 16:00:30 +01:00
Timon
ad74f6b524
Introduced: Crossterm Workspace and feature flags. (#84)
* Introduced: crossterm workspace, feature flags.
2019-01-27 21:16:14 +01:00
Florian Dehau
2ca92e4d3d Make error module public (#78) 2019-01-13 20:52:53 +01:00
Timon Post
2cd56af252 5.4 release commit 2019-01-08 07:23:16 -08:00
Timon
674922f817
Panic after upgrading to 0.5.3 fix (#73) 2019-01-08 13:15:57 +01:00
Timon Post
f70baa5987 fixed wrong version nummber and crucial bug 2019-01-03 11:54:03 -08:00
Timon Post
336ecfe804 Fixed version number in README.MD 2019-01-03 08:49:52 -08:00
Timon Post
e9ed89d855 Release 5.2 2019-01-03 08:39:48 -08:00
Timon Post
33bcad4d23 Release 5.2 2019-01-03 08:39:00 -08:00
Timon
a0464a041d
Docs, cargo, last updates before release (#71)
* Docs, cargo, last updates before release
2019-01-02 07:53:47 -08:00
Isaac Andrade
5515c1433d Add README content to code so rustdoc can build it (#68) 2019-01-02 07:22:44 -08:00
Timon
ad3efbd34d
Error handling (#69)
* Implemented an error module for crossterm and fixed a lot of warnings.
2019-01-01 13:27:50 -08:00
Timon
ff9b5d9a39
Refactored winapi and moved code to (crossterm_winapi) (#67)
* Refactored winapi and moved some code to its own crate (crossterm_winapi).
2018-12-31 10:55:48 -08:00
Jezza
14bd60af78 Implement support attributes support for the windows terminal. (#62) 2018-12-30 15:13:45 -08:00
Timon
ddcda09602
Fixed readline bug (#65)
* Fixed `read_line()` bug Windows
2018-12-28 05:58:09 -08:00
Danny Fritz
0f4ef6faec Typo fix (#57) 2018-12-12 09:36:06 +01:00
Timon Post
d2ed92011c Fixed broken build. 2018-11-28 08:26:33 -08:00
Timon
f369a686ee Refactor and grammer check for all comments. 2018-11-28 16:42:05 +01:00
Steve Klabnik
387c088318 Fix documentation formatting (#53) 2018-11-27 18:39:21 +01:00
Timon
572e842253
Cleanup windows (#52)
* Removed unused imports and ran 'cargo fix'
2018-11-25 06:16:02 -08:00
Timon
ee782cc7a6
RGB and ANSI color for windows 10 suppport. (#51) 2018-11-25 05:46:08 -08:00
Timon
4d2fba2c0d
Doc updates and MdBook (#50)
* Updated readme and docs, and created an MdBook
2018-11-25 14:17:11 +01:00
timonpost@hotmail.nl
49f104d787 Added travis 2018-11-22 16:06:16 +01:00
Timon
b82736912d
Added the ability to pause the terminal (#47) 2018-11-21 22:57:39 +01:00
Timon
f068ae69b1
Cleanup (#45)
* Removed lots of Clippy warnings and `ran cargo fmt`
2018-11-21 17:48:22 +01:00
Timon Post
b717d306c3 Putted Screen behind an Option. Now when you call the functions: color, cursor, terminal, input you won't need to provide a Screen anymore.
When you want to work with the 'alternate screen' you can call the following functions: terminal::from_screen etc. Which will give you an instance to the back of the module you are calling it in.

So instead of:

let color = color(Screen::default());
let cursor = cursor(Screen::default());
let input = input(Screen::default());
let terminal = terminal(Screen::default());

You can do:

let color = color();
let cursor = cursor();
let input = input();
let terminal = terminal();
2018-11-21 07:54:16 -08:00
Timon
ad8b75f448
Fixed bug flush_buf(). (#42)
* Fixed bug flush_buf() issue 42.
2018-11-14 15:13:58 +01:00
timon
cb08b6b984 clean up 2018-10-07 17:16:35 +02:00
=
5dcc6387f1 added unittests, fixed getting terminal position and tested code 2018-09-22 22:42:23 +02:00
TimonPost
a2bb9ecff5 added tests 2018-09-21 22:22:25 +02:00
TimonPost
9bda408e43 Merge branch 'master' into development 2018-09-21 21:36:31 +02:00
TimonPost
a9f47ecebc added tests and method to convert styledobject into displayableobject 2018-09-21 21:36:25 +02:00
TimonPost
3d7748ba3d added tests and method to convert styledobject into displayableobject 2018-09-21 21:36:03 +02:00
TimonPost
a92274c028 added displaying functionality of StyledObject 2018-09-20 22:24:10 +02:00
TimonPost
e0b0e232ea function was not good alligned and removed as_any() and as_any_mut() from output 2018-09-16 12:40:02 +02:00
Eliza Weisman
0eba0e2056 Attempt to make AnsiOutput play nicer with write! 2018-09-16 11:50:32 +02:00
TimonPost
f2581c39c0 Merge branch 'development' of https://github.com/TimonPost/crossterm into development 2018-08-29 22:13:11 +02:00
iCiaran
7afc96fecf Switch width and height 2018-08-29 21:51:50 +02:00
TimonPost
410009dc46 updated doc 2018-08-25 12:00:39 +02:00
TimonPost
c40cdb0774 rounding up 2018-08-25 11:24:51 +02:00
TimonPost
ff41d4f244 fixed some bugs, checked documentation and incremented version number 2018-08-24 23:44:34 +02:00
TimonPost
9102108b3a changes 2018-08-24 18:49:25 +02:00
=
a0cf8907a5 changed mut third try .... 2018-08-24 18:37:34 +02:00
TimonPost
a98a13b7de changes 2018-08-24 18:29:55 +02:00
TimonPost
c9c0a4efac merge 2018-08-23 23:01:33 +02:00
TimonPost
ce15004975 added drop disable 2018-08-23 22:59:51 +02:00
=
b70996dcf4 fix 2018-08-23 22:20:11 +02:00
=
f1959589c8 some fixes 2018-08-23 22:16:31 +02:00
=
99fffee6b3 fixed raw mode 2018-08-23 18:15:18 +02:00
TimonPost
cc55c190d8 Removed downcast for HANDLE WinAPi. Also we do not need to keep track of current HANDLE since this will now be gotton from CreateFileW 2018-08-22 19:58:30 +02:00
TimonPost
c848beb721 Added Sync markers 2018-08-21 21:17:53 +02:00
=
5b0a6dddaa bug fixe 2018-08-21 18:22:22 +02:00
=
33d587817e Merge branch 'development' of https://github.com/TimonPost/crossterm into development 2018-08-21 18:07:01 +02:00
=
50cff8f413 Fixed unix errors 2018-08-21 18:06:52 +02:00
TimonPost
a8de072a0a windows changes 2018-08-21 18:05:53 +02:00
TimonPost
a367169bb7 Shitload unused iports and unused mut removed alos renamed some variables 2018-08-19 23:42:48 +02:00
TimonPost
f64a405236 Refactor 2018-08-19 23:14:45 +02:00
TimonPost
685bc5e961 Refactor 2018-08-19 23:13:21 +02:00
=
a6149f75f3 fixed unix code 2018-08-18 15:06:14 +02:00
TimonPost
b884891970 comment 2018-08-18 14:40:55 +02:00
TimonPost
81aa62b6ce maked stdout sync and send and tested it 2018-08-18 14:38:59 +02:00
TimonPost
18103fced3 changes 2018-08-18 12:54:06 +02:00
TimonPost
bb39591150 Overall commend improvement 2018-08-14 23:02:25 +02:00
TimonPost
f7c6f36a46 Changed Crossterm type so that the user does not have to enter a reference to a Screen every function call and also updated the readme, docs,comments,examples 2018-08-14 21:40:07 +02:00
=
d23ef22a58 Updated all examples and comments tested unix logic 2018-08-13 21:04:07 +02:00
Timon
f31bb1a656 Unix errors fixed and started with testing 2018-08-12 20:41:08 +00:00
TimonPost
23dc4f661e Tested all windows logic also fixed bug with resetting terminal color. 2018-08-12 14:51:08 +02:00
TimonPost
e1bbf1689f some examples fixed added multy threaded logging example and tested input and changed styling system 2018-08-11 17:58:15 +02:00
TimonPost
406f2046f9 maked crossterm sendable for threads 2018-07-31 23:05:45 +02:00
TimonPost
14ecd33f11 merge fixes 2018-07-31 23:01:28 +02:00
TimonPost
5c5db7fdb0 started working on refactoring examples 2018-07-31 22:53:08 +02:00
Jojolepro
518dcadd15 Moved files around. Added duplex example (broken). Broke alternate screen trying to add compat. 2018-07-31 22:50:51 +02:00
TimonPost
2eb6b1cd55 fixed write ansi code in pos() for unix 2018-07-29 23:17:42 +02:00
TimonPost
bf0f330b8f added paint to crossterm type. And changed some methods names 2018-07-29 23:14:28 +02:00
Timon
fc61ef778f Fixed unix code 2018-07-29 21:02:02 +00:00
TimonPost
3a02d9b7c0 Windows done with RC refactor unix yet to be tested 2018-07-29 21:46:15 +02:00
TimonPost
b3081fd9c0 added examples and changed comments 2018-07-29 21:30:09 +02:00
Timon
54bab51976 unix errors fixed 2018-07-28 17:46:05 +00:00
TimonPost
6970dfadd8 refactored all code and canged name spaces and moved code to other modules. 2018-07-28 19:26:35 +02:00
Timon
8f160713bb Fixed unix code after refactoring windows cursor, input, rawscreen, alternate screen 2018-07-28 08:37:21 +00:00
TimonPost
c7603fe79d removed git merge indicator 2018-07-28 10:17:25 +02:00
TimonPost
86a82a33cd fix merge confilict 2018-07-28 10:09:09 +02:00
TimonPost
1ff70a9653 started working on refactoringterminal 2018-07-28 09:54:05 +02:00
TimonPost
26472359bc fixed input and cursor with new implementation 2018-07-27 22:28:30 +02:00
TimonPost
d7387ed227 rebase 2018-07-27 18:44:38 +02:00
TimonPost
403d0668a7 Created terminal type and changed alternate and raw screen 2018-07-27 18:37:31 +02:00
Timon
1a64a21df2 unix fixed not fully tested jet 2018-07-26 16:25:20 +00:00
TimonPost
d38f406dc7 Refactored WinApi code 2018-07-24 18:06:17 +02:00
TimonPost
2cc40d5d28 refactored winapi code 2018-07-22 14:55:14 +02:00