From c2ace408d97310f7e2886346a79cb6ec4855a42f Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 16 Oct 2025 12:20:14 +0200 Subject: [PATCH] languages: Fix go completion labels creating out of bounds highlight runs (#40355) Fixes ZED-26Q Release Notes: - N/A *or* Added/Fixed/Improved ... --- crates/languages/src/go.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/languages/src/go.rs b/crates/languages/src/go.rs index fb5b24c5098422d2dfe0b80674ce74398b245cb2..6c75abf123af62b3f4ab43a6e94d3b040e2f010a 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() @@ -242,7 +242,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 @@ -259,7 +259,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 @@ -276,7 +276,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 @@ -294,7 +294,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 @@ -312,7 +312,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