add conditional noop render back
It makes it much slower without stubbing this out
This commit is contained in:
parent
69c9e44ef2
commit
b8a07f7d15
4 changed files with 9 additions and 27 deletions
|
@ -7,7 +7,6 @@ use std::collections::HashMap;
|
|||
use smallvec::SmallVec;
|
||||
|
||||
// Heavily based on https://github.com/codemirror/closebrackets/
|
||||
|
||||
pub const DEFAULT_PAIRS: &[(char, char)] = &[
|
||||
('(', ')'),
|
||||
('{', '}'),
|
||||
|
|
|
@ -253,6 +253,10 @@ impl Application {
|
|||
Ok(app)
|
||||
}
|
||||
|
||||
#[cfg(feature = "integration")]
|
||||
fn render(&mut self) {}
|
||||
|
||||
#[cfg(not(feature = "integration"))]
|
||||
fn render(&mut self) {
|
||||
let compositor = &mut self.compositor;
|
||||
|
||||
|
|
|
@ -2504,13 +2504,6 @@ fn insert_at_line_end(cx: &mut Context) {
|
|||
doc.set_selection(view.id, selection);
|
||||
}
|
||||
|
||||
/// Sometimes when applying formatting changes we want to mark the buffer as unmodified, for
|
||||
/// example because we just applied the same changes while saving.
|
||||
enum Modified {
|
||||
SetUnmodified,
|
||||
LeaveModified,
|
||||
}
|
||||
|
||||
// Creates an LspCallback that waits for formatting changes to be computed. When they're done,
|
||||
// it applies them, but only if the doc hasn't changed.
|
||||
//
|
||||
|
@ -2519,7 +2512,6 @@ enum Modified {
|
|||
async fn make_format_callback(
|
||||
doc_id: DocumentId,
|
||||
doc_version: i32,
|
||||
modified: Modified,
|
||||
format: impl Future<Output = Result<Transaction, FormatterError>> + Send + 'static,
|
||||
) -> anyhow::Result<job::Callback> {
|
||||
let format = format.await?;
|
||||
|
@ -2536,17 +2528,15 @@ async fn make_format_callback(
|
|||
doc.append_changes_to_history(view.id);
|
||||
doc.detect_indent_and_line_ending();
|
||||
view.ensure_cursor_in_view(doc, scrolloff);
|
||||
if let Modified::SetUnmodified = modified {
|
||||
doc.reset_modified();
|
||||
}
|
||||
} else {
|
||||
log::info!("discarded formatting changes because the document changed");
|
||||
}
|
||||
});
|
||||
|
||||
Ok(call)
|
||||
}
|
||||
|
||||
#[derive(PartialEq)]
|
||||
#[derive(PartialEq, Eq)]
|
||||
pub enum Open {
|
||||
Below,
|
||||
Above,
|
||||
|
|
|
@ -273,12 +273,7 @@ fn write_impl(
|
|||
let fmt = if auto_format {
|
||||
doc.auto_format().map(|fmt| {
|
||||
let shared = fmt.shared();
|
||||
let callback = make_format_callback(
|
||||
doc.id(),
|
||||
doc.version(),
|
||||
Modified::SetUnmodified,
|
||||
shared.clone(),
|
||||
);
|
||||
let callback = make_format_callback(doc.id(), doc.version(), shared.clone());
|
||||
jobs.callback(callback);
|
||||
shared
|
||||
})
|
||||
|
@ -346,8 +341,7 @@ fn format(
|
|||
|
||||
let doc = doc!(cx.editor);
|
||||
if let Some(format) = doc.format() {
|
||||
let callback =
|
||||
make_format_callback(doc.id(), doc.version(), Modified::LeaveModified, format);
|
||||
let callback = make_format_callback(doc.id(), doc.version(), format);
|
||||
cx.jobs.callback(callback);
|
||||
}
|
||||
|
||||
|
@ -593,12 +587,7 @@ fn write_all_impl(
|
|||
let fmt = if auto_format {
|
||||
doc.auto_format().map(|fmt| {
|
||||
let shared = fmt.shared();
|
||||
let callback = make_format_callback(
|
||||
doc.id(),
|
||||
doc.version(),
|
||||
Modified::SetUnmodified,
|
||||
shared.clone(),
|
||||
);
|
||||
let callback = make_format_callback(doc.id(), doc.version(), shared.clone());
|
||||
jobs.callback(callback);
|
||||
shared
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue