@@ -23,12 +23,12 @@ import {
2323 insertToCursorPositionNotificationType ,
2424} from '@aws/language-server-runtimes/protocol'
2525import { v4 as uuidv4 } from 'uuid'
26- import { window } from 'vscode'
26+ import * as vscode from 'vscode'
2727import { Disposable , LanguageClient , Position , State , TextDocumentIdentifier } from 'vscode-languageclient'
2828import * as jose from 'jose'
2929import { AmazonQChatViewProvider } from './webviewProvider'
3030import { AuthUtil } from 'aws-core-vscode/codewhisperer'
31- import { AmazonQPromptSettings } from 'aws-core-vscode/shared'
31+ import { AmazonQPromptSettings , messages } from 'aws-core-vscode/shared'
3232
3333export function registerLanguageServerEventListener ( languageClient : LanguageClient , provider : AmazonQChatViewProvider ) {
3434 languageClient . onDidChangeState ( ( { oldState, newState } ) => {
@@ -62,11 +62,15 @@ export function registerMessageListeners(
6262
6363 switch ( message . command ) {
6464 case COPY_TO_CLIPBOARD :
65- // TODO see what we need to hook this up
6665 languageClient . info ( '[VSCode Client] Copy to clipboard event received' )
66+ try {
67+ await messages . copyToClipboard ( message . params . code )
68+ } catch ( e ) {
69+ languageClient . error ( `[VSCode Client] Failed to copy to clipboard: ${ ( e as Error ) . message } ` )
70+ }
6771 break
6872 case INSERT_TO_CURSOR_POSITION : {
69- const editor = window . activeTextEditor
73+ const editor = vscode . window . activeTextEditor
7074 let textDocument : TextDocumentIdentifier | undefined = undefined
7175 let cursorPosition : Position | undefined = undefined
7276 if ( editor ) {
@@ -119,8 +123,8 @@ export function registerMessageListeners(
119123 )
120124
121125 const editor =
122- window . activeTextEditor ||
123- window . visibleTextEditors . find ( ( editor ) => editor . document . languageId !== 'Log' )
126+ vscode . window . activeTextEditor ||
127+ vscode . window . visibleTextEditors . find ( ( editor ) => editor . document . languageId !== 'Log' )
124128 if ( editor ) {
125129 message . params . cursorPosition = [ editor . selection . active ]
126130 message . params . textDocument = { uri : editor . document . uri . toString ( ) }
0 commit comments