diff --git a/src/main/java/software/amazon/smithy/lsp/diagnostics/SmithyDiagnostics.java b/src/main/java/software/amazon/smithy/lsp/diagnostics/SmithyDiagnostics.java index ce9c7652..03c1cf6f 100644 --- a/src/main/java/software/amazon/smithy/lsp/diagnostics/SmithyDiagnostics.java +++ b/src/main/java/software/amazon/smithy/lsp/diagnostics/SmithyDiagnostics.java @@ -208,9 +208,20 @@ default Diagnostic toDiagnostic(ValidationEvent event) { default -> DiagnosticSeverity.Hint; }; var diagnosticRange = getDiagnosticRange(event); - var message = event.getId() + ": " + event.getMessage(); + var message = getMessage(event); return new Diagnostic(diagnosticRange, message, diagnosticSeverity, "Smithy"); } + + String HINT_PREFIX = System.lineSeparator() + System.lineSeparator() + "Hint: "; + + private static String getMessage(ValidationEvent event) { + var hint = event.getHint().orElse(null); + if (hint == null) { + return event.getId() + ": " + event.getMessage(); + } + + return event.getId() + ": " + event.getMessage() + HINT_PREFIX + hint; + } } private record Simple() implements EventToDiagnostic {}