diff --git a/src/vs/workbench/contrib/void/common/prompt/prompts.ts b/src/vs/workbench/contrib/void/common/prompt/prompts.ts index 55412a80..fba76815 100644 --- a/src/vs/workbench/contrib/void/common/prompt/prompts.ts +++ b/src/vs/workbench/contrib/void/common/prompt/prompts.ts @@ -575,11 +575,24 @@ 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 str = `${s.uri.fsPath}${lineNumAdd}:\n${content}` + const lines = val?.split('\n') + + const innerVal = lines?.slice(s.range[0] - 1, s.range[1]).join('\n') + const content = !lines ? '' + : `${tripleTick[0]}${s.language}\n${innerVal}\n${tripleTick[1]}` + const str = `${s.uri.fsPath}${lineNumAddition(s.range)}:\n${content}` + return str + } + else if (s.type === 'File') { + const { val } = await readFile(opts.fileService, s.uri, DEFAULT_FILE_SIZE_LIMIT) + + const innerVal = val + const content = val === null ? '' + : `${tripleTick[0]}${s.language}\n${innerVal}\n${tripleTick[1]}` + + const str = `${s.uri.fsPath}:\n${content}` return str } else if (s.type === 'Folder') {