Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,31 @@ import com.intellij.psi.PsiFile
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererC
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererCpp
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererCsharp
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererDart
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererGo
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJava
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJavaScript
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJson
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererJsx
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererKotlin
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererLua
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPhp
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPlainText
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPowershell
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererPython
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererR
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererRuby
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererRust
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererScala
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererShell
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSql
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSwift
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererSystemVerilog
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTf
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTsx
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTypeScript
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererUnknownLanguage
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererVue
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererYaml

@Service
Expand Down Expand Up @@ -73,8 +80,15 @@ class CodeWhispererLanguageManager {
fileTypeName.contains("php") -> CodeWhispererPhp.INSTANCE
fileTypeName.contains("sql") -> CodeWhispererSql.INSTANCE
fileTypeName.contains("go") -> CodeWhispererGo.INSTANCE
fileTypeName.contains("shell") -> CodeWhispererShell.INSTANCE
fileTypeName.contains("rust") -> CodeWhispererRust.INSTANCE
fileTypeName.contains("swift") -> CodeWhispererSwift.INSTANCE
fileTypeName.contains("lua") -> CodeWhispererLua.INSTANCE
fileTypeName.contains("dart") -> CodeWhispererDart.INSTANCE
fileTypeName.contains("vue") -> CodeWhispererVue.INSTANCE
fileTypeName.contains("systemverilog") -> CodeWhispererSystemVerilog.INSTANCE
fileTypeName.contains("powershell") -> CodeWhispererPowershell.INSTANCE
fileTypeName.contains("shell") -> CodeWhispererShell.INSTANCE
fileTypeName == "r" -> CodeWhispererR.INSTANCE
// fileTypeName.contains("plain_text") -> CodeWhispererPlainText.INSTANCE // This needs to be removed because Hcl files are recognised as plain_text by JB
else -> null
}
Expand Down Expand Up @@ -125,7 +139,14 @@ class CodeWhispererLanguageManager {
listOf("go") to CodeWhispererGo.INSTANCE,
listOf("php") to CodeWhispererPhp.INSTANCE,
listOf("sql") to CodeWhispererSql.INSTANCE,
listOf("txt") to CodeWhispererPlainText.INSTANCE
listOf("txt") to CodeWhispererPlainText.INSTANCE,
listOf("sv", "svh", "vh") to CodeWhispererSystemVerilog.INSTANCE,
listOf("dart") to CodeWhispererDart.INSTANCE,
listOf("lua", "wlua") to CodeWhispererLua.INSTANCE,
listOf("swift") to CodeWhispererSwift.INSTANCE,
listOf("vue") to CodeWhispererVue.INSTANCE,
listOf("ps1", "psm1") to CodeWhispererPowershell.INSTANCE,
listOf("r") to CodeWhispererR.INSTANCE,
).map {
val exts = it.first
val lang = it.second
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererDart private constructor() : CodeWhispererProgrammingLanguage() {

Check warning on line 9 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererDart.kt

View workflow job for this annotation

GitHub Actions / qodana

Extension class should be final and non-public

Extension class should not be public
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Dart

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererDart.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "dart"

val INSTANCE = CodeWhispererDart()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererLua private constructor() : CodeWhispererProgrammingLanguage() {
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Lua

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererLua.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "lua"

val INSTANCE = CodeWhispererLua()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererPowershell private constructor() : CodeWhispererProgrammingLanguage() {
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Powershell

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererPowershell.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "powershell"

val INSTANCE = CodeWhispererPowershell()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererR private constructor() : CodeWhispererProgrammingLanguage() {

Check warning on line 9 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererR.kt

View workflow job for this annotation

GitHub Actions / qodana

Extension class should be final and non-public

Extension class should not be public
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.R

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererR.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "r"

val INSTANCE = CodeWhispererR()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererSwift private constructor() : CodeWhispererProgrammingLanguage() {
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Swift

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererSwift.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "swift"

val INSTANCE = CodeWhispererSwift()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererSystemVerilog private constructor() : CodeWhispererProgrammingLanguage() {
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.SystemVerilog

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererSystemVerilog.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "systemVerilog"

val INSTANCE = CodeWhispererSystemVerilog()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

package software.aws.toolkits.jetbrains.services.codewhisperer.language.languages

import software.aws.toolkits.jetbrains.services.codewhisperer.language.CodeWhispererProgrammingLanguage
import software.aws.toolkits.telemetry.CodewhispererLanguage

class CodeWhispererVue private constructor() : CodeWhispererProgrammingLanguage() {

Check warning on line 9 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererVue.kt

View workflow job for this annotation

GitHub Actions / qodana

Extension class should be final and non-public

Extension class should not be public
override val languageId: String = ID

override fun toTelemetryType(): CodewhispererLanguage = CodewhispererLanguage.Vue

// TODO: enable it when service is ready
override fun isCodeCompletionSupported(): Boolean = false

companion object {

Check warning on line 17 in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/language/languages/CodeWhispererVue.kt

View workflow job for this annotation

GitHub Actions / qodana

Companion object in extensions

Companion objects in IDE extension implementations may only contain a logger and constants
// TODO: confirm with service team language id
const val ID = "vue"

val INSTANCE = CodeWhispererVue()
}
}
Loading
Loading