diff --git a/client/cody/src/completions/index.ts b/client/cody/src/completions/index.ts index cffecee7fbe0..fdb83d2d3c00 100644 --- a/client/cody/src/completions/index.ts +++ b/client/cody/src/completions/index.ts @@ -13,7 +13,6 @@ import { CompletionsDocumentProvider } from './docprovider' import { History } from './history' import { CompletionProvider, InlineCompletionProvider, ManualCompletionProvider } from './provider' -const LOG_INLINE = { type: 'inline' } const LOG_MANUAL = { type: 'manual' } function lastNLines(text: string, n: number): string { @@ -161,6 +160,8 @@ export class CodyCompletionItemProvider implements vscode.InlineCompletionItemPr return [] } + let multilineMode: null | 'block' = null + // TODO(philipp-spiess): Add a better detection for start-of-block and don't require C like // languages. const multilineEnabledLanguage = @@ -173,6 +174,7 @@ export class CodyCompletionItemProvider implements vscode.InlineCompletionItemPr prefix.trim().at(prefix.trim().length - 1) === '{' ) { timeout = 500 + multilineMode = 'block' completers.push( new InlineCompletionProvider( this.completionsClient, @@ -183,7 +185,7 @@ export class CodyCompletionItemProvider implements vscode.InlineCompletionItemPr suffix, '', 3, - 'block' // multiline + multilineMode ) ) } else if (precedingLine.trim() === '') { @@ -241,7 +243,12 @@ export class CodyCompletionItemProvider implements vscode.InlineCompletionItemPr return [] } - logEvent('CodyVSCodeExtension:completion:started', LOG_INLINE, LOG_INLINE) + const logParams = { + type: 'inline', + multilineMode, + } + + logEvent('CodyVSCodeExtension:completion:started', logParams, logParams) const start = Date.now() const results = rankCompletions( @@ -249,8 +256,8 @@ export class CodyCompletionItemProvider implements vscode.InlineCompletionItemPr ) if (hasVisibleCompletions(results)) { - const params = { ...LOG_INLINE, latency: Date.now() - start, timeout } - logEvent('CodyVSCodeExtension:completion:suggested', params, params) + const logParamsWithTimings = { ...logParams, latency: Date.now() - start, timeout } + logEvent('CodyVSCodeExtension:completion:suggested', logParamsWithTimings, logParamsWithTimings) inlineCompletionsCache.add(results) return results.map(toInlineCompletionItem) }