diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2020-08-15 18:57:58 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2020-08-15 18:57:58 +0800 |
commit | 674892abc53ad6752326135c8aaf60073f80b632 (patch) | |
tree | c9376e1f76975834ad49f785f7f31b33e7661059 /script-beta/provider | |
parent | 67eae45b182fc8a7302970d71af4e76eafab0a2e (diff) | |
download | lua-language-server-674892abc53ad6752326135c8aaf60073f80b632.zip |
先保证自动完成的速度
Diffstat (limited to 'script-beta/provider')
-rw-r--r-- | script-beta/provider/diagnostic.lua | 5 | ||||
-rw-r--r-- | script-beta/provider/provider.lua | 17 |
2 files changed, 15 insertions, 7 deletions
diff --git a/script-beta/provider/diagnostic.lua b/script-beta/provider/diagnostic.lua index 92aa01c2..28f0cf8e 100644 --- a/script-beta/provider/diagnostic.lua +++ b/script-beta/provider/diagnostic.lua @@ -212,13 +212,16 @@ end function m.start() m._start = true - m.diagnosticsAll() + --m.diagnosticsAll() end files.watch(function (env, uri) if env == 'remove' then m.clear(uri) elseif env == 'update' then + if not m._start then + return + end await.create(function () await.delay(function () return files.globalVersion diff --git a/script-beta/provider/provider.lua b/script-beta/provider/provider.lua index aa649370..ba635255 100644 --- a/script-beta/provider/provider.lua +++ b/script-beta/provider/provider.lua @@ -319,7 +319,7 @@ proto.on('textDocument/completion', function (params) if not result then return nil end - local easy = true + local easy = false local items = {} for i, res in ipairs(result) do local item = { @@ -332,11 +332,13 @@ proto.on('textDocument/completion', function (params) if res.id then if easy and os.clock() - clock < 0.05 then local resolved = core.resolve(res.id) - item.detail = resolved.detail - item.documentation = resolved.description and { - value = resolved.description, - kind = 'markdown', - } + if resolved then + item.detail = resolved.detail + item.documentation = resolved.description and { + value = resolved.description, + kind = 'markdown', + } + end else easy = false item.data = { @@ -362,6 +364,9 @@ proto.on('completionItem/resolve', function (item) end await.setPriority(1000) local resolved = core.resolve(id) + if not resolved then + return nil + end item.detail = resolved.detail item.documentation = resolved.description and { value = resolved.description, |