From 376fe18b83b69ac6d6c028ffd9324ab83dbb73c3 Mon Sep 17 00:00:00 2001 From: AI Christianson Date: Tue, 11 Mar 2025 14:55:43 -0400 Subject: [PATCH] activity panel --- vsc/assets/RA-white-transp.png | Bin 0 -> 6699 bytes vsc/package.json | 20 ++++- vsc/src/extension.ts | 137 +++++++++++++++++++++++++++++---- 3 files changed, 141 insertions(+), 16 deletions(-) create mode 100644 vsc/assets/RA-white-transp.png diff --git a/vsc/assets/RA-white-transp.png b/vsc/assets/RA-white-transp.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f1da9a82ea52daad905a9396fb76cef77be937 GIT binary patch literal 6699 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 + + + + + + RA.Aid + + + +
+ +

RA.Aid

+

Your research and development assistant.

+

More features coming soon!

+
+ + `; + } +} + +/** + * Generates a random nonce for CSP + */ +function getNonce() { + let text = ''; + const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (let i = 0; i < 32; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + return text; +} + // This method is called when your extension is activated -// Your extension is activated the very first time the command is executed export function activate(context: vscode.ExtensionContext) { + // Use the console to output diagnostic information (console.log) and errors (console.error) + console.log('Congratulations, your extension "ra-aid" is now active!'); - // Use the console to output diagnostic information (console.log) and errors (console.error) - // This line of code will only be executed once when your extension is activated - console.log('Congratulations, your extension "ra-aid" is now active!'); + // Register the WebviewViewProvider + const provider = new RAWebviewViewProvider(context.extensionUri); + const viewRegistration = vscode.window.registerWebviewViewProvider( + 'ra-aid.view', // Must match the view id in package.json + provider + ); + context.subscriptions.push(viewRegistration); - // The command has been defined in the package.json file - // Now provide the implementation of the command with registerCommand - // The commandId parameter must match the command field in package.json - const disposable = vscode.commands.registerCommand('ra-aid.helloWorld', () => { - // The code you place here will be executed every time your command is executed - // Display a message box to the user - vscode.window.showInformationMessage('Hello World from RA.Aid!'); - }); + // The command has been defined in the package.json file + // Now provide the implementation of the command with registerCommand + // The commandId parameter must match the command field in package.json + const disposable = vscode.commands.registerCommand('ra-aid.helloWorld', () => { + // The code you place here will be executed every time your command is executed + // Display a message box to the user + vscode.window.showInformationMessage('Hello World from RA.Aid!'); + }); - context.subscriptions.push(disposable); + context.subscriptions.push(disposable); } // This method is called when your extension is deactivated -export function deactivate() {} +export function deactivate() {} \ No newline at end of file