Skip to content

Commit ea13875

Browse files
authored
Add back Python Console support for CodeWhisperer (#3595)
* Add back Python Console support for CodeWhisperer * bug fix
1 parent 6a30bd2 commit ea13875

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/CodeWhispererLanguageManager.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,12 @@ class CodeWhispererLanguageManager {
3333
// plugin features when developing CodeWhisperer features.
3434
fun getLanguage(vFile: VirtualFile): CodeWhispererProgrammingLanguage {
3535
val fileTypeName = vFile.fileType.name.lowercase()
36-
val fileExtension = vFile.extension?.lowercase() ?: return CodeWhispererUnknownLanguage.INSTANCE
36+
val fileExtension = vFile.extension?.lowercase()
37+
38+
// We want to support Python Console which does not have a file extension
39+
if (fileExtension == null && !fileTypeName.contains("python")) {
40+
return CodeWhispererUnknownLanguage.INSTANCE
41+
}
3742
return when {
3843
fileTypeName.contains("python") -> CodeWhispererPython.INSTANCE
3944
fileTypeName.contains("javascript") -> CodeWhispererJavaScript.INSTANCE

jetbrains-core/tst/software/aws/toolkits/jetbrains/services/codewhisperer/CodeWhispererLanguageManagerTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ class CodeWhispererLanguageManagerTest {
100100
testGetProgrammingLanguageUtil(listOf("c++"), languageExtensionsMap[CodeWhispererC.INSTANCE], CodeWhispererC::class.java)
101101
testGetProgrammingLanguageUtil(listOf("Shell Script"), languageExtensionsMap[CodeWhispererShell.INSTANCE], CodeWhispererShell::class.java)
102102
testGetProgrammingLanguageUtil(listOf("Rust"), languageExtensionsMap[CodeWhispererRust.INSTANCE], CodeWhispererRust::class.java)
103+
testGetProgrammingLanguageUtil(listOf("Python Console"), listOf(null), CodeWhispererPython::class.java)
103104
}
104105

105106
@Test
@@ -113,7 +114,7 @@ class CodeWhispererLanguageManagerTest {
113114

114115
private fun <T : CodeWhispererProgrammingLanguage> testGetProgrammingLanguageUtil(
115116
fileTypeNames: List<String>,
116-
fileExtensions: List<String>?,
117+
fileExtensions: List<String?>?,
117118
expectedLanguage: Class<T>
118119
) {
119120
fileExtensions?.forEach { fileExtension ->

0 commit comments

Comments
 (0)