fix: do not pass extra argument
This commit is contained in:
parent
2b28ce94be
commit
4b5da9e667
5 changed files with 27 additions and 36 deletions
|
@ -1649,15 +1649,12 @@ impl Editor {
|
|||
}
|
||||
Action::HorizontalSplit | Action::VerticalSplit => {
|
||||
// copy the current view, unless there is no view yet
|
||||
let config = self.config();
|
||||
let gutters = config.gutters.clone();
|
||||
let enable_diagnostics = config.enable_diagnostics;
|
||||
let view = self
|
||||
.tree
|
||||
.try_get(self.tree.focus)
|
||||
.filter(|v| id == v.doc) // Different Document
|
||||
.cloned()
|
||||
.unwrap_or_else(|| View::new(id, gutters, enable_diagnostics));
|
||||
.unwrap_or_else(|| View::new(id, self.config().gutters.clone()));
|
||||
let view_id = self.tree.split(
|
||||
view,
|
||||
match action {
|
||||
|
@ -1831,11 +1828,7 @@ impl Editor {
|
|||
.map(|(&doc_id, _)| doc_id)
|
||||
.next()
|
||||
.unwrap_or_else(|| self.new_document(Document::default(self.config.clone())));
|
||||
let view = View::new(
|
||||
doc_id,
|
||||
self.config().gutters.clone(),
|
||||
self.config().enable_diagnostics,
|
||||
);
|
||||
let view = View::new(doc_id, self.config().gutters.clone());
|
||||
let view_id = self.tree.insert(view);
|
||||
let doc = doc_mut!(self, &doc_id);
|
||||
doc.ensure_view_init(view_id);
|
||||
|
|
|
@ -346,7 +346,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_default_gutter_widths() {
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
|
@ -371,7 +371,7 @@ mod tests {
|
|||
..Default::default()
|
||||
};
|
||||
|
||||
let mut view = View::new(DocumentId::default(), gutters, true);
|
||||
let mut view = View::new(DocumentId::default(), gutters);
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
|
@ -389,7 +389,7 @@ mod tests {
|
|||
line_numbers: GutterLineNumbersConfig { min_width: 10 },
|
||||
};
|
||||
|
||||
let mut view = View::new(DocumentId::default(), gutters, true);
|
||||
let mut view = View::new(DocumentId::default(), gutters);
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
|
@ -411,7 +411,7 @@ mod tests {
|
|||
line_numbers: GutterLineNumbersConfig { min_width: 1 },
|
||||
};
|
||||
|
||||
let mut view = View::new(DocumentId::default(), gutters, true);
|
||||
let mut view = View::new(DocumentId::default(), gutters);
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
|
||||
let rope = Rope::from_str("a\nb");
|
||||
|
|
|
@ -69,13 +69,13 @@ pub struct DiagnosticsHandler {
|
|||
// but to fix that larger architecutre changes are needed
|
||||
impl Clone for DiagnosticsHandler {
|
||||
fn clone(&self) -> Self {
|
||||
Self::new(self.active)
|
||||
Self::new()
|
||||
}
|
||||
}
|
||||
|
||||
impl DiagnosticsHandler {
|
||||
#[allow(clippy::new_without_default)]
|
||||
pub fn new(enable_diagnostics: bool) -> Self {
|
||||
pub fn new() -> Self {
|
||||
let active_generation = Arc::new(AtomicUsize::new(0));
|
||||
let events = DiagnosticTimeout {
|
||||
active_generation: active_generation.clone(),
|
||||
|
|
|
@ -736,22 +736,22 @@ mod test {
|
|||
width: 180,
|
||||
height: 80,
|
||||
});
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(0, 0, 180, 80);
|
||||
tree.insert(view);
|
||||
|
||||
let l0 = tree.focus;
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
let r0 = tree.focus;
|
||||
|
||||
tree.focus = l0;
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Horizontal);
|
||||
let l1 = tree.focus;
|
||||
|
||||
tree.focus = l0;
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
|
||||
// Tree in test
|
||||
|
@ -792,28 +792,28 @@ mod test {
|
|||
});
|
||||
|
||||
let doc_l0 = DocumentId::default();
|
||||
let mut view = View::new(doc_l0, GutterConfig::default(), true);
|
||||
let mut view = View::new(doc_l0, GutterConfig::default());
|
||||
view.area = Rect::new(0, 0, 180, 80);
|
||||
tree.insert(view);
|
||||
|
||||
let l0 = tree.focus;
|
||||
|
||||
let doc_r0 = DocumentId::default();
|
||||
let view = View::new(doc_r0, GutterConfig::default(), true);
|
||||
let view = View::new(doc_r0, GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
let r0 = tree.focus;
|
||||
|
||||
tree.focus = l0;
|
||||
|
||||
let doc_l1 = DocumentId::default();
|
||||
let view = View::new(doc_l1, GutterConfig::default(), true);
|
||||
let view = View::new(doc_l1, GutterConfig::default());
|
||||
tree.split(view, Layout::Horizontal);
|
||||
let l1 = tree.focus;
|
||||
|
||||
tree.focus = l0;
|
||||
|
||||
let doc_l2 = DocumentId::default();
|
||||
let view = View::new(doc_l2, GutterConfig::default(), true);
|
||||
let view = View::new(doc_l2, GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
let l2 = tree.focus;
|
||||
|
||||
|
@ -908,19 +908,19 @@ mod test {
|
|||
width: tree_area_width,
|
||||
height: 80,
|
||||
});
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(0, 0, 180, 80);
|
||||
tree.insert(view);
|
||||
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Horizontal);
|
||||
|
||||
tree.remove(tree.focus);
|
||||
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
|
||||
// Make sure that we only have one level in the tree.
|
||||
|
@ -946,12 +946,12 @@ mod test {
|
|||
width: tree_area_width,
|
||||
height: tree_area_height,
|
||||
});
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(0, 0, tree_area_width, tree_area_height);
|
||||
tree.insert(view);
|
||||
|
||||
for _ in 0..9 {
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
tree.split(view, Layout::Vertical);
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ impl fmt::Debug for View {
|
|||
}
|
||||
|
||||
impl View {
|
||||
pub fn new(doc: DocumentId, gutters: GutterConfig, enable_diagnostics: bool) -> Self {
|
||||
pub fn new(doc: DocumentId, gutters: GutterConfig) -> Self {
|
||||
Self {
|
||||
id: ViewId::default(),
|
||||
doc,
|
||||
|
@ -179,7 +179,7 @@ impl View {
|
|||
object_selections: Vec::new(),
|
||||
gutters,
|
||||
doc_revisions: HashMap::new(),
|
||||
diagnostics_handler: DiagnosticsHandler::new(enable_diagnostics),
|
||||
diagnostics_handler: DiagnosticsHandler::new(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -695,7 +695,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_text_pos_at_screen_coords() {
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
let mut doc = Document::from(
|
||||
|
@ -870,7 +870,6 @@ mod tests {
|
|||
layout: vec![GutterType::Diagnostics],
|
||||
line_numbers: GutterLineNumbersConfig::default(),
|
||||
},
|
||||
true,
|
||||
);
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
|
@ -901,7 +900,6 @@ mod tests {
|
|||
layout: vec![],
|
||||
line_numbers: GutterLineNumbersConfig::default(),
|
||||
},
|
||||
true,
|
||||
);
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
let rope = Rope::from_str("abc\n\tdef");
|
||||
|
@ -926,7 +924,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_text_pos_at_screen_coords_cjk() {
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
let rope = Rope::from_str("Hi! こんにちは皆さん");
|
||||
let mut doc = Document::from(
|
||||
|
@ -1010,7 +1008,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_text_pos_at_screen_coords_graphemes() {
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default(), true);
|
||||
let mut view = View::new(DocumentId::default(), GutterConfig::default());
|
||||
view.area = Rect::new(40, 40, 40, 40);
|
||||
let rope = Rope::from_str("Hèl̀l̀ò world!");
|
||||
let mut doc = Document::from(
|
||||
|
|
Loading…
Add table
Reference in a new issue