Skip to content

Commit d91e625

Browse files
assistant: Fix offset calculation not in char boundary (#18069)
Closes #17825 Release Notes: - N/A
1 parent 3d5c023 commit d91e625

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

crates/assistant/src/prompts.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,15 +220,17 @@ impl PromptBuilder {
220220
let before_range = 0..range.start;
221221
let truncated_before = if before_range.len() > MAX_CTX {
222222
is_truncated = true;
223-
range.start - MAX_CTX..range.start
223+
let start = buffer.clip_offset(range.start - MAX_CTX, text::Bias::Right);
224+
start..range.start
224225
} else {
225226
before_range
226227
};
227228

228229
let after_range = range.end..buffer.len();
229230
let truncated_after = if after_range.len() > MAX_CTX {
230231
is_truncated = true;
231-
range.end..range.end + MAX_CTX
232+
let end = buffer.clip_offset(range.end + MAX_CTX, text::Bias::Left);
233+
range.end..end
232234
} else {
233235
after_range
234236
};

0 commit comments

Comments
 (0)