diff --git a/crates/languages/src/go.rs b/crates/languages/src/go.rs index 13a4cec85ff8554cd14cb835a4320662f79a41d4..a75884d1997c6225e0c1ddc76d4fe19100304ff7 100644 --- a/crates/languages/src/go.rs +++ b/crates/languages/src/go.rs @@ -222,7 +222,7 @@ impl LspAdapter for GoLspAdapter { Some((lsp::CompletionItemKind::MODULE, detail)) => { let text = format!("{label} {detail}"); let source = Rope::from(format!("import {text}").as_str()); - let runs = language.highlight_text(&source, 7..7 + text.len()); + let runs = language.highlight_text(&source, 7..7 + text[name_offset..].len()); let filter_range = completion .filter_text .as_deref() @@ -246,7 +246,7 @@ impl LspAdapter for GoLspAdapter { Rope::from(format!("var {} {}", &text[name_offset..], detail).as_str()); let runs = adjust_runs( name_offset, - language.highlight_text(&source, 4..4 + text.len()), + language.highlight_text(&source, 4..4 + text[name_offset..].len()), ); let filter_range = completion .filter_text @@ -267,7 +267,7 @@ impl LspAdapter for GoLspAdapter { let source = Rope::from(format!("type {}", &text[name_offset..]).as_str()); let runs = adjust_runs( name_offset, - language.highlight_text(&source, 5..5 + text.len()), + language.highlight_text(&source, 5..5 + text[name_offset..].len()), ); let filter_range = completion .filter_text @@ -288,7 +288,7 @@ impl LspAdapter for GoLspAdapter { let source = Rope::from(format!("type {}", &text[name_offset..]).as_str()); let runs = adjust_runs( name_offset, - language.highlight_text(&source, 5..5 + text.len()), + language.highlight_text(&source, 5..5 + text[name_offset..].len()), ); let filter_range = completion .filter_text @@ -310,7 +310,7 @@ impl LspAdapter for GoLspAdapter { Rope::from(format!("type T struct {{ {} }}", &text[name_offset..]).as_str()); let runs = adjust_runs( name_offset, - language.highlight_text(&source, 16..16 + text.len()), + language.highlight_text(&source, 16..16 + text[name_offset..].len()), ); let filter_range = completion .filter_text @@ -332,7 +332,7 @@ impl LspAdapter for GoLspAdapter { let source = Rope::from(format!("func {} {{}}", &text[name_offset..]).as_str()); let runs = adjust_runs( name_offset, - language.highlight_text(&source, 5..5 + text.len()), + language.highlight_text(&source, 5..5 + text[name_offset..].len()), ); let filter_range = completion .filter_text