diff options
Diffstat (limited to 'script/vm/eachDef.lua')
-rw-r--r-- | script/vm/eachDef.lua | 50 |
1 files changed, 4 insertions, 46 deletions
diff --git a/script/vm/eachDef.lua b/script/vm/eachDef.lua index d72c8f01..6f7af295 100644 --- a/script/vm/eachDef.lua +++ b/script/vm/eachDef.lua @@ -1,49 +1,7 @@ ---@type vm -local vm = require 'vm.vm' -local guide = require 'core.guide' -local files = require 'files' -local util = require 'utility' -local await = require 'await' -local config = require 'config' +local vm = require 'vm.vm' +local searcher = require 'core.searcher' -local function getDefs(source, deep) - local results = {} - local lock = vm.lock('eachDef', source) - if not lock then - return results - end - - await.delay() - - deep = config.config.intelliSense.searchDepth + (deep or 0) - - local clock = os.clock() - local myResults, count = guide.requestDefinition(source, vm.interface, deep) - if DEVELOP and os.clock() - clock > 0.1 then - log.warn('requestDefinition', count, os.clock() - clock, guide.getUri(source), util.dump(source, { deep = 1 })) - end - vm.mergeResults(results, myResults) - - lock() - - return results -end - -function vm.getDefs(source, deep) - deep = deep or -999 - if guide.isGlobal(source) then - local key = guide.getKeyName(source) - if not key then - return {} - end - return vm.getGlobalSets(key) - else - local cache = vm.getCache('eachDef')[source] - if not cache or cache.deep < deep then - cache = getDefs(source, deep) - cache.deep = deep - vm.getCache('eachDef')[source] = cache - end - return cache - end +function vm.getDefs(source, field) + return searcher.requestDefinition(source, field) end |