From d948fc5950fb1a3d3921fdd101aef2afa9f09223 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 3 Aug 2025 19:06:52 -0400 Subject: [PATCH] Updated code selection to properly parse selected lines --- .../workbench/contrib/void/common/prompt/prompts.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/void/common/prompt/prompts.ts b/src/vs/workbench/contrib/void/common/prompt/prompts.ts index 55412a80..c31fdb40 100644 --- a/src/vs/workbench/contrib/void/common/prompt/prompts.ts +++ b/src/vs/workbench/contrib/void/common/prompt/prompts.ts @@ -575,13 +575,21 @@ export const messageOfSelection = async ( ) => { const lineNumAddition = (range: [number, number]) => ` (lines ${range[0]}:${range[1]})` - if (s.type === 'File' || s.type === 'CodeSelection') { + if (s.type === 'CodeSelection') { const { val } = await readFile(opts.fileService, s.uri, DEFAULT_FILE_SIZE_LIMIT) const lineNumAdd = s.type === 'CodeSelection' ? lineNumAddition(s.range) : '' - const content = val === null ? 'null' : `${tripleTick[0]}${s.language}\n${val}\n${tripleTick[1]}` + const lines = val?.split('\n') + const selection = lines?.slice(s.range[0] - 1, s.range[1]).join('\n') + const content = selection ?? 'null' const str = `${s.uri.fsPath}${lineNumAdd}:\n${content}` return str } + else if (s.type === 'File') { + const { val } = await readFile(opts.fileService, s.uri, DEFAULT_FILE_SIZE_LIMIT) + const content = val === null ? 'null' : `${tripleTick[0]}${s.language}\n${val}\n${tripleTick[1]}` + const str = `${s.uri.fsPath}:\n${content}` + return str + } else if (s.type === 'Folder') { const dirStr: string = await opts.directoryStrService.getDirectoryStrTool(s.uri) const folderStructure = `${s.uri.fsPath} folder structure:${tripleTick[0]}\n${dirStr}\n${tripleTick[1]}`