feat: display web docs progress

This commit is contained in:
Carl-Robert Linnupuu 2024-08-22 18:40:50 +03:00
parent 1016041c40
commit d672d28474
11 changed files with 195 additions and 32 deletions

View file

@ -31,6 +31,7 @@ import ee.carlrobert.codegpt.toolwindow.ui.ChatToolWindowLandingPanel;
import ee.carlrobert.codegpt.ui.OverlayUtil;
import ee.carlrobert.codegpt.ui.textarea.AppliedActionInlay;
import ee.carlrobert.codegpt.ui.textarea.UserInputPanel;
import ee.carlrobert.codegpt.ui.textarea.suggestion.item.CreateDocumentationActionItem;
import ee.carlrobert.codegpt.ui.textarea.suggestion.item.DocumentationActionItem;
import ee.carlrobert.codegpt.ui.textarea.suggestion.item.PersonaActionItem;
import ee.carlrobert.codegpt.ui.textarea.suggestion.item.WebSearchActionItem;
@ -174,7 +175,8 @@ public class ChatToolWindowTabPanel implements Disposable {
.withReloadAction(() -> reloadMessage(message, conversation, conversationType))
.withDeleteAction(() -> removeMessage(message.getId(), conversation))
.addContent(
new ChatMessageResponseBody(project, true, false, message.isWebSearchIncluded(), this));
new ChatMessageResponseBody(project, true, false, message.isWebSearchIncluded(),
message.getDocumentationDetails() != null, this));
}
private void reloadMessage(
@ -263,7 +265,8 @@ public class ChatToolWindowTabPanel implements Disposable {
var addedDocumentation = CodeGPTKeys.ADDED_DOCUMENTATION.get(project);
var appliedInlayExists = appliedInlayActions.stream()
.anyMatch(it -> it.getSuggestion() instanceof DocumentationActionItem);
.anyMatch(it -> it.getSuggestion() instanceof DocumentationActionItem
|| it.getSuggestion() instanceof CreateDocumentationActionItem);
if (addedDocumentation != null && appliedInlayExists) {
message.setDocumentationDetails(addedDocumentation);
CodeGPTKeys.ADDED_DOCUMENTATION.set(project, null);
@ -271,7 +274,7 @@ public class ChatToolWindowTabPanel implements Disposable {
var addedPersona = CodeGPTKeys.ADDED_PERSONA.get(project);
var personaInlayExists = appliedInlayActions.stream()
.anyMatch(it -> it.getSuggestion() instanceof PersonaActionItem);
.anyMatch(it -> it.getSuggestion() instanceof PersonaActionItem);
if (addedPersona != null && personaInlayExists) {
message.setPersonaDetails(addedPersona);
CodeGPTKeys.ADDED_PERSONA.set(project, null);