summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2021-12-16 20:08:23 +0800
committer最萌小汐 <sumneko@hotmail.com>2021-12-16 20:08:23 +0800
commit028460ed338a0ba582e5f755a9734ed65b290c0d (patch)
tree8ac7e36723fedc5cd352bbbb26d1974ae0e4a854
parent6924e8af8febf07f559d2a906c897f3e1f876e5c (diff)
downloadlua-language-server-028460ed338a0ba582e5f755a9734ed65b290c0d.zip
fix #847
-rw-r--r--changelog.md1
-rw-r--r--script/workspace/require-path.lua2
-rw-r--r--test/crossfile/definition.lua84
3 files changed, 65 insertions, 22 deletions
diff --git a/changelog.md b/changelog.md
index ac91756f..63a53bec 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,7 @@
# changelog
## 2.5.4
+* `FIX` [#847](https://github.com/sumneko/lua-language-server/issues/847)
* `FIX` [#848](https://github.com/sumneko/lua-language-server/issues/848)
* `FIX` completion: incorrect cache
* `FIX` hover: always view string
diff --git a/script/workspace/require-path.lua b/script/workspace/require-path.lua
index 52151dba..0fec6cc9 100644
--- a/script/workspace/require-path.lua
+++ b/script/workspace/require-path.lua
@@ -60,10 +60,8 @@ function m.getVisiblePath(path)
pos = currentPath:match('[/\\]+()', pos)
if platform.OS == 'Windows' then
searcher = searcher :gsub('[/\\]+', '\\')
- :gsub('^[/\\]+', '')
else
searcher = searcher :gsub('[/\\]+', '/')
- :gsub('^[/\\]+', '')
end
local expect = getOnePath(cutedPath, searcher)
if expect then
diff --git a/test/crossfile/definition.lua b/test/crossfile/definition.lua
index f44633e1..aa971f3e 100644
--- a/test/crossfile/definition.lua
+++ b/test/crossfile/definition.lua
@@ -891,25 +891,69 @@ print(t.<?x?>)
}
}
---config.set('Lua.runtime.path', {
--- '/home/?.lua'
---})
---TEST {
--- {
--- path = '/home/a.lua',
--- content = [[
---return {
--- <!x!> = 1,
---}
---]],
--- },
--- {
--- path = 'b.lua',
--- content = [[
---local t = require 'a'
---print(t.<?x?>)
--- ]]
--- }
---}
+config.set('Lua.runtime.path', {
+ '/home/?.lua'
+})
+TEST {
+ {
+ path = '/home/a.lua',
+ content = [[
+return {
+ <!x!> = 1,
+}
+]],
+ },
+ {
+ path = 'b.lua',
+ content = [[
+local t = require 'a'
+print(t.<?x?>)
+ ]]
+ }
+}
+config.set('Lua.runtime.pathStrict', true)
+config.set('Lua.runtime.path', {
+ './?.lua'
+})
+TEST {
+ {
+ path = 'a.lua',
+ content = [[
+return {
+ <!x!> = 1,
+}
+]],
+ },
+ {
+ path = 'b.lua',
+ content = [[
+local t = require 'a'
+print(t.<?x?>)
+ ]]
+ }
+}
+
+config.set('Lua.runtime.path', {
+ '/home/?.lua'
+})
+TEST {
+ {
+ path = '/home/a.lua',
+ content = [[
+return {
+ <!x!> = 1,
+}
+]],
+ },
+ {
+ path = 'b.lua',
+ content = [[
+local t = require 'a'
+print(t.<?x?>)
+ ]]
+ }
+}
+
+config.set('Lua.runtime.pathStrict', false)
config.set('Lua.runtime.path', originRuntimePath)