Skip to content

Commit 6afc927

Browse files
authored
config(amazonq) unblock several languages generateCompletion requests to the service (#4884)
1 parent 90fda64 commit 6afc927

File tree

17 files changed

+452
-26
lines changed

17 files changed

+452
-26
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/CodeWhispererLanguageManager.kt

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,31 @@ import com.intellij.psi.PsiFile
1010
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererC
1111
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererCpp
1212
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererCsharp
13+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererDart
1314
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererGo
1415
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJava
1516
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJavaScript
1617
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJson
1718
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJsx
1819
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererKotlin
20+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererLua
1921
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPhp
2022
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPlainText
23+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPowershell
2124
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPython
25+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererR
2226
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererRuby
2327
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererRust
2428
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererScala
2529
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererShell
2630
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSql
31+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSwift
32+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSystemVerilog
2733
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTf
2834
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTsx
2935
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTypeScript
3036
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererUnknownLanguage
37+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererVue
3138
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererYaml
3239

3340
@Service
@@ -73,8 +80,15 @@ class CodeWhispererLanguageManager {
7380
fileTypeName.contains("php") -> CodeWhispererPhp.INSTANCE
7481
fileTypeName.contains("sql") -> CodeWhispererSql.INSTANCE
7582
fileTypeName.contains("go") -> CodeWhispererGo.INSTANCE
76-
fileTypeName.contains("shell") -> CodeWhispererShell.INSTANCE
7783
fileTypeName.contains("rust") -> CodeWhispererRust.INSTANCE
84+
fileTypeName.contains("swift") -> CodeWhispererSwift.INSTANCE
85+
fileTypeName.contains("lua") -> CodeWhispererLua.INSTANCE
86+
fileTypeName.contains("dart") -> CodeWhispererDart.INSTANCE
87+
fileTypeName.contains("vue") -> CodeWhispererVue.INSTANCE
88+
fileTypeName.contains("systemverilog") -> CodeWhispererSystemVerilog.INSTANCE
89+
fileTypeName.contains("powershell") -> CodeWhispererPowershell.INSTANCE
90+
fileTypeName.contains("shell") -> CodeWhispererShell.INSTANCE
91+
fileTypeName == "r" -> CodeWhispererR.INSTANCE
7892
// fileTypeName.contains("plain_text") -> CodeWhispererPlainText.INSTANCE // This needs to be removed because Hcl files are recognised as plain_text by JB
7993
else -> null
8094
}
@@ -125,7 +139,14 @@ class CodeWhispererLanguageManager {
125139
listOf("go") to CodeWhispererGo.INSTANCE,
126140
listOf("php") to CodeWhispererPhp.INSTANCE,
127141
listOf("sql") to CodeWhispererSql.INSTANCE,
128-
listOf("txt") to CodeWhispererPlainText.INSTANCE
142+
listOf("txt") to CodeWhispererPlainText.INSTANCE,
143+
listOf("sv", "svh", "vh") to CodeWhispererSystemVerilog.INSTANCE,
144+
listOf("dart") to CodeWhispererDart.INSTANCE,
145+
listOf("lua", "wlua") to CodeWhispererLua.INSTANCE,
146+
listOf("swift") to CodeWhispererSwift.INSTANCE,
147+
listOf("vue") to CodeWhispererVue.INSTANCE,
148+
listOf("ps1", "psm1") to CodeWhispererPowershell.INSTANCE,
149+
listOf("r") to CodeWhispererR.INSTANCE,
129150
).map {
130151
val exts = it.first
131152
val lang = it.second
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererDart private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Dart
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "dart"
19+
20+
val INSTANCE = CodeWhispererDart()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererLua private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Lua
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "lua"
19+
20+
val INSTANCE = CodeWhispererLua()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererPowershell private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Powershell
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "powershell"
19+
20+
val INSTANCE = CodeWhispererPowershell()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererR private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.R
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "r"
19+
20+
val INSTANCE = CodeWhispererR()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererSwift private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Swift
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "swift"
19+
20+
val INSTANCE = CodeWhispererSwift()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererSystemVerilog private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.SystemVerilog
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "systemverilog"
19+
20+
val INSTANCE = CodeWhispererSystemVerilog()
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
5+
6+
import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
7+
import software.aws.toolkits.telemetry.CodewhispererLanguage
8+
9+
class CodeWhispererVue private constructor() : CodeWhispererProgrammingLanguage() {
10+
override val languageId: String = ID
11+
12+
override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Vue
13+
14+
override fun isCodeCompletionSupported(): Boolean = true
15+
16+
companion object {
17+
// TODO: confirm with service team language id
18+
const val ID = "vue"
19+
20+
val INSTANCE = CodeWhispererVue()
21+
}
22+
}

0 commit comments

Comments
 (0)