From d8a6967485720cb18f5e999af50d3bec9b6d73da Mon Sep 17 00:00:00 2001 From: blankll Date: Fri, 8 May 2026 14:29:59 +0800 Subject: [PATCH] fix(completion): use InsertAsSnippet for query language commands Query language commands (ESQL, SQL, EQL, PPL) use $0 snippet placeholders in their insertText, but the completion provider was inserting them as plain text (InsertTextRule.None). This caused literal $0 to appear in the editor when accepting completions like WHERE, FROM, SELECT, etc. Changed insertTextRules from None to InsertAsSnippet so Monaco correctly interprets the snippet placeholders. Fixes #412 --- src/common/monaco/searchdsl/completionProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/monaco/searchdsl/completionProvider.ts b/src/common/monaco/searchdsl/completionProvider.ts index b20e868c..72f65e7c 100644 --- a/src/common/monaco/searchdsl/completionProvider.ts +++ b/src/common/monaco/searchdsl/completionProvider.ts @@ -761,7 +761,7 @@ const provideBodyCompletions = ( label: cmd.label, kind: monaco.languages.CompletionItemKind.Keyword, insertText: cmd.insertText, - insertTextRules: monaco.languages.CompletionItemInsertTextRule.None, + insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet, detail: cmd.description, sortText: String(cmd.sortOrder).padStart(3, '0'), range,