summaryrefslogtreecommitdiff
path: root/internal/lsp/handlers_completion.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lsp/handlers_completion.go')
-rw-r--r--internal/lsp/handlers_completion.go22
1 files changed, 16 insertions, 6 deletions
diff --git a/internal/lsp/handlers_completion.go b/internal/lsp/handlers_completion.go
index d6529de..e6d8951 100644
--- a/internal/lsp/handlers_completion.go
+++ b/internal/lsp/handlers_completion.go
@@ -93,8 +93,10 @@ func extractTriggerInfo(p CompletionParams) (kind int, ch string) {
logging.Logf("lsp ", "extractTriggerInfo: unmarshal raw context: %v", err)
}
} else {
- b, _ := json.Marshal(p.Context)
- if err := json.Unmarshal(b, &ctx); err != nil {
+ b, err := json.Marshal(p.Context)
+ if err != nil {
+ logging.Logf("lsp ", "extractTriggerInfo: marshal context: %v", err)
+ } else if err := json.Unmarshal(b, &ctx); err != nil {
logging.Logf("lsp ", "extractTriggerInfo: unmarshal context: %v", err)
}
}
@@ -325,7 +327,10 @@ func (s *Server) executeChatCompletion(ctx context.Context, plan completionPlan,
}
s.incRecvCounters(len(text))
modelUsed := spec.effectiveModel(client.DefaultModel())
- _ = stats.Update(ctx, client.Name(), modelUsed, sentSize, len(text))
+ // Update global stats cache; log but don't fail on stats errors
+ if err := stats.Update(ctx, client.Name(), modelUsed, sentSize, len(text)); err != nil {
+ logging.Logf("lsp ", "stats update error: %v", err)
+ }
s.logLLMStats(modelUsed)
trimmed := strings.TrimSpace(text)
cursorByte := utf16OffsetToByteOffset(plan.current, plan.params.Position.Character)
@@ -357,8 +362,10 @@ func parseManualInvoke(ctx any) bool {
logging.Logf("lsp ", "parseManualInvoke: unmarshal raw context: %v", err)
}
} else {
- b, _ := json.Marshal(ctx)
- if err := json.Unmarshal(b, &c); err != nil {
+ b, err := json.Marshal(ctx)
+ if err != nil {
+ logging.Logf("lsp ", "parseManualInvoke: marshal context: %v", err)
+ } else if err := json.Unmarshal(b, &c); err != nil {
logging.Logf("lsp ", "parseManualInvoke: unmarshal context: %v", err)
}
}
@@ -501,7 +508,10 @@ func (s *Server) tryProviderNativeCompletion(ctx context.Context, plan completio
}
s.incSentCounters(sentBytes)
s.incRecvCounters(len(suggestions[0]))
- _ = stats.Update(ctx2, client.Name(), modelUsed, sentBytes, len(suggestions[0]))
+ // Update global stats cache; log but don't fail on stats errors
+ if err := stats.Update(ctx2, client.Name(), modelUsed, sentBytes, len(suggestions[0])); err != nil {
+ logging.Logf("lsp ", "stats update error: %v", err)
+ }
s.logLLMStats(modelUsed)
cleaned := s.postProcessNativeCompletion(suggestions[0], current, p.Position.Character)
if cleaned == "" {