Skip to content

Commit

Permalink
Remove apply_transaction helper (helix-editor#5598)
Browse files Browse the repository at this point in the history
  • Loading branch information
pickfire authored and Shafkath Shuhan committed Jan 24, 2023
1 parent 667c567 commit 2b02e7d
Show file tree
Hide file tree
Showing 10 changed files with 46 additions and 67 deletions.
57 changes: 28 additions & 29 deletions helix-term/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ use helix_core::{
SmallVec, Tendril, Transaction,
};
use helix_view::{
apply_transaction,
clipboard::ClipboardType,
document::{FormatterError, Mode, SCRATCH_BUFFER_NAME},
editor::{Action, Motion},
Expand Down Expand Up @@ -864,7 +863,7 @@ fn align_selections(cx: &mut Context) {
changes.sort_unstable_by_key(|(from, _, _)| *from);

let transaction = Transaction::change(doc.text(), changes.into_iter());
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn goto_window(cx: &mut Context, align: Align) {
Expand Down Expand Up @@ -1316,7 +1315,7 @@ fn replace(cx: &mut Context) {
}
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
}
})
Expand All @@ -1334,7 +1333,7 @@ where
(range.from(), range.to(), Some(text))
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn switch_case(cx: &mut Context) {
Expand Down Expand Up @@ -2159,7 +2158,7 @@ fn delete_selection_impl(cx: &mut Context, op: Operation) {
let transaction = Transaction::change_by_selection(doc.text(), selection, |range| {
(range.from(), range.to(), None)
});
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

match op {
Operation::Delete => {
Expand All @@ -2177,7 +2176,7 @@ fn delete_selection_insert_mode(doc: &mut Document, view: &mut View, selection:
let transaction = Transaction::change_by_selection(doc.text(), selection, |range| {
(range.from(), range.to(), None)
});
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn delete_selection(cx: &mut Context) {
Expand Down Expand Up @@ -2273,7 +2272,7 @@ fn append_mode(cx: &mut Context) {
doc.text(),
[(end, end, Some(doc.line_ending.as_str().into()))].into_iter(),
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

let selection = doc.selection(view.id).clone().transform(|range| {
Expand Down Expand Up @@ -2583,7 +2582,7 @@ async fn make_format_callback(

if let Ok(format) = format {
if doc.version() == doc_version {
apply_transaction(&format, doc, view);
doc.apply(&format, view.id);
doc.append_changes_to_history(view);
doc.detect_indent_and_line_ending();
view.ensure_cursor_in_view(doc, scrolloff);
Expand Down Expand Up @@ -2676,7 +2675,7 @@ fn open(cx: &mut Context, open: Open) {

transaction = transaction.with_selection(Selection::new(ranges, selection.primary_index()));

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

// o inserts a new line after each line with a selection
Expand Down Expand Up @@ -3104,7 +3103,7 @@ pub mod insert {

let (view, doc) = current!(cx.editor);
if let Some(t) = transaction {
apply_transaction(&t, doc, view);
doc.apply(&t, view.id);
}

// TODO: need a post insert hook too for certain triggers (autocomplete, signature help, etc)
Expand All @@ -3126,7 +3125,7 @@ pub mod insert {
&doc.selection(view.id).clone().cursors(doc.text().slice(..)),
indent,
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

pub fn insert_newline(cx: &mut Context) {
Expand Down Expand Up @@ -3231,7 +3230,7 @@ pub mod insert {
transaction = transaction.with_selection(Selection::new(ranges, selection.primary_index()));

let (view, doc) = current!(cx.editor);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

pub fn delete_char_backward(cx: &mut Context) {
Expand Down Expand Up @@ -3326,7 +3325,7 @@ pub mod insert {
}
});
let (view, doc) = current!(cx.editor);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

lsp::signature_help_impl(cx, SignatureHelpInvoked::Automatic);
}
Expand All @@ -3344,7 +3343,7 @@ pub mod insert {
None,
)
});
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

lsp::signature_help_impl(cx, SignatureHelpInvoked::Automatic);
}
Expand Down Expand Up @@ -3625,7 +3624,7 @@ fn paste_impl(
transaction = transaction.with_selection(Selection::new(ranges, selection.primary_index()));
}

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

pub(crate) fn paste_bracketed_value(cx: &mut Context, contents: String) {
Expand Down Expand Up @@ -3717,7 +3716,7 @@ fn replace_with_yanked(cx: &mut Context) {
}
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
}
}
Expand All @@ -3741,7 +3740,7 @@ fn replace_selections_with_clipboard_impl(
)
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);
}
Err(e) => return Err(e.context("Couldn't get system clipboard contents")),
Expand Down Expand Up @@ -3813,7 +3812,7 @@ fn indent(cx: &mut Context) {
Some((pos, pos, Some(indent.clone())))
}),
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn unindent(cx: &mut Context) {
Expand Down Expand Up @@ -3852,7 +3851,7 @@ fn unindent(cx: &mut Context) {

let transaction = Transaction::change(doc.text(), changes.into_iter());

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn format_selections(cx: &mut Context) {
Expand Down Expand Up @@ -3907,7 +3906,7 @@ fn format_selections(cx: &mut Context) {
language_server.offset_encoding(),
);

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn join_selections_impl(cx: &mut Context, select_space: bool) {
Expand Down Expand Up @@ -3966,7 +3965,7 @@ fn join_selections_impl(cx: &mut Context, select_space: bool) {
Transaction::change(doc.text(), changes.into_iter())
};

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn keep_or_remove_selections_impl(cx: &mut Context, remove: bool) {
Expand Down Expand Up @@ -4109,7 +4108,7 @@ fn toggle_comments(cx: &mut Context) {
.map(|tc| tc.as_ref());
let transaction = comment::toggle_line_comments(doc.text(), doc.selection(view.id), token);

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
}

Expand Down Expand Up @@ -4165,7 +4164,7 @@ fn rotate_selection_contents(cx: &mut Context, direction: Direction) {
.map(|(range, fragment)| (range.from(), range.to(), Some(fragment))),
);

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

fn rotate_selection_contents_forward(cx: &mut Context) {
Expand Down Expand Up @@ -4698,7 +4697,7 @@ fn surround_add(cx: &mut Context) {

let transaction = Transaction::change(doc.text(), changes.into_iter())
.with_selection(Selection::new(ranges, selection.primary_index()));
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
})
}
Expand Down Expand Up @@ -4738,7 +4737,7 @@ fn surround_replace(cx: &mut Context) {
(pos, pos + 1, Some(t))
}),
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
});
})
Expand Down Expand Up @@ -4766,7 +4765,7 @@ fn surround_delete(cx: &mut Context) {

let transaction =
Transaction::change(doc.text(), change_pos.into_iter().map(|p| (p, p + 1, None)));
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
exit_select_mode(cx);
})
}
Expand Down Expand Up @@ -4981,7 +4980,7 @@ fn shell(cx: &mut compositor::Context, cmd: &str, behavior: &ShellBehavior) {
if behavior != &ShellBehavior::Ignore {
let transaction = Transaction::change(doc.text(), changes.into_iter())
.with_selection(Selection::new(ranges, selection.primary_index()));
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);
}

Expand Down Expand Up @@ -5044,7 +5043,7 @@ fn add_newline_impl(cx: &mut Context, open: Open) {
});

let transaction = Transaction::change(text, changes);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}

enum IncrementDirection {
Expand Down Expand Up @@ -5111,7 +5110,7 @@ fn increment_impl(cx: &mut Context, increment_direction: IncrementDirection) {
let new_selection = Selection::new(new_selection_ranges, selection.primary_index());
let transaction = Transaction::change(doc.text(), changes.into_iter());
let transaction = transaction.with_selection(new_selection);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}
}

Expand Down
4 changes: 2 additions & 2 deletions helix-term/src/commands/lsp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use tui::{
use super::{align_view, push_jump, Align, Context, Editor, Open};

use helix_core::{path, Selection};
use helix_view::{apply_transaction, document::Mode, editor::Action, theme::Style};
use helix_view::{document::Mode, editor::Action, theme::Style};

use crate::{
compositor::{self, Compositor},
Expand Down Expand Up @@ -800,7 +800,7 @@ pub fn apply_workspace_edit(
offset_encoding,
);
let view = view_mut!(editor, view_id);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);
};

Expand Down
13 changes: 5 additions & 8 deletions helix-term/src/commands/typed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@ use crate::job::Job;

use super::*;

use helix_view::{
apply_transaction,
editor::{Action, CloseError, ConfigEvent},
};
use helix_view::editor::{Action, CloseError, ConfigEvent};
use ui::completers::{self, Completer};

#[derive(Clone)]
Expand Down Expand Up @@ -480,7 +477,7 @@ fn set_line_ending(
}
}),
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);

Ok(())
Expand Down Expand Up @@ -925,7 +922,7 @@ fn replace_selections_with_clipboard_impl(
(range.from(), range.to(), Some(contents.as_str().into()))
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);
Ok(())
}
Expand Down Expand Up @@ -1596,7 +1593,7 @@ fn sort_impl(
.map(|(s, fragment)| (s.from(), s.to(), Some(fragment))),
);

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);

