editor: Do not autoindent on line removals in vim mode. (#9332)

Fixes #8942

Release Notes:

- Fixed overeager auto-indentation on line removals in Vim mode.
This commit is contained in:
Piotr Osiewicz
2024-03-14 13:23:33 +01:00
committed by GitHub
parent 51261c553f
commit b795b0eb77
+5 -7
View File
@@ -101,6 +101,7 @@ use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsStore};
use smallvec::SmallVec;
use snippet::Snippet;
use std::ops::Not as _;
use std::{
any::TypeId,
borrow::Cow,
@@ -2951,13 +2952,10 @@ impl Editor {
}
pub fn insert(&mut self, text: &str, cx: &mut ViewContext<Self>) {
self.insert_with_autoindent_mode(
text,
Some(AutoindentMode::Block {
original_indent_columns: Vec::new(),
}),
cx,
);
let autoindent = text.is_empty().not().then(|| AutoindentMode::Block {
original_indent_columns: Vec::new(),
});
self.insert_with_autoindent_mode(text, autoindent, cx);
}
fn insert_with_autoindent_mode(