Get tests passing after diagnostic + selection changes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
parent
418a9a3d66
commit
52b8e3d1a2
3 changed files with 39 additions and 4 deletions
|
@ -5948,6 +5948,11 @@ mod tests {
|
||||||
.update(cx, |display_map, cx| display_map.snapshot(cx));
|
.update(cx, |display_map, cx| display_map.snapshot(cx));
|
||||||
self.selections
|
self.selections
|
||||||
.iter()
|
.iter()
|
||||||
|
.chain(
|
||||||
|
self.pending_selection
|
||||||
|
.as_ref()
|
||||||
|
.map(|pending| &pending.selection),
|
||||||
|
)
|
||||||
.map(|s| {
|
.map(|s| {
|
||||||
if s.reversed {
|
if s.reversed {
|
||||||
s.end.to_display_point(&display_map)..s.start.to_display_point(&display_map)
|
s.end.to_display_point(&display_map)..s.start.to_display_point(&display_map)
|
||||||
|
|
|
@ -163,18 +163,18 @@ impl MultiBuffer {
|
||||||
self.subscriptions.subscribe()
|
self.subscriptions.subscribe()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn edit<I, S, T>(&mut self, ranges_iter: I, new_text: T, cx: &mut ModelContext<Self>)
|
pub fn edit<I, S, T>(&mut self, ranges: I, new_text: T, cx: &mut ModelContext<Self>)
|
||||||
where
|
where
|
||||||
I: IntoIterator<Item = Range<S>>,
|
I: IntoIterator<Item = Range<S>>,
|
||||||
S: ToOffset,
|
S: ToOffset,
|
||||||
T: Into<String>,
|
T: Into<String>,
|
||||||
{
|
{
|
||||||
self.edit_internal(ranges_iter, new_text, false, cx)
|
self.edit_internal(ranges, new_text, false, cx)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn edit_with_autoindent<I, S, T>(
|
pub fn edit_with_autoindent<I, S, T>(
|
||||||
&mut self,
|
&mut self,
|
||||||
ranges_iter: I,
|
ranges: I,
|
||||||
new_text: T,
|
new_text: T,
|
||||||
cx: &mut ModelContext<Self>,
|
cx: &mut ModelContext<Self>,
|
||||||
) where
|
) where
|
||||||
|
@ -182,7 +182,7 @@ impl MultiBuffer {
|
||||||
S: ToOffset,
|
S: ToOffset,
|
||||||
T: Into<String>,
|
T: Into<String>,
|
||||||
{
|
{
|
||||||
self.edit_internal(ranges_iter, new_text, true, cx)
|
self.edit_internal(ranges, new_text, true, cx)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn edit_internal<I, S, T>(
|
pub fn edit_internal<I, S, T>(
|
||||||
|
@ -196,6 +196,20 @@ impl MultiBuffer {
|
||||||
S: ToOffset,
|
S: ToOffset,
|
||||||
T: Into<String>,
|
T: Into<String>,
|
||||||
{
|
{
|
||||||
|
if let Some(buffer) = self.as_singleton() {
|
||||||
|
let snapshot = self.read(cx);
|
||||||
|
let ranges = ranges_iter
|
||||||
|
.into_iter()
|
||||||
|
.map(|range| range.start.to_offset(&snapshot)..range.end.to_offset(&snapshot));
|
||||||
|
return buffer.update(cx, |buffer, cx| {
|
||||||
|
if autoindent {
|
||||||
|
buffer.edit_with_autoindent(ranges, new_text, cx)
|
||||||
|
} else {
|
||||||
|
buffer.edit(ranges, new_text, cx)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let snapshot = self.read(cx);
|
let snapshot = self.read(cx);
|
||||||
let mut buffer_edits: HashMap<usize, Vec<(Range<usize>, bool)>> = Default::default();
|
let mut buffer_edits: HashMap<usize, Vec<(Range<usize>, bool)>> = Default::default();
|
||||||
let mut cursor = snapshot.excerpts.cursor::<usize>();
|
let mut cursor = snapshot.excerpts.cursor::<usize>();
|
||||||
|
|
|
@ -518,6 +518,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'A'".to_string(),
|
message: "undefined variable 'A'".to_string(),
|
||||||
|
group_id: 0,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -526,6 +528,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'BB'".to_string(),
|
message: "undefined variable 'BB'".to_string(),
|
||||||
|
group_id: 1,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -534,6 +538,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'CCC'".to_string(),
|
message: "undefined variable 'CCC'".to_string(),
|
||||||
|
group_id: 2,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -602,6 +608,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'A'".to_string(),
|
message: "undefined variable 'A'".to_string(),
|
||||||
|
group_id: 0,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -610,6 +618,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::WARNING,
|
severity: DiagnosticSeverity::WARNING,
|
||||||
message: "unreachable statement".to_string(),
|
message: "unreachable statement".to_string(),
|
||||||
|
group_id: 1,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -687,6 +697,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'BB'".to_string(),
|
message: "undefined variable 'BB'".to_string(),
|
||||||
source: Some("disk".to_string()),
|
source: Some("disk".to_string()),
|
||||||
|
group_id: 1,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -696,6 +708,8 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'A'".to_string(),
|
message: "undefined variable 'A'".to_string(),
|
||||||
source: Some("disk".to_string()),
|
source: Some("disk".to_string()),
|
||||||
|
group_id: 0,
|
||||||
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -714,6 +728,7 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'A'".to_string(),
|
message: "undefined variable 'A'".to_string(),
|
||||||
|
source: Some("disk".to_string()),
|
||||||
group_id: 0,
|
group_id: 0,
|
||||||
is_primary: true,
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
@ -724,6 +739,7 @@ async fn test_diagnostics(mut cx: gpui::TestAppContext) {
|
||||||
diagnostic: Diagnostic {
|
diagnostic: Diagnostic {
|
||||||
severity: DiagnosticSeverity::ERROR,
|
severity: DiagnosticSeverity::ERROR,
|
||||||
message: "undefined variable 'BB'".to_string(),
|
message: "undefined variable 'BB'".to_string(),
|
||||||
|
source: Some("disk".to_string()),
|
||||||
group_id: 1,
|
group_id: 1,
|
||||||
is_primary: true,
|
is_primary: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue