diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 1d40fe4281..2bee666ef2 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1810,6 +1810,14 @@ impl Editor { pub fn move_to_snippet_tabstop(&mut self, bias: Bias, cx: &mut ViewContext) -> bool { let buffer = self.buffer.read(cx).snapshot(cx); let old_selections = self.local_selections::(cx); + + for (ix, region_state) in self.action_region_stack.iter().enumerate().rev() { + if let ActionRegionState::Snippet { .. } = region_state { + self.action_region_stack.truncate(ix + 1); + break; + } + } + if let Some(region_state) = self.action_region_stack.last_mut() { if let ActionRegionState::Snippet { ranges,