Commit Graph

256 Commits

Author SHA1 Message Date
Atanas Yankov
52b9d479c1
Termsize fallback (#398)
* Fallback if /dev/tty is missing
2020-03-11 10:12:15 +01:00
Riey
9c9479deb2
Direct write command ansi_codes (#390) 2020-03-10 13:38:38 +01:00
Ron B
e620c6b8be
Add NONE flag to KeyModifiers (#392) 2020-03-10 13:37:02 +01:00
Alexander Rodin
33b90c85c9
Fix links in the docs (#391) 2020-02-29 14:16:03 +01:00
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