Below is the error message I got before this patch:
error[E0308]: mismatched types
--> src/sys/unix/size.rs:17:34
|
17 | cvt(ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut size as *mut _))?;
| ^^^^^^^^^^ expected u64, found u32
help: you can cast an `u32` to `u64`, which will zero-extend the source value
|
17 | cvt(ioctl(STDOUT_FILENO, TIOCGWINSZ.into(), &mut size as *mut _))?;
| ^^^^^^^^^^^^^^^^^
The import of std::ascii::AsciiExt in src/event.rs is unused. Remove it.
> warning: unused import: `std::ascii::AsciiExt`
> --> src/event.rs:4:5
> |
> 4 | use std::ascii::AsciiExt;
> | ^^^^^^^^^^^^^^^^^^^^
> |
> = note: #[warn(unused_imports)] on by default
This change removes an unused 'mut' qualifier of the 'source' variable
in src/input.rs.
> warning: variable does not need to be mutable
> --> src/input.rs:52:13
> |
> 52 | let mut source = &mut self.source;
> | ----^^^^^^
> | |
> | help: remove this `mut`
> |
> = note: #[warn(unused_mut)] on by default
- In addition to Events it preserves the byte sequence that created an event. This
is useful, e.g., for implementing a terminal multiplexer where the raw input
should in some cases be passed on to another tty.
- In order to ensure backwards compatibility, the function that creates the trait
is implemented in a separate extension trait.
This solves #85 in a similar fashion as the color amount detection: the
cursor module now provides a trait that adds a `cursor_pos()` method to
an instance of `Write`. It also corrects that previous implementation
somewhat by making the `CONTROL_SEQUENCE_TIMEOUT` a member of the raw
module and implementing `DetectColors` for any instance of `Write`
rather than just `RawTerminal` (`MouseTerminal` for instance works as
well).
* Add (optional) support for alternate screen (#77)
The user can manually switch between main and alternate screen or
(preferably) use the wrapper struct for automatic screen restoration.
* Add two examples for screen switching
* Improve screen module documentation
* Added color support detection
Color support is inferred by using either OSC 4 escape codes or the
value of TERM.
* minor refactor and cosmetic changes
`std::io::Write` doesn't guarantees that it will write everything,
and could even return a non-fatal `ErrorKind::Interrupted` error.
`write_all` has exactly the code required to deal with this.