diff --git a/public/app/plugins/datasource/tempo/traceql/autocomplete.ts b/public/app/plugins/datasource/tempo/traceql/autocomplete.ts index 83e5f8d9650..d31d5c64ead 100644 --- a/public/app/plugins/datasource/tempo/traceql/autocomplete.ts +++ b/public/app/plugins/datasource/tempo/traceql/autocomplete.ts @@ -427,13 +427,7 @@ export class CompletionProvider implements monacoTypes.languages.CompletionItemP private getTagsCompletions(prepend?: string, scope?: string): CompletionItem[] { const tags = this.languageProvider.getTraceqlAutocompleteTags(scope); - return tags - .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'accent' })) - .map((key) => ({ - label: key, - insertText: (prepend || '') + key, - type: 'TAG_NAME', - })); + return tagsToCompletionItems(tags, prepend); } private getIntrinsicsCompletions(prepend?: string, append?: string): CompletionItem[] { @@ -549,3 +543,13 @@ function fixSuggestion( } } } + +const collator = new Intl.Collator('en', { sensitivity: 'accent' }); + +function tagsToCompletionItems(tags: string[], prepend = ''): CompletionItem[] { + return tags.sort(collator.compare).map((key) => ({ + label: key, + insertText: `${prepend}${key}`, + type: 'TAG_NAME', + })); +}