diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2020-09-08 23:35:22 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2020-09-08 23:35:22 +0800 |
commit | 1dfee9623937c0619b3aaf3e2139afcc14351042 (patch) | |
tree | df7408af00187388a29b05cad9c05518256c05ed | |
parent | 0ecd76a8ac07687e7c8a79ed2fc34a5794cc1c8f (diff) | |
download | lua-language-server-1dfee9623937c0619b3aaf3e2139afcc14351042.zip |
detail
-rw-r--r-- | script-beta/core/completion.lua | 7 | ||||
-rw-r--r-- | test-beta/completion/init.lua | 60 |
2 files changed, 26 insertions, 41 deletions
diff --git a/script-beta/core/completion.lua b/script-beta/core/completion.lua index f3c330b5..24efbf7b 100644 --- a/script-beta/core/completion.lua +++ b/script-beta/core/completion.lua @@ -157,7 +157,12 @@ end local function buildDetail(source) local types = vm.getInferType(source) - return types + local literals = vm.getInferLiteral(source) + if literals then + return types .. ' = ' .. literals + else + return types + end end local function buildDesc(source) diff --git a/test-beta/completion/init.lua b/test-beta/completion/init.lua index 3250b838..e950b40c 100644 --- a/test-beta/completion/init.lua +++ b/test-beta/completion/init.lua @@ -33,6 +33,12 @@ end rawset(_G, 'TEST', true) +local cared = { + ['label'] = true, + ['kind'] = true, + ['textEdit'] = true, +} + function TEST(script) return function (expect) files.removeAll() @@ -47,12 +53,12 @@ function TEST(script) end assert(result ~= nil) for _, item in ipairs(result) do - core.resolve(item.id) + local r = core.resolve(item.id) + for k, v in pairs(r or {}) do + item[k] = v + end for k in pairs(item) do - if k ~= 'label' - and k ~= 'kind' - and k ~= 'textEdit' - and k ~= 'description' then + if not cared[k] then item[k] = nil end end @@ -475,7 +481,6 @@ collectgarbage('$') { label = "'collect'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -485,7 +490,6 @@ collectgarbage('$') { label = "'stop'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -495,7 +499,6 @@ collectgarbage('$') { label = "'restart'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -505,7 +508,6 @@ collectgarbage('$') { label = "'count'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -515,7 +517,6 @@ collectgarbage('$') { label = "'step'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -525,7 +526,6 @@ collectgarbage('$') { label = "'setpause'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -535,7 +535,6 @@ collectgarbage('$') { label = "'setstepmul'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -545,7 +544,6 @@ collectgarbage('$') { label = "'isrunning'", kind = CompletionItemKind.EnumMember, - description = EXISTS, textEdit = { start = 16, finish = 17, @@ -561,22 +559,18 @@ io.read($) { label = '"n"', kind = CompletionItemKind.EnumMember, - description = EXISTS, }, { label = '"a"', kind = CompletionItemKind.EnumMember, - description = EXISTS, }, { label = '"l"', kind = CompletionItemKind.EnumMember, - description = EXISTS, }, { label = '"L"', kind = CompletionItemKind.EnumMember, - description = EXISTS, }, } @@ -621,26 +615,22 @@ self.results.list[#$] = 1 }, } --- TODO -do return end - TEST [[ self.results.list[#self.re$] ]] { { - label = 'self.results.list+1', + label = '#self.results.list+1', kind = CompletionItemKind.Snippet, textEdit = { - start = 20, + start = 19, finish = 27, - newText = 'self.results.list+1] = ', + newText = '#self.results.list+1] = ', }, }, { label = 'results', kind = CompletionItemKind.Field, - detail = EXISTS, }, } @@ -649,21 +639,23 @@ fff[#ff$] ]] { { - label = 'fff+1', + label = '#fff+1', kind = CompletionItemKind.Snippet, textEdit = { - start = 6, + start = 5, finish = 8, - newText = 'fff+1] = ', + newText = '#fff+1] = ', }, }, { label = 'fff', kind = CompletionItemKind.Field, - detail = EXISTS, } } +-- TODO +do return end + TEST [[ local _ = fff.kkk[#$] ]] @@ -880,26 +872,22 @@ else$ { label = 'select', kind = CompletionItemKind.Function, - description = EXISTS, detail = EXISTS, }, { label = 'select()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = EXISTS, }, { label = 'setmetatable', kind = CompletionItemKind.Function, - description = EXISTS, detail = EXISTS, }, { label = 'setmetatable()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = EXISTS, }, @@ -930,13 +918,11 @@ xpcal$ { label = 'xpcall', kind = CompletionItemKind.Function, - description = EXISTS, detail = EXISTS, }, { label = 'xpcall()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = EXISTS, }, @@ -952,13 +938,11 @@ mt:f$ { label = 'f', kind = CompletionItemKind.Method, - description = EXISTS, detail = EXISTS, }, { label = 'f()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = 'f(${1:a: any}, ${2:b: any}, ${3:c: any})', }, @@ -1244,26 +1228,22 @@ end { label = 'select', kind = CompletionItemKind.Function, - description = EXISTS, detail = EXISTS, }, { label = 'select()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = EXISTS, }, { label = 'setmetatable', kind = CompletionItemKind.Function, - description = EXISTS, detail = EXISTS, }, { label = 'setmetatable()', kind = CompletionItemKind.Snippet, - description = EXISTS, detail = EXISTS, insertText = EXISTS, }, |