From 484fce1f835957cf9aded0a243ef4c25c8f74fac Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Tue, 13 May 2025 11:03:39 +0100 Subject: [PATCH] fix: next edit calls upon empty completion --- .../CodeCompletionEventListener.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/codecompletions/CodeCompletionEventListener.kt b/src/main/kotlin/ee/carlrobert/codegpt/codecompletions/CodeCompletionEventListener.kt index 2b6696fb..f4f139e2 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/codecompletions/CodeCompletionEventListener.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/codecompletions/CodeCompletionEventListener.kt @@ -122,25 +122,17 @@ class CodeCompletionEventListener( val parsedContent = parseOutput(firstLine + remainingContent) if (parsedContent.isNotEmpty()) { - cache?.setCache(prefix, suffix, firstLine + parsedContent) + cache?.setCache(prefix, suffix, parsedContent) CodeGPTKeys.REMAINING_CODE_COMPLETION.set( editor, PartialCodeCompletionResponse.newBuilder() - .setPartialCompletion(remainingContent) + .setPartialCompletion(parsedContent.removePrefix(firstLine ?: "")) .build() ) } } else { val formattedLine = CodeCompletionFormatter(editor).format(finalResult.toString()) - if (formattedLine.isEmpty()) { - editor.project?.service()?.getNextEdit( - editor, - prefix + suffix, - runReadAction { editor.caretModel.offset }) - return - } - if (isNotAllowed(formattedLine)) { return } @@ -181,6 +173,13 @@ class CodeCompletionEventListener( private fun handleCompleted() { setLoading(false) + + if (messageBuilder.isEmpty()) { + editor.project?.service()?.getNextEdit( + editor, + prefix + suffix, + runReadAction { editor.caretModel.offset }) + } } private fun setLoading(loading: Boolean) { @@ -196,7 +195,7 @@ class CodeCompletionEventListener( return CodeCompletionParserFactory .getParserForFileExtension(editor.virtualFile.extension) - .parse(prefix, suffix, (firstLine ?: "") + input) + .parse(prefix, suffix, input) .trimEnd() } } \ No newline at end of file