diff options
-rw-r--r-- | .vscode/launch.json | 2 | ||||
-rw-r--r-- | script/core/completion.lua | 6 | ||||
-rw-r--r-- | script/core/diagnostics/init.lua | 3 | ||||
-rw-r--r-- | script/utility.lua | 4 | ||||
-rw-r--r-- | test/full/init.lua | 18 | ||||
-rw-r--r-- | test/full/projects.lua | 4 |
6 files changed, 32 insertions, 5 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json index 0826aeb6..3ba84cd2 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -30,7 +30,7 @@ "type": "lua", "request": "attach", "stopOnEntry": true, - "address": "127.0.0.1:11489", + "address": "127.0.0.1:11413", "outputCapture": [ ], "sourceMaps": [ diff --git a/script/core/completion.lua b/script/core/completion.lua index 9f35c4ac..d261b302 100644 --- a/script/core/completion.lua +++ b/script/core/completion.lua @@ -132,6 +132,9 @@ local function buildFunctionSnip(source, value, oop) end local function buildDetail(source) + if source.type == 'dummy' then + return + end local types = infer.searchAndViewInfers(source) local literals = infer.searchAndViewLiterals(source) if literals then @@ -170,6 +173,9 @@ local function getSnip(source) end local function buildDesc(source) + if source.type == 'dummy' then + return + end local hover = getHover.get(source) local md = markdown() md:add('lua', hover.label) diff --git a/script/core/diagnostics/init.lua b/script/core/diagnostics/init.lua index 82107a2d..5446a7c3 100644 --- a/script/core/diagnostics/init.lua +++ b/script/core/diagnostics/init.lua @@ -59,6 +59,9 @@ local function check(uri, name, results) if passed >= 0.5 then log.warn(('Diagnostics [%s] @ [%s] takes [%.3f] sec!'):format(name, uri, passed)) end + if DIAGTIMES then + DIAGTIMES[name] = (DIAGTIMES[name] or 0) + passed + end end return function (uri, response) diff --git a/script/utility.lua b/script/utility.lua index 04597a39..16c5e0c9 100644 --- a/script/utility.lua +++ b/script/utility.lua @@ -317,12 +317,12 @@ end --- 排序后遍历 ---@param t table -function m.sortPairs(t) +function m.sortPairs(t, sorter) local keys = {} for k in pairs(t) do keys[#keys+1] = k end - tableSort(keys) + tableSort(keys, sorter) local i = 0 return function () i = i + 1 diff --git a/test/full/init.lua b/test/full/init.lua index f292a573..b410e3b3 100644 --- a/test/full/init.lua +++ b/test/full/init.lua @@ -1,4 +1,6 @@ local parser = require 'parser' +local config = require 'config' +local util = require 'utility' rawset(_G, 'TEST', true) @@ -8,8 +10,24 @@ function TEST(script) return ast end +local function startCollectDiagTimes() + for name in pairs(config.config.diagnostics.neededFileStatus) do + if name ~= 'no-implicit-any' then + config.config.diagnostics.neededFileStatus[name] = 'Any' + end + end + DIAGTIMES = {} +end + require 'full.normal' require 'full.example' require 'full.dirty' require 'full.projects' +startCollectDiagTimes() require 'full.self' + +for name, time in util.sortPairs(DIAGTIMES, function (k1, k2) + return DIAGTIMES[k1] < DIAGTIMES[k2] +end) do + print('诊断任务耗时:', name, time) +end diff --git a/test/full/projects.lua b/test/full/projects.lua index 9543f525..54192ee7 100644 --- a/test/full/projects.lua +++ b/test/full/projects.lua @@ -39,5 +39,5 @@ local function doProjects(pathname) print('基准全量诊断用时:', passed) end -doProjects [[C:\SSSEditor\client\Output\Lua]] -doProjects [[C:\W3-Server\script]] +--doProjects [[C:\SSSEditor\client\Output\Lua]] +--doProjects [[C:\W3-Server\script]] |