diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2018-12-05 17:34:12 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2018-12-05 17:34:12 +0800 |
commit | 2d19737aab53701661a41933e12df08edf078bc1 (patch) | |
tree | 8a3c38cafef6f1b8b0493c08c407ef851b7c488c /server/src | |
parent | 3fbeac740ba3f2839c6ac62373bfeb1f7b1ea32c (diff) | |
download | lua-language-server-2d19737aab53701661a41933e12df08edf078bc1.zip |
整理代码
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/matcher/definition.lua | 39 | ||||
-rw-r--r-- | server/src/matcher/find_result.lua | 37 | ||||
-rw-r--r-- | server/src/matcher/implementation.lua | 39 | ||||
-rw-r--r-- | server/src/matcher/references.lua | 39 |
4 files changed, 40 insertions, 114 deletions
diff --git a/server/src/matcher/definition.lua b/server/src/matcher/definition.lua index 27dfe450..dbb24a47 100644 --- a/server/src/matcher/definition.lua +++ b/server/src/matcher/definition.lua @@ -1,41 +1,4 @@ - -local function isContainPos(obj, pos) - return obj.start <= pos and obj.finish + 1 >= pos -end - -local function findResult(results, pos) - for _, var in ipairs(results.vars) do - for _, info in ipairs(var) do - if isContainPos(info.source, pos) then - return { - type = 'var', - var = var, - } - end - end - end - for _, dots in ipairs(results.dots) do - for _, info in ipairs(dots) do - if isContainPos(info.source, pos) then - return { - type = 'dots', - dots = dots, - } - end - end - end - for _, label in ipairs(results.labels) do - for _, info in ipairs(label) do - if isContainPos(info.source, pos) then - return { - type = 'label', - label = label, - } - end - end - end - return nil -end +local findResult = require 'matcher.find_result' local function tryMeta(var) local keys = {} diff --git a/server/src/matcher/find_result.lua b/server/src/matcher/find_result.lua new file mode 100644 index 00000000..b9313510 --- /dev/null +++ b/server/src/matcher/find_result.lua @@ -0,0 +1,37 @@ +local function isContainPos(obj, pos) + return obj.start <= pos and obj.finish + 1 >= pos +end + +return function (results, pos) + for _, var in ipairs(results.vars) do + for _, info in ipairs(var) do + if isContainPos(info.source, pos) then + return { + type = 'var', + var = var, + } + end + end + end + for _, dots in ipairs(results.dots) do + for _, info in ipairs(dots) do + if isContainPos(info.source, pos) then + return { + type = 'dots', + dots = dots, + } + end + end + end + for _, label in ipairs(results.labels) do + for _, info in ipairs(label) do + if isContainPos(info.source, pos) then + return { + type = 'label', + label = label, + } + end + end + end + return nil +end diff --git a/server/src/matcher/implementation.lua b/server/src/matcher/implementation.lua index bf509ff3..e51d7a22 100644 --- a/server/src/matcher/implementation.lua +++ b/server/src/matcher/implementation.lua @@ -1,41 +1,4 @@ - -local function isContainPos(obj, pos) - return obj.start <= pos and obj.finish + 1 >= pos -end - -local function findResult(results, pos) - for _, var in ipairs(results.vars) do - for _, info in ipairs(var) do - if isContainPos(info.source, pos) then - return { - type = 'var', - var = var, - } - end - end - end - for _, dots in ipairs(results.dots) do - for _, info in ipairs(dots) do - if isContainPos(info.source, pos) then - return { - type = 'dots', - dots = dots, - } - end - end - end - for _, label in ipairs(results.labels) do - for _, info in ipairs(label) do - if isContainPos(info.source, pos) then - return { - type = 'label', - label = label, - } - end - end - end - return nil -end +local findResult = require 'matcher.find_result' local function tryMeta(var) local keys = {} diff --git a/server/src/matcher/references.lua b/server/src/matcher/references.lua index c0a98fe3..f5b72c55 100644 --- a/server/src/matcher/references.lua +++ b/server/src/matcher/references.lua @@ -1,41 +1,4 @@ - -local function isContainPos(obj, pos) - return obj.start <= pos and obj.finish + 1 >= pos -end - -local function findResult(results, pos) - for _, var in ipairs(results.vars) do - for _, info in ipairs(var) do - if isContainPos(info.source, pos) then - return { - type = 'var', - var = var, - } - end - end - end - for _, dots in ipairs(results.dots) do - for _, info in ipairs(dots) do - if isContainPos(info.source, pos) then - return { - type = 'dots', - dots = dots, - } - end - end - end - for _, label in ipairs(results.labels) do - for _, info in ipairs(label) do - if isContainPos(info.source, pos) then - return { - type = 'label', - label = label, - } - end - end - end - return nil -end +local findResult = require 'matcher.find_result' local function tryMeta(var) local keys = {} |