aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/events.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src/events.rs')
-rw-r--r--helix-term/src/events.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/helix-term/src/events.rs b/helix-term/src/events.rs
new file mode 100644
index 00000000..49b44f77
--- /dev/null
+++ b/helix-term/src/events.rs
@@ -0,0 +1,20 @@
+use helix_event::{events, register_event};
+use helix_view::document::Mode;
+use helix_view::events::{DocumentDidChange, SelectionDidChange};
+
+use crate::commands;
+use crate::keymap::MappableCommand;
+
+events! {
+ OnModeSwitch<'a, 'cx> { old_mode: Mode, new_mode: Mode, cx: &'a mut commands::Context<'cx> }
+ PostInsertChar<'a, 'cx> { c: char, cx: &'a mut commands::Context<'cx> }
+ PostCommand<'a, 'cx> { command: & 'a MappableCommand, cx: &'a mut commands::Context<'cx> }
+}
+
+pub fn register() {
+ register_event::<OnModeSwitch>();
+ register_event::<PostInsertChar>();
+ register_event::<PostCommand>();
+ register_event::<DocumentDidChange>();
+ register_event::<SelectionDidChange>();
+}