diff --git a/src/providers/chatSidebarProvider.ts b/src/providers/chatSidebarProvider.ts index d045426e..f6a11f49 100644 --- a/src/providers/chatSidebarProvider.ts +++ b/src/providers/chatSidebarProvider.ts @@ -90,6 +90,26 @@ export class ChatSidebarProvider implements vscode.WebviewViewProvider { case 'changeProvider': await this.handleChangeProvider(message.model, webviewView.webview); break; + case 'addContext': + const options: vscode.OpenDialogOptions = { + canSelectMany: false, + openLabel: 'Select File', + canSelectFiles: true, + canSelectFolders: false + }; + + vscode.window.showOpenDialog(options).then(fileUri => { + if (fileUri && fileUri[0]) { + webviewView.webview.postMessage({ + command: 'contextFromCanvas', + data: { + fileName: fileUri[0].fsPath, + type: 'file' + } + }); + } + }); + break; } } ); diff --git a/src/webview/components/Chat/ChatInterface.tsx b/src/webview/components/Chat/ChatInterface.tsx index 1ede6e68..5612bb36 100644 --- a/src/webview/components/Chat/ChatInterface.tsx +++ b/src/webview/components/Chat/ChatInterface.tsx @@ -352,8 +352,9 @@ const ChatInterface: React.FC = ({ layout, vscode }) => { }, [inputMessage]); const handleAddContext = () => { - // TODO: Implement context addition functionality - console.log('Add Context clicked'); + vscode.postMessage({ + command: 'addContext' + }); }; const handleNewConversation = () => {