diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/service.lua | 1 | ||||
-rw-r--r-- | server/src/vm/value.lua | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/server/src/service.lua b/server/src/service.lua index 508c135d..2e7f43b9 100644 --- a/server/src/service.lua +++ b/server/src/service.lua @@ -220,6 +220,7 @@ function mt:readText(uri, path, buf, compiled) return end if #text > 100000 then + log.info(('Skip large file, size: %.3f KB: %s'):format(#text / 1000.0, uri)) return end if self:getCachedFileCount() >= config.config.workspace.maxPreload then diff --git a/server/src/vm/value.lua b/server/src/vm/value.lua index 162a5619..9ffd55bc 100644 --- a/server/src/vm/value.lua +++ b/server/src/vm/value.lua @@ -225,6 +225,7 @@ function mt:flushChild() end infos._count = count infos._limit = count + 10 + infos._version = listMgr.getVersion() for index in pairs(self._child) do if not alived[index] then self._child[index] = nil @@ -390,8 +391,9 @@ function mt:addInfo(tp, source, ...) } infos[id] = info infos._count = (infos._count or 0) + 1 + local version = listMgr.getVersion() -- 只有全局值需要压缩info - if self._global and infos._count > (infos._limit or 10) then + if self._global and infos._count > (infos._limit or 10) and infos._version ~= version then local count = 0 for srcId in pairs(infos) do local src = listMgr.get(srcId) @@ -403,6 +405,7 @@ function mt:addInfo(tp, source, ...) end infos._count = count infos._limit = count + 10 + infos._version = version end end @@ -419,6 +422,7 @@ function mt:eachInfo(callback) end infos._count = #list infos._limit = infos._count + 10 + infos._version = listMgr.getVersion() table.sort(list, function (a, b) return a._sort < b._sort end) |