diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index 354044706b2af424880fa48b023ef7f4ee80de11..99aa5ca4df229e5efae14c658ebabee6d5447f74 100644 --- a/crates/terminal/src/terminal.rs +++ b/crates/terminal/src/terminal.rs @@ -1911,6 +1911,10 @@ impl Terminal { } } } + + pub fn vi_mode_enabled(&self) -> bool { + self.vi_mode_enabled + } } // Helper function to convert a grid row to a string diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 66635b12f5faf18507b95939b265a1ff13d5b5df..20619f73fdfc7752f409631d5a5dde712a175ff7 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -590,6 +590,10 @@ impl TerminalView { let mut dispatch_context = KeyContext::new_with_defaults(); dispatch_context.add("Terminal"); + if self.terminal.read(cx).vi_mode_enabled() { + dispatch_context.add("vi_mode"); + } + let mode = self.terminal.read(cx).last_content.mode; dispatch_context.set( "screen",