@@ -29,6 +29,8 @@ import kotlinx.coroutines.delay
2929import kotlinx.coroutines.isActive
3030import kotlinx.coroutines.launch
3131import kotlinx.coroutines.withContext
32+ import org.eclipse.lsp4j.Position
33+ import org.eclipse.lsp4j.TextDocumentIdentifier
3234import software.amazon.awssdk.core.exception.SdkServiceException
3335import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList
3436import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
@@ -53,6 +55,9 @@ import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnection
5355import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
5456import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererConnection
5557import software.aws.toolkits.jetbrains.services.amazonq.SUPPLEMENTAL_CONTEXT_TIMEOUT
58+ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.textDocument.InlineCompletionContext
59+ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.textDocument.InlineCompletionTriggerKind
60+ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.textDocument.InlineCompletionWithReferencesParams
5661import software.aws.toolkits.jetbrains.services.codewhisperer.credentials.CodeWhispererClientAdaptor
5762import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererModelConfigurator
5863import software.aws.toolkits.jetbrains.services.codewhisperer.editor.CodeWhispererEditorManager
@@ -775,6 +780,21 @@ class CodeWhispererService(private val cs: CoroutineScope) : Disposable {
775780 }
776781 }
777782
783+ private fun buildInlineCompletionParams (requestContext : RequestContext ): InlineCompletionWithReferencesParams {
784+ return InlineCompletionWithReferencesParams (
785+ context = InlineCompletionContext (
786+ triggerKind = when (requestContext.triggerTypeInfo.triggerType) {
787+ CodewhispererTriggerType .OnDemand -> InlineCompletionTriggerKind .Invoke
788+ CodewhispererTriggerType .AutoTrigger -> InlineCompletionTriggerKind .Automatic
789+ else -> InlineCompletionTriggerKind .Invoke
790+ }
791+ )
792+ ).apply {
793+ textDocument = TextDocumentIdentifier (requestContext.fileContextInfo.filename)
794+ position = Position (requestContext.caretPosition.line, requestContext.caretPosition.column)
795+ }
796+ }
797+
778798 override fun dispose () {}
779799
780800 companion object {
0 commit comments