@@ -64,6 +64,7 @@ pub fn into_transaction<'a>(
6464 edit: &lsp_types::TextEdit,
6565 line_ending: &str,
6666 offset_encoding: OffsetEncoding,
67+ include_placeholer: bool,
6768) -> helix_core::Transaction {
6869 use helix_core::{smallvec, Range, Selection, Transaction};
6970 use SnippetElement::*;
@@ -119,10 +120,14 @@ pub fn into_transaction<'a>(
119120 // https://doc.rust-lang.org/beta/unstable-book/language-features/box-patterns.html
120121 // would make this a bit nicer
121122 Text(text) => {
122− let len_chars = text.chars().count();
123− tabstops.push((tabstop, Range::new(offset, offset + len_chars + 1)));
124− offset += len_chars;
125− insert.push_str(text);
123+ if include_placeholer {
124+ let len_chars = text.chars().count();
125+ tabstops.push((tabstop, Range::new(offset, offset + len_chars + 1)));
126+ offset += len_chars;
127+ insert.push_str(text);
128+ } else {
129+ tabstops.push((tabstop, Range::point(offset)));
130+ }
126131 }
127132 other => {
128133 log::error!(