Commit Graph

358 Commits

Author SHA1 Message Date
Koxiaet
6c0f8ebcf6
Fix clippy warnings (#533) 2021-01-02 15:24:34 +01:00
Koxiaet
6a1114b241
Support taking any Display in SetTitle (#528) 2020-12-30 18:50:44 +01:00
Timon
e46decc2f3
Fix wrong resize size return (#526) 2020-12-28 10:15:50 +01:00
Kartoffelsaft
744ec05f19
Add support for combining some modifier keys (#518) 2020-12-28 09:59:44 +01:00
Koxiaet
0797441893
Make imports & docs more consistent (#524) 2020-12-28 09:47:20 +01:00
Koxiaet
5be7d18475
Replace AnsiType with write_ansi (#523) 2020-12-28 07:56:32 +01:00
Koxiaet
52bed07ce8
Simplify ansi_support (#522) 2020-12-26 19:31:34 +01:00
AlephAlpha
8f6ba34349
Derive PartialEq and Eq for ContentStyle (#519) 2020-12-05 11:07:16 +01:00
Koxiaet
e5d3959119
Add support for any event tracking (#502) 2020-11-22 13:52:15 +01:00
Carl-Erwin Griffith
30ce6364a9
Fix InternalEventReader::poll timeout computation (#511) 2020-11-14 10:48:42 +01:00
quininer
4eee9187d8
Use a single thread for event stream (#503) 2020-11-03 10:39:47 +01:00
David Sherret
901070f138
Fix panic when only setting bold and redirecting stdout. (#498) 2020-10-28 21:29:01 +01:00
Andrea Jemmett
aa8436e41a
Use tty_fd for set/get terminal attributes (#501) 2020-10-24 16:38:03 +02:00
David Sherret
4b1c857914
Fix enabling ANSI support when stdout is redirected. (#497) 2020-10-10 22:03:12 +02:00
Max Sharnoff
efb06b8baa
improve formatting for color parsing docs (#496) 2020-10-10 09:32:18 +02:00
Max Sharnoff
6730e4050a
Add links to submodules in crate-level docs (#492) 2020-09-29 09:11:27 +02:00
Sebastian Thiel
4c7abf6109
Fix formatting (#493) 2020-09-29 09:09:24 +02:00
Timon
4a6c8efdca
Sync Backtab to also include pressed SHIFT (#490) 2020-09-21 09:23:38 +02:00
sigmaSd
2857b30f24
Fix ALT + numbers and ignore invalid keys (#488) 2020-09-18 14:52:27 +02:00
sigmaSd
729f3c6931
Expose supports_ansi (#489) 2020-09-17 13:36:08 +02:00
vojta7
34a6e414f6
Added enabling/disabling line wrap. (#485) 2020-09-11 10:19:41 +02:00
truchi
93a5d880d8
StyledContent::fmt: reseting foreground/background on their own (#483) 2020-09-11 10:17:57 +02:00
Blaž Hrastnik
c01693ff78
Rely on futures-core instead of futures-util to speed up compile. (#480) 2020-09-08 08:42:41 +02:00
hagsteel
53afe55612
Update event.rs (#479) 2020-09-08 08:40:56 +02:00
Michael McDonnell
7732861e4d
Fix clippy warnings (#477) 2020-09-06 20:38:17 +02:00
Michael McDonnell
27a9d7d521
Fix move by zero (#476) 2020-09-06 14:05:46 +02:00
Michael McDonnell
c7d8fa3bc1
Fix spelling (#475)
Fixed the spelling in a few comments.
2020-09-01 22:07:12 +02:00
truchi
0b429e5dcf
Incoherent derived traits (#471) 2020-08-03 08:06:09 +02:00
sigmaSd
32215ec7f5
Grand writer access for winapi commands. 2020-07-20 12:58:04 +02:00
Timon
6326795700
Get position bug fixed (#465) 2020-07-13 21:32:56 +02:00
Arne Beer
30b7d99364
Add more documentation about the IsTty trait (#461) 2020-07-12 12:16:18 +02:00
Nathan Kessler
5365bf976c
Remove unnecessary apostrophe from doc (#463) 2020-07-12 12:15:23 +02:00
Timon
5e1c214f8c
0.17.6 2020-07-06 19:57:35 +02:00
Max Sharnoff
13e0d012ce
Implement styler traits for &'a str (#449) 2020-07-06 19:46:43 +02:00
Jacob O'Toole
9d9dfeae26
Add ANSI color parsing and expose Colored enum (#451) 2020-07-06 19:14:53 +02:00
Sebastian Thiel
d80afb51be
Switch from 'futures' to 'futures-util' crate to reduce dependency count (#454) 2020-07-06 19:10:43 +02:00
Timon
c5fc1a1493
Mio 0.7.0 update (#435) 2020-07-02 15:06:38 +02:00
Barret Rennie
dfafcc09ac
Make windows raw_mode act on CONIN$ 2020-07-02 13:52:09 +02:00
Cowboy8625
b9c8dcdbfa
Added From<(u8, u8, u8)> Trait to Color::Rgb Enum. (#440) 2020-06-10 13:35:06 +02:00
Odin Dutton
5511f85d50
Implement Color::try_from() (#439) 2020-05-28 19:08:30 +02:00
Andrey Kutejko
1dffc4f955
Parse key modifiers (#426)
- Improved key modifier support.
2020-05-18 19:12:31 +02:00
Timon
bc1f913487
Fixed compile error linux. (#434) 2020-05-18 19:01:39 +02:00
Matheus Lessa Rodrigues
88add302cd
Implementing SetTitle command (#429) 2020-05-16 07:41:43 +02:00
Max Sharnoff
43fbdfce0d
Add macros for Colorize and Styler impls, add an impl for String (#420) 2020-04-24 19:47:38 +02:00
Stephan Dilly
d4fc75cca1
Add shift modifier to uppercase char events on unix (#423) 2020-04-24 07:19:23 +02:00
Bill
128eddeafc
fix single typo (#417) 2020-04-11 07:43:00 +02:00
m-lima
1dd20f3ada
Issue 406: Keep FileDesc alive long enough for ioctl to work (#413) 2020-04-09 19:34:45 +02:00
Nathan Wilson
3efa8b9477
Removed some unnecessary parentheses and braces. (#409) 2020-04-04 09:21:18 +02:00
Jan Hlavatý
428519994c
Fix handling of unicode characters > 255 (#411) 2020-04-04 09:19:20 +02:00
Timon
58ef32b40a
Is terminal a tty and reverted feature from 0.17 which introduced a bug. (#405) 2020-03-28 18:38:07 +01:00
Timon
9c9543d454
0.17 (#403) 2020-03-24 22:00:23 +01:00
Riey
67a6667929
Impl Display for MoveToColumn, MoveToNextLine, MoveToPreviousLine (#399) 2020-03-11 17:21:44 +01:00
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