Compare commits

...

1 Commits

Author SHA1 Message Date
Ahmad
10aeccff1a feat: added deref impl for backend types 2023-07-04 13:31:20 -07:00
2 changed files with 33 additions and 1 deletions

View File

@@ -5,7 +5,10 @@
//! [`Backend`]: trait.Backend.html
//! [`CrosstermBackend`]: struct.CrosstermBackend.html
use std::io::{self, Write};
use std::{
io::{self, Write},
ops::{Deref, DerefMut},
};
use crossterm::{
cursor::{Hide, MoveTo, Show},
@@ -71,6 +74,20 @@ where
}
}
impl<W: Write> Deref for CrosstermBackend<W> {
type Target = W;
fn deref(&self) -> &Self::Target {
&self.buffer
}
}
impl<W: Write> DerefMut for CrosstermBackend<W> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.buffer
}
}
impl<W> Backend for CrosstermBackend<W>
where
W: Write,

View File

@@ -7,6 +7,7 @@
use std::{
fmt,
io::{self, Write},
ops::{Deref, DerefMut},
};
use crate::{
@@ -61,6 +62,20 @@ where
}
}
impl<W: Write> Deref for TermionBackend<W> {
type Target = W;
fn deref(&self) -> &Self::Target {
&self.stdout
}
}
impl<W: Write> DerefMut for TermionBackend<W> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.stdout
}
}
impl<W> Backend for TermionBackend<W>
where
W: Write,