@@ -25,6 +25,7 @@ import kotlinx.coroutines.Job
25
25
import kotlinx.coroutines.delay
26
26
import kotlinx.coroutines.launch
27
27
import kotlinx.coroutines.yield
28
+ import software.amazon.awssdk.services.codewhispererruntime.model.DiagnosticSeverity
28
29
import software.amazon.awssdk.services.codewhispererruntime.model.IdeDiagnostic
29
30
import software.amazon.awssdk.services.codewhispererruntime.model.OptOutPreference
30
31
import software.amazon.awssdk.services.codewhispererruntime.model.Position
@@ -355,17 +356,16 @@ enum class CaretMovement {
355
356
NO_CHANGE , MOVE_FORWARD , MOVE_BACKWARD
356
357
}
357
358
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
+
358
367
fun getDiagnosticsType (message : String ): String {
359
368
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
-
369
369
return diagnosticPatterns
370
370
.entries
371
371
.firstOrNull { (_, keywords) ->
@@ -374,19 +374,19 @@ fun getDiagnosticsType(message: String): String {
374
374
?.key ? : " OTHER"
375
375
}
376
376
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
379
379
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
384
384
// For severities that might indicate performance issues
385
- severity.toString().contains(" PERFORMANCE" , ignoreCase = true ) -> " WARNING"
385
+ severity.toString().contains(" PERFORMANCE" , ignoreCase = true ) -> DiagnosticSeverity . WARNING
386
386
// For deprecation warnings
387
- severity.toString().contains(" DEPRECATED" , ignoreCase = true ) -> " WARNING"
387
+ severity.toString().contains(" DEPRECATED" , ignoreCase = true ) -> DiagnosticSeverity . WARNING
388
388
// Default case
389
- else -> " INFORMATION"
389
+ else -> DiagnosticSeverity . INFORMATION
390
390
}
391
391
392
392
fun getDocumentDiagnostics (document : Document , project : Project ): List <IdeDiagnostic > = runCatching {
0 commit comments