@@ -180,59 +180,51 @@ m.register 'workspace/didChangeConfiguration' {
180180 end
181181}
182182
183- m .register ' workspace/didCreateFiles' {
184- --- @async
185- function (params )
186- log .debug (' workspace/didCreateFiles' , inspect (params ))
187- for _ , file in ipairs (params .files ) do
188- if workspace .isValidLuaUri (file .uri ) then
189- files .setText (file .uri , util .loadFile (furi .decode (file .uri )), false )
190- end
191- end
192- end
193- }
194-
195- m .register ' workspace/didDeleteFiles' {
196- function (params )
197- log .debug (' workspace/didDeleteFiles' , inspect (params ))
198- for _ , file in ipairs (params .files ) do
199- files .remove (file .uri )
200- local childs = files .getChildFiles (file .uri )
201- for _ , uri in ipairs (childs ) do
202- log .debug (' workspace/didDeleteFiles#child' , uri )
203- files .remove (uri )
204- end
205- end
206- end
207- }
208-
209183m .register ' workspace/didRenameFiles' {
184+ capability = {
185+ workspace = {
186+ fileOperations = {
187+ didRename = {
188+ filters = {
189+ {
190+ pattern = {
191+ glob = ' **' ,
192+ },
193+ },
194+ },
195+ },
196+ },
197+ },
198+ },
210199 --- @async
211200 function (params )
212201 log .debug (' workspace/didRenameFiles' , inspect (params ))
202+ local renames = {}
213203 for _ , file in ipairs (params .files ) do
214- local text = files .getOriginText (file .oldUri )
215- if text then
216- files .remove (file .oldUri )
217- if workspace .isValidLuaUri (file .newUri ) then
218- files .setText (file .newUri , text , false )
219- end
204+ local oldUri = furi .normalize (file .oldUri )
205+ local newUri = furi .normalize (file .newUri )
206+ if files .exists (oldUri )
207+ and workspace .isValidLuaUri (newUri ) then
208+ renames [# renames + 1 ] = {
209+ oldUri = oldUri ,
210+ newUri = newUri ,
211+ }
220212 end
221- local childs = files .getChildFiles (file . oldUri )
213+ local childs = files .getChildFiles (oldUri )
222214 for _ , uri in ipairs (childs ) do
223- local ctext = files .getOriginText (uri )
224- if ctext then
215+ if files .exists (uri ) then
225216 local ouri = uri
226- local tail = ouri :sub (# file . oldUri )
217+ local tail = ouri :sub (# oldUri )
227218 local nuri = file .newUri .. tail
228- log .debug (' workspace/didRenameFiles#child' , ouri , nuri )
229- files .remove (uri )
230- if workspace .isValidLuaUri (nuri ) then
231- files .setText (nuri , text , false )
232- end
219+ renames [# renames + 1 ] = {
220+ oldUri = ouri ,
221+ newUri = nuri ,
222+ }
233223 end
234224 end
235225 end
226+ local core = require ' core.modifyRequirePath'
227+ core (renames )
236228 end
237229}
238230
0 commit comments