Ok(())
Expand Down Expand Up @@ -1640,7 +1637,7 @@ fn reflow(
(range.from(), range.to(), Some(reflowed_text))
});

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
doc.append_changes_to_history(view);
view.ensure_cursor_in_view(doc, scrolloff);

Expand Down
8 changes: 4 additions & 4 deletions helix-term/src/ui/completion.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::compositor::{Component, Context, Event, EventResult};
use helix_view::{apply_transaction, editor::CompleteAction, ViewId};
use helix_view::{editor::CompleteAction, ViewId};
use tui::buffer::Buffer as Surface;

use std::borrow::Cow;
Expand Down Expand Up @@ -183,7 +183,7 @@ impl Completion {

// initialize a savepoint
doc.savepoint();
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

editor.last_completion = Some(CompleteAction {
trigger_offset,
Expand All @@ -203,7 +203,7 @@ impl Completion {
trigger_offset,
);

apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

editor.last_completion = Some(CompleteAction {
trigger_offset,
Expand Down Expand Up @@ -233,7 +233,7 @@ impl Completion {
additional_edits.clone(),
offset_encoding, // TODO: should probably transcode in Client
);
apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);
}
}
}
Expand Down
3 changes: 1 addition & 2 deletions helix-term/src/ui/editor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ use helix_core::{
visual_coords_at_pos, LineEnding, Position, Range, Selection, Transaction,
};
use helix_view::{
apply_transaction,
document::{Mode, SCRATCH_BUFFER_NAME},
editor::{CompleteAction, CursorShapeConfig},
graphics::{Color, CursorKind, Modifier, Rect, Style},
Expand Down Expand Up @@ -1048,7 +1047,7 @@ impl EditorView {
(shift_position(start), shift_position(end), t)
}),
);
apply_transaction(&tx, doc, view);
doc.apply(&tx, view.id);
}
InsertEvent::TriggerCompletion => {
let (_, doc) = current!(cxt.editor);
Expand Down
4 changes: 2 additions & 2 deletions helix-term/tests/test/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ pub async fn test_key_sequence_with_input_text<T: Into<TestCase>>(
})
.with_selection(test_case.in_selection.clone());

helix_view::apply_transaction(&transaction, doc, view);
doc.apply(&transaction, view.id);

test_key_sequence(
&mut app,
Expand Down Expand Up @@ -315,7 +315,7 @@ impl AppBuilder {
.with_selection(selection);

// replace the initial text with the input text
helix_view::apply_transaction(&trans, doc, view);
doc.apply(&trans, view.id);
}

Ok(app)
Expand Down
Loading

0 comments on commit 2b02e7d

Please sign in to comment.