aboutsummaryrefslogtreecommitdiff
path: root/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/input.rs')
-rw-r--r--src/input.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/input.rs b/src/input.rs
index 6d4d3ab9..ffa19fa8 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -23,6 +23,8 @@
//! APIs
//!
//! TODO handling xmodmap would be good
+use std::io::Write;
+
use glutin::{ElementState, VirtualKeyCode};
use term::mode::{self, TermMode};
@@ -108,6 +110,15 @@ pub trait Notify {
fn notify(&mut self, &str);
}
+/// A notifier type that simply writes bytes to the provided `Write` type
+pub struct WriteNotifier<'a, W: Write + 'a>(pub &'a mut W);
+
+impl<'a, W: Write> Notify for WriteNotifier<'a, W> {
+ fn notify(&mut self, message: &str) {
+ self.0.write(message.as_bytes()).unwrap();
+ }
+}
+
/// Describes a key combination that should emit a control sequence
///
/// The actual triggering key is omitted here since bindings are grouped by the trigger key.