File tree 2 files changed +25
-2
lines changed
2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ require 'provider.inlay-hint'
11
11
local m = {}
12
12
13
13
m .fillings = {}
14
+ m .resolvedMap = {}
14
15
15
16
local function mergeFillings (provider )
16
17
for _ , filling in ipairs (m .fillings ) do
@@ -29,6 +30,19 @@ local function mergeFillings(provider)
29
30
end
30
31
end
31
32
33
+ local function resolve (t )
34
+ for k , v in pairs (t ) do
35
+ if type (v ) == ' table' then
36
+ resolve (v )
37
+ end
38
+ if type (v ) == ' string' then
39
+ t [k ] = v :gsub (' %{(.-)%}' , function (key )
40
+ return m .resolvedMap [key ] or ' '
41
+ end )
42
+ end
43
+ end
44
+ end
45
+
32
46
function m .getProvider ()
33
47
local provider = {
34
48
offsetEncoding = client .getOffsetEncoding (),
@@ -52,6 +66,7 @@ function m.getProvider()
52
66
nonil .disable ()
53
67
54
68
mergeFillings (provider )
69
+ resolve (provider )
55
70
56
71
return provider
57
72
end
@@ -60,4 +75,8 @@ function m.filling(t)
60
75
m .fillings [# m .fillings + 1 ] = t
61
76
end
62
77
78
+ function m .resolve (key , value )
79
+ m .resolvedMap [key ] = value
80
+ end
81
+
63
82
return m
Original file line number Diff line number Diff line change @@ -109,6 +109,7 @@ m.register 'initialize' {
109
109
110
110
if params .rootUri then
111
111
workspace .initRoot (params .rootUri )
112
+ cap .resolve (' ROOT_URI' , furi .decode (params .rootUri ):gsub (' \\ ' , ' /' ) .. ' /' )
112
113
end
113
114
114
115
if params .workspaceFolders then
@@ -188,7 +189,10 @@ m.register 'workspace/didRenameFiles' {
188
189
filters = {
189
190
{
190
191
pattern = {
191
- glob = ' **' ,
192
+ glob = ' {ROOT_URI}**' ,
193
+ options = {
194
+ ignoreCase = true ,
195
+ }
192
196
},
193
197
},
194
198
},
@@ -203,7 +207,7 @@ m.register 'workspace/didRenameFiles' {
203
207
for _ , file in ipairs (params .files ) do
204
208
local oldUri = furi .normalize (file .oldUri )
205
209
local newUri = furi .normalize (file .newUri )
206
- if files . exists (oldUri )
210
+ if workspace . isValidLuaUri (oldUri )
207
211
and workspace .isValidLuaUri (newUri ) then
208
212
renames [# renames + 1 ] = {
209
213
oldUri = oldUri ,
You can’t perform that action at this time.
0 commit comments