Skip to content

Commit 9d71b4c

Browse files
committed
syncModuleDependencies call barebones
1 parent 1cdc40a commit 9d71b4c

File tree

4 files changed

+52
-0
lines changed

4 files changed

+52
-0
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageServer.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ import org.eclipse.lsp4j.jsonrpc.messages.ResponseMessage
77
import org.eclipse.lsp4j.jsonrpc.services.JsonRequest
88
import org.eclipse.lsp4j.services.LanguageServer
99
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.UpdateCredentialsPayload
10+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.SyncModuleDependenciesParams
1011
import java.util.concurrent.CompletableFuture
1112

1213
/**
1314
* Remote interface exposed by the Amazon Q language server
1415
*/
1516
@Suppress("unused")
1617
interface AmazonQLanguageServer : LanguageServer {
18+
@JsonRequest("aws/syncModuleDependencies")
19+
fun syncModuleDependencies(params: SyncModuleDependenciesParams)
20+
1721
@JsonRequest("aws/credentials/token/update")
1822
fun updateTokenCredentials(payload: UpdateCredentialsPayload): CompletableFuture<ResponseMessage>
1923
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies
5+
6+
import com.intellij.openapi.project.Project
7+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
8+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.SyncModuleDependenciesParams
9+
10+
class DefaultModuleDependenciesService(private val project: Project) : ModuleDependenciesService {
11+
12+
// init {
13+
// TODO: add moduleRootListener to make function call that eventually sends message w/ params
14+
// }
15+
16+
override fun syncModuleDependencies(params: SyncModuleDependenciesParams) {
17+
AmazonQLspService.executeIfRunning(project) { languageServer ->
18+
languageServer.syncModuleDependencies(params)
19+
}
20+
}
21+
22+
// fun createSyncModuleDependenciesParams() : SyncModuleDependenciesParams {
23+
// return SyncModuleDependenciesParams()
24+
// }
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies
5+
6+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.SyncModuleDependenciesParams
7+
8+
interface ModuleDependenciesService {
9+
fun syncModuleDependencies(params: SyncModuleDependenciesParams)
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies
5+
6+
public class SyncModuleDependenciesParams(
7+
val moduleName: String,
8+
val programmingLanguage: String,
9+
val files: List<String>,
10+
val dirs: List<String>,
11+
val includePatterns: List<String>,
12+
val excludePatterns: List<String>,
13+
)

0 commit comments

Comments
 (0)