@@ -25,6 +25,7 @@ import kotlinx.coroutines.Job
2525import kotlinx.coroutines.delay
2626import kotlinx.coroutines.launch
2727import kotlinx.coroutines.yield
28+ import software.amazon.awssdk.services.codewhispererruntime.model.DiagnosticSeverity
2829import software.amazon.awssdk.services.codewhispererruntime.model.IdeDiagnostic
2930import software.amazon.awssdk.services.codewhispererruntime.model.OptOutPreference
3031import software.amazon.awssdk.services.codewhispererruntime.model.Position
@@ -355,17 +356,16 @@ enum class CaretMovement {
355356 NO_CHANGE , MOVE_FORWARD , MOVE_BACKWARD
356357}
357358
359+ val diagnosticPatterns = mapOf (
360+ " TYPE_ERROR" to listOf (" type" , " cast" ),
361+ " SYNTAX_ERROR" to listOf (" expected" , " indent" , " syntax" ),
362+ " REFERENCE_ERROR" to listOf (" undefined" , " not defined" , " undeclared" , " reference" , " symbol" ),
363+ " BEST_PRACTICE" to listOf (" deprecated" , " unused" , " uninitialized" , " not initialized" ),
364+ " SECURITY" to listOf (" security" , " vulnerability" )
365+ )
366+
358367fun getDiagnosticsType (message : String ): String {
359368 val lowercaseMessage = message.lowercase()
360-
361- val diagnosticPatterns = mapOf (
362- " TYPE_ERROR" to listOf (" type" , " cast" ),
363- " SYNTAX_ERROR" to listOf (" expected" , " indent" , " syntax" ),
364- " REFERENCE_ERROR" to listOf (" undefined" , " not defined" , " undeclared" , " reference" , " symbol" ),
365- " BEST_PRACTICE" to listOf (" deprecated" , " unused" , " uninitialized" , " not initialized" ),
366- " SECURITY" to listOf (" security" , " vulnerability" )
367- )
368-
369369 return diagnosticPatterns
370370 .entries
371371 .firstOrNull { (_, keywords) ->
@@ -374,19 +374,19 @@ fun getDiagnosticsType(message: String): String {
374374 ?.key ? : " OTHER"
375375}
376376
377- fun convertSeverity (severity : HighlightSeverity ): String = when {
378- severity == HighlightSeverity .ERROR -> " ERROR"
377+ fun convertSeverity (severity : HighlightSeverity ): DiagnosticSeverity = when {
378+ severity == HighlightSeverity .ERROR -> DiagnosticSeverity . ERROR
379379 severity == HighlightSeverity .WARNING ||
380- severity == HighlightSeverity .WEAK_WARNING -> " WARNING"
381- severity == HighlightSeverity .INFORMATION -> " INFORMATION"
382- severity.toString().contains(" TEXT" , ignoreCase = true ) -> " HINT"
383- severity == HighlightSeverity .INFO -> " INFORMATION"
380+ severity == HighlightSeverity .WEAK_WARNING -> DiagnosticSeverity . WARNING
381+ severity == HighlightSeverity .INFORMATION -> DiagnosticSeverity . INFORMATION
382+ severity.toString().contains(" TEXT" , ignoreCase = true ) -> DiagnosticSeverity . HINT
383+ severity == HighlightSeverity .INFO -> DiagnosticSeverity . INFORMATION
384384 // For severities that might indicate performance issues
385- severity.toString().contains(" PERFORMANCE" , ignoreCase = true ) -> " WARNING"
385+ severity.toString().contains(" PERFORMANCE" , ignoreCase = true ) -> DiagnosticSeverity . WARNING
386386 // For deprecation warnings
387- severity.toString().contains(" DEPRECATED" , ignoreCase = true ) -> " WARNING"
387+ severity.toString().contains(" DEPRECATED" , ignoreCase = true ) -> DiagnosticSeverity . WARNING
388388 // Default case
389- else -> " INFORMATION"
389+ else -> DiagnosticSeverity . INFORMATION
390390}
391391
392392fun getDocumentDiagnostics (document : Document , project : Project ): List <IdeDiagnostic > = runCatching {
0 commit comments