From 9d818a8eee984d35eb8e0261ebb6445e2d4bbc39 Mon Sep 17 00:00:00 2001 From: Jonathan Breedlove Date: Wed, 15 Jan 2025 12:40:58 -0800 Subject: [PATCH] Fall back to default chat options if LSP is unavailable (#326) --- .../lsp/AwsServerCapabiltiesProvider.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AwsServerCapabiltiesProvider.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AwsServerCapabiltiesProvider.java index 49602ca4..4f8a20f7 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AwsServerCapabiltiesProvider.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/lsp/AwsServerCapabiltiesProvider.java @@ -2,12 +2,30 @@ package software.aws.toolkits.eclipse.amazonq.lsp; +import java.util.Arrays; +import java.util.Collections; + import software.aws.toolkits.eclipse.amazonq.lsp.model.AwsServerCapabilities; import software.aws.toolkits.eclipse.amazonq.lsp.model.ChatOptions; +import software.aws.toolkits.eclipse.amazonq.lsp.model.Command; +import software.aws.toolkits.eclipse.amazonq.lsp.model.QuickActions; +import software.aws.toolkits.eclipse.amazonq.lsp.model.QuickActionsCommandGroup; public final class AwsServerCapabiltiesProvider { private static AwsServerCapabiltiesProvider instance; private AwsServerCapabilities serverCapabilties; + private static final ChatOptions DEFAULT_CHAT_OPTIONS = new ChatOptions( + new QuickActions( + Collections.singletonList( + new QuickActionsCommandGroup( + Arrays.asList( + new Command("/help", "Learn more about Amazon Q"), + new Command("/clear", "Clear this session") + ) + ) + ) + ) + ); public static synchronized AwsServerCapabiltiesProvider getInstance() { if (instance == null) { @@ -24,6 +42,6 @@ public ChatOptions getChatOptions() { if (serverCapabilties != null) { return serverCapabilties.chatOptions(); } - return null; + return DEFAULT_CHAT_OPTIONS; } }