Commit Graph

298 Commits

Author SHA1 Message Date
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
Timon
9df976ed29 added read_char, read_line, read_async, read_async until for unix. Not 100% tested. 2018-07-21 11:11:31 +00:00
TimonPost
07502c016d read line, read char, read async and read async until implemented for windows 2018-07-20 18:00:46 +02:00
TimonPost
fcc4ca31bc base implementation for input 2018-07-19 15:11:36 +02:00
TimonPost
f4d2ab4feb fixed examples 0.3.0 2018-07-18 22:32:17 +02:00
TimonPost
8a3b8b8ce7 removed target, updated version number to 0.3.0 2018-07-15 23:08:10 +02:00
TimonPost
10f3ccb07b . 2018-07-14 23:02:02 +02:00
TimonPost
787b4aa1b3 Added release notes, docs, readme changed almost done for release 0.2.3 2018-07-12 23:36:30 +02:00
Timon
dd7b191c23 unix tested 2018-07-12 17:48:13 +00:00
TimonPost
683ec5c9cb refactor, created examples and tested code 2018-07-11 22:59:54 +02:00
TimonPost
cc47d8788a Added docs and Result<> to write methods 2018-07-11 19:43:12 +02:00
Timon
f962fe4040 Fixed unix 2018-07-09 17:37:07 +00:00
TimonPost
e62d8cff9d Alternate screen working for windows, created reallife example with firstdepthsearch and started commenting all types not done yet with that. 2018-07-08 22:13:32 +02:00
TimonPost
26a1960159 Windows alternate screen working. color implementation for alternate screen fixed. And all functionalities for the main screen should also work 2018-07-03 22:48:04 +02:00
TimonPost
223b353101 runned cargo fmt on crate code 2018-07-01 22:43:43 +02:00
TimonPost
4a943c124e Added alternatescreen functionalilty, and added options to terminate the current process. also added write option to the terminal module 2018-07-01 22:40:07 +02:00
TimonPost
621d698ac6 Alternate screen windows working. Only have to change the code to call get_current_handle() instead of get_output_hanlde() 2018-06-26 22:13:18 +02:00
TimonPost
7544578122 Some fixes 2018-06-26 21:28:25 +02:00
TimonPost
bac86aefea Merge branch 'development' of https://github.com/TimonPost/crossterm into development 2018-06-26 20:58:03 +02:00
Timon
2a50c02b12 :: 2018-06-26 18:56:34 +00:00
TimonPost
2f5d2113af Merge branch 'development' of https://github.com/TimonPost/crossterm into development 2018-06-26 20:30:33 +02:00
Timon
043bac575f exit current proccess added 2018-06-26 18:21:47 +00:00
Timon
46e7ad720f fixed unix compile error 2018-06-26 16:48:50 +00:00
TimonPost
a200b68416 Merge branch 'development' of https://github.com/TimonPost/crossterm into development 2018-06-25 20:39:05 +02:00
Timon
56ed082bf3 Fixed unix code after working on windows 2018-06-25 18:37:46 +00:00
TimonPost
67629bf270 b 2018-06-25 20:01:06 +02:00
TimonPost
d714817539 added blink functionality for cursor. Fixed alternate screen for windows not fully working 2018-06-23 19:48:22 +02:00
TimonPost
7e1879f80c Some changes 2018-06-22 21:52:53 +02:00
TimonPost
62fbb6b6a9 added unix cursor hide show, fixed windows and added alternate screen
functionality. Also refactored and cleaned up code.:
2018-06-22 21:04:30 +02:00
TimonPost
bb2067ed7b Maked windows compilable and worked on the screen manager for windows. 2018-06-18 22:10:41 +02:00
Felix Yan
930a47d7e8 Fix a typo in lib.rs 2018-06-17 08:30:20 +02:00
=
2a40d10ae9 refactored code comments fixed examples and invalid comments. Also added documentation 2018-06-16 20:10:51 +02:00
=
48a429a396 added alternate screen for unix working on raw screen featuresbash: wq: command not found 2018-06-13 21:02:09 +02:00
Timon
f63c58b889
Update win_commands.rs
Removed panic! lines. See [this](https://github.com/TimonPost/crossterm/issues/15) issue
2018-06-13 18:47:58 +02:00
=
3878993459 Removed all unused namespaces 2018-06-09 23:19:02 +02:00
=
17616100df Added alternate screen support for unix systems 2018-06-09 21:59:43 +02:00
TimonPost
df86426c93 Changed module names and some method names to make the calls more cleaner. Fixed get cursor position for unix. Default ansi codes if not supported winapi will be used. 2018-05-20 14:08:14 +02:00
T
4c14ad836b Refactored namespaces. Added comments where needed. Alternatescreen is
working for windows 10 terminals. Refactored usings. Rearanged usings.
Raw Mode / alternate screeen windows yet to be tested. Added examples.
Refactored code
2018-03-10 17:33:06 +01:00
=
03bca7fe76 Resolve all errors unix. Now it is time to test 2018-03-05 22:06:43 +01:00
=
a0a56ffb92 resolved some errors on unix system. code refactor will come when every ting is working again 2018-03-03 23:38:57 +01:00
Timon Post
2cc32394b5 Some errors solved for unix 2018-03-03 17:07:51 +01:00
T
524955f8c0 } 2018-03-03 15:40:51 +01:00
T
215d0cfa83 Use default ANSI for windows, if current windows does not support ANSI switch back to WINAPI. Unix is not tested yet. Notice that currently the console will be set to another mode and that ther is no way back, when ansi is enabled. Storing the old state of the terminal and enable the client to switsh back to the old state will likely be inplemented in crossterm 0.3.0 2018-02-03 17:17:28 +01:00
T
4212e728d5 Issue #3 and #4 are now solved, windows tested unix not yet 2018-01-30 21:20:11 +01:00
T
752ee2ef59 Windows tested 2018-01-27 18:48:49 +01:00
Timon Post
6be5a41204 Added RGB and curstom ANSI value support, and tested resize terminal, safe and restore cursor position for unix terminals. And added options put attributes on font. 2018-01-27 18:26:08 +01:00
T
0df9ad1015 Added resizing terminal. Styling font with attributes for unix systems inplemented. Windows kernel refactored and cleared out some grammer mistakes. (Windows tested and unix jet to be tested). 2018-01-25 18:26:08 +01:00
T
39b63822ae Winapi upgrade, windows tested again edited readme 2018-01-18 22:47:09 +01:00
Timon Post
6c4f39a0ce Crossterm works for unix now, refactored all comments and refactored code. Changed names, Making things ready for crossterm release 0.1 2018-01-17 23:06:45 +01:00
T
8b5d34c866 Created better documentation and formatted code 2018-01-09 20:36:48 +01:00
T
37670c7fbb Clear until nextline and currentline windows functionality added 2018-01-07 15:26:20 +01:00
T
3b4b6fb11a Added terminal size, screen clearing functionality, refactored winkernel and done with mouse position 2018-01-06 21:31:14 +01:00
T
638517981a Initial commit 2018-01-03 14:43:54 +01:00