Skip to content

Commit

Permalink
clarify comments about completion savepoints
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
  • Loading branch information
2 people authored and archseer committed May 18, 2023
1 parent 28b7303 commit 6842fd4
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
14 changes: 7 additions & 7 deletions helix-term/src/ui/completion.rs
Original file line number Diff line number Diff line change
Expand Up @@ -226,14 +226,14 @@ impl Completion {
match event {
PromptEvent::Abort => {}
PromptEvent::Update => {
// Update creates "ghost" transactiosn which are not send to the
// lsp server to avoid messing up rerequesting completions. Once a
// completion has been selected (with) tab it's always accepted whenever anything
// Update creates "ghost" transactions which are not sent to the
// lsp server to avoid messing up re-requesting completions. Once a
// completion has been selected (with tab, c-n or c-p) it's always accepted whenever anything
// is typed. The only way to avoid that is to explicitly abort the completion
// with esc/c-c. This will remove the "ghost" transaction.
// with c-c. This will remove the "ghost" transaction.
//
// The ghost transaction is modeled with a transaction that is not send to the LS.
// (apply_temporary) and a savepoint. It's extremly important this savepoint is restored
// The ghost transaction is modeled with a transaction that is not sent to the LS.
// (apply_temporary) and a savepoint. It's extremely important this savepoint is restored
// (also without sending the transaction to the LS) *before any further transaction is applied*.
// Otherwise incremental sync breaks (since the state of the LS doesn't match the state the transaction
// is applied to).
Expand Down Expand Up @@ -293,7 +293,7 @@ impl Completion {
changes: completion_changes(&transaction, trigger_offset),
});

// TOOD: add additional _edits to completion_changes?
// TODO: add additional _edits to completion_changes?
if let Some(additional_edits) = item.item.additional_text_edits {
if !additional_edits.is_empty() {
let transaction = util::generate_transaction_from_edits(
Expand Down
2 changes: 1 addition & 1 deletion helix-view/src/document.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1197,7 +1197,7 @@ impl Document {
self.apply_inner(transaction, view_id, true)
}

/// Apply a [`Transaction`] to the [`Document`] to change its text.
/// Apply a [`Transaction`] to the [`Document`] to change its text
/// without notifying the language servers. This is useful for temporary transactions
/// that must not influence the server.
pub fn apply_temporary(&mut self, transaction: &Transaction, view_id: ViewId) -> bool {
Expand Down
2 changes: 1 addition & 1 deletion helix-view/src/editor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -911,7 +911,7 @@ pub enum CompleteAction {
trigger_offset: usize,
changes: Vec<Change>,
},
/// A savepoint of the currently active completion. The completion
/// A savepoint of the currently selected completion. The savepoint
/// MUST be restored before sending any event to the LSP
Selected { savepoint: Arc<SavePoint> },
}
Expand Down

0 comments on commit 6842fd4

Please sign in to comment.