From 5c8e88d6ab270cc82aeb5875aa16e2ae0a1a5168 Mon Sep 17 00:00:00 2001 From: Hariom Maurya Date: Thu, 11 Jan 2024 20:22:19 +0530 Subject: [PATCH] Tempo: Add `}` when `{` is inserted automatically (#80113) --- .../plugins/datasource/tempo/traceql/autocomplete.test.ts | 8 ++++---- .../app/plugins/datasource/tempo/traceql/autocomplete.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/app/plugins/datasource/tempo/traceql/autocomplete.test.ts b/public/app/plugins/datasource/tempo/traceql/autocomplete.test.ts index 4b2e6b0d5f5..a19e9bf92cb 100644 --- a/public/app/plugins/datasource/tempo/traceql/autocomplete.test.ts +++ b/public/app/plugins/datasource/tempo/traceql/autocomplete.test.ts @@ -137,8 +137,8 @@ describe('CompletionProvider', () => { const { provider, model } = setup('', 0, v1Tags); const result = await provider.provideCompletionItems(model, emptyPosition); expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([ - ...scopes.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })), - ...intrinsics.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })), + ...scopes.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}$0 }` })), + ...intrinsics.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}$0 }` })), expect.objectContaining({ label: 'bar', insertText: '{ .bar' }), expect.objectContaining({ label: 'foo', insertText: '{ .foo' }), expect.objectContaining({ label: 'status', insertText: '{ .status' }), @@ -149,8 +149,8 @@ describe('CompletionProvider', () => { const { provider, model } = setup('', 0, undefined, v2Tags); const result = await provider.provideCompletionItems(model, emptyPosition); expect((result! as monacoTypes.languages.CompletionList).suggestions).toEqual([ - ...scopes.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })), - ...intrinsics.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}` })), + ...scopes.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}$0 }` })), + ...intrinsics.map((s) => expect.objectContaining({ label: s, insertText: `{ ${s}$0 }` })), expect.objectContaining({ label: 'cluster', insertText: '{ .cluster' }), expect.objectContaining({ label: 'container', insertText: '{ .container' }), expect.objectContaining({ label: 'db', insertText: '{ .db' }), diff --git a/public/app/plugins/datasource/tempo/traceql/autocomplete.ts b/public/app/plugins/datasource/tempo/traceql/autocomplete.ts index b843bb385c2..dbffedefb18 100644 --- a/public/app/plugins/datasource/tempo/traceql/autocomplete.ts +++ b/public/app/plugins/datasource/tempo/traceql/autocomplete.ts @@ -305,8 +305,8 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP return []; } case 'EMPTY': { - return this.getScopesCompletions('{ ') - .concat(this.getIntrinsicsCompletions('{ ')) + return this.getScopesCompletions('{ ', '$0 }') + .concat(this.getIntrinsicsCompletions('{ ', '$0 }')) .concat(this.getTagsCompletions('{ .')); } case 'SPANSET_EMPTY':