From 1df69099d2f4fa765806e1bab5c56cb1cbbad6a9 Mon Sep 17 00:00:00 2001 From: kevinhwang91 Date: Wed, 6 Apr 2022 02:32:07 +0800 Subject: [PATCH] feat(completion): use Lua code as snippet description --- script/core/completion/completion.lua | 16 ++++++++++++++-- test/completion/common.lua | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/script/core/completion/completion.lua b/script/core/completion/completion.lua index 06b46de95..53a80fc3d 100644 --- a/script/core/completion/completion.lua +++ b/script/core/completion/completion.lua @@ -1349,11 +1349,23 @@ local function pushCallEnumsAndFuncs(defs) } end if def.type == 'doc.type.function' then + local insertText = buildInsertDocFunction(def) + local description + if def.comment then + description = def.comment + else + local descText = insertText:gsub('%$%{%d+:([^}]+)%}', function (val) + return val + end):gsub('%$%{?%d+%}?', '') + description = markdown() + : add('lua', descText) + : string() + end results[#results+1] = { label = infer.viewDocFunction(def), - description = def.comment, + description = description, kind = define.CompletionItemKind.Function, - insertText = buildInsertDocFunction(def), + insertText = insertText, } end end diff --git a/test/completion/common.lua b/test/completion/common.lua index 58b27fe73..8128d2ab8 100644 --- a/test/completion/common.lua +++ b/test/completion/common.lua @@ -1895,6 +1895,12 @@ f() function (${1:x}, ${2:y})\ \t$0\ end", + description = "\z +```lua\ +function (x, y)\ +\t\ +end\ +```" }, }