aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-lsp/src/lib.rs16
-rw-r--r--helix-term/src/ui/completion.rs1
2 files changed, 7 insertions, 10 deletions
diff --git a/helix-lsp/src/lib.rs b/helix-lsp/src/lib.rs
index 1463ccb3..e31df59f 100644
--- a/helix-lsp/src/lib.rs
+++ b/helix-lsp/src/lib.rs
@@ -345,6 +345,7 @@ pub mod util {
line_ending: &str,
include_placeholder: bool,
tab_width: usize,
+ indent_width: usize,
) -> Transaction {
let text = doc.slice(..);
@@ -374,19 +375,14 @@ pub mod util {
let mapped_replacement_end = (replacement_end as i128 + off) as usize;
let line_idx = mapped_doc.char_to_line(mapped_replacement_start);
- let pos_on_line = mapped_replacement_start - mapped_doc.line_to_char(line_idx);
-
- // we only care about the actual offset here (not virtual text/softwrap)
- // so it's ok to use the deprecated function here
- #[allow(deprecated)]
- let width = helix_core::visual_coords_at_pos(
+ let indent_level = helix_core::indent::indent_level_for_line(
mapped_doc.line(line_idx),
- pos_on_line,
tab_width,
- )
- .col;
+ indent_width,
+ ) * indent_width;
+
let newline_with_offset = format!(
- "{line_ending}{blank:width$}",
+ "{line_ending}{blank:indent_level$}",
line_ending = line_ending,
blank = ""
);
diff --git a/helix-term/src/ui/completion.rs b/helix-term/src/ui/completion.rs
index 6303793b..da6b5ddc 100644
--- a/helix-term/src/ui/completion.rs
+++ b/helix-term/src/ui/completion.rs
@@ -182,6 +182,7 @@ impl Completion {
doc.line_ending.as_str(),
include_placeholder,
doc.tab_width(),
+ doc.indent_width(),
),
Err(err) => {
log::error!(