diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImpl.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImpl.kt index 76d2bd1eb0d..88514e8cdc5 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImpl.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImpl.kt @@ -106,11 +106,13 @@ class AmazonQLanguageClientImpl(private val project: Project) : AmazonQLanguageC optOutTelemetry = AwsSettings.getInstance().isTelemetryEnabled, customization = CodeWhispererModelConfigurator.getInstance().activeCustomization(project)?.arn, // local context - enableLocalIndexing = qSettings.isProjectContextEnabled(), - indexWorkerThreads = qSettings.getProjectContextIndexThreadCount(), - enableGpuAcceleration = qSettings.isProjectContextGpu(), - localIndexing = LocalIndexingConfiguration( - maxIndexSizeMB = qSettings.getProjectContextIndexMaxSize() + projectContext = ProjectContextConfiguration( + enableLocalIndexing = qSettings.isProjectContextEnabled(), + indexWorkerThreads = qSettings.getProjectContextIndexThreadCount(), + enableGpuAcceleration = qSettings.isProjectContextGpu(), + localIndexing = LocalIndexingConfiguration( + maxIndexSizeMB = qSettings.getProjectContextIndexMaxSize() + ) ) ) ) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspConfiguration.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspConfiguration.kt index 90a85dd9ea5..8f0f612a8ae 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspConfiguration.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspConfiguration.kt @@ -15,6 +15,10 @@ data class AmazonQLspConfiguration( @SerializedName(AmazonQLspConstants.LSP_CUSTOMIZATION_CONFIGURATION_KEY) val customization: String? = null, + val projectContext: ProjectContextConfiguration? = null, +) + +data class ProjectContextConfiguration( val enableLocalIndexing: Boolean? = null, val enableGpuAcceleration: Boolean? = null, diff --git a/plugins/amazonq/shared/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImplTest.kt b/plugins/amazonq/shared/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImplTest.kt index 68758769c53..245969411e7 100644 --- a/plugins/amazonq/shared/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImplTest.kt +++ b/plugins/amazonq/shared/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageClientImplTest.kt @@ -180,11 +180,13 @@ class AmazonQLanguageClientImplTest { AmazonQLspConfiguration( optOutTelemetry = telemetryEnabled, customization = customizationArn, - enableLocalIndexing = enableIndexing, - enableGpuAcceleration = enableGpu, - indexWorkerThreads = workerThreads, - localIndexing = LocalIndexingConfiguration( - maxIndexSizeMB = indexSize, + projectContext = ProjectContextConfiguration( + enableLocalIndexing = enableIndexing, + enableGpuAcceleration = enableGpu, + indexWorkerThreads = workerThreads, + localIndexing = LocalIndexingConfiguration( + maxIndexSizeMB = indexSize, + ) ) ) ) @@ -196,14 +198,16 @@ class AmazonQLanguageClientImplTest { optOutTelemetry = true, enableTelemetryEvents = true, customization = "arn", - enableLocalIndexing = true, - enableGpuAcceleration = true, - indexWorkerThreads = 123, - localIndexing = LocalIndexingConfiguration( - maxFileSizeMB = 789, - maxIndexSizeMB = 456, - indexCacheDirPath = "/a/path", - ignoreFilePatterns = listOf("ignore", "patterns") + projectContext = ProjectContextConfiguration( + enableLocalIndexing = true, + enableGpuAcceleration = true, + indexWorkerThreads = 123, + localIndexing = LocalIndexingConfiguration( + maxFileSizeMB = 789, + maxIndexSizeMB = 456, + indexCacheDirPath = "/a/path", + ignoreFilePatterns = listOf("ignore", "patterns") + ) ) ) @@ -214,17 +218,19 @@ class AmazonQLanguageClientImplTest { "optOutTelemetry": true, "enableTelemetryEventsToDestination": true, "customization": "arn", - "enableLocalIndexing": true, - "enableGpuAcceleration": true, - "indexWorkerThreads": 123, - "localIndexing": { - "ignoreFilePatterns": [ - "ignore", - "patterns" - ], - "maxFileSizeMB": 789, - "maxIndexSizeMB": 456, - "indexCacheDirPath": "/a/path" + "projectContext": { + "enableLocalIndexing": true, + "enableGpuAcceleration": true, + "indexWorkerThreads": 123, + "localIndexing": { + "ignoreFilePatterns": [ + "ignore", + "patterns" + ], + "maxFileSizeMB": 789, + "maxIndexSizeMB": 456, + "indexCacheDirPath": "/a/path" + } } } """.trimIndent()