@@ -170,30 +170,24 @@ function mt:findUrisByRequireName(suri, name)
170170
171171 for _ , searcher in ipairs (searchers ) do
172172 local fspath = searcher :gsub (' %?' , (path :gsub (' %%' , ' %%%%' )))
173- local fullPath = workspace .getAbsolutePath (self .scp .uri , fspath )
174- if fullPath then
175- local fullUri = furi .encode (fullPath )
176- if files .exists (fullUri )
177- and fullUri ~= suri then
178- results [# results + 1 ] = fullUri
179- searcherMap [fullUri ] = searcher
180- end
181- end
173+ fspath = workspace .normalize (fspath )
182174 local tail = ' /' .. furi .encode (fspath ):gsub (' ^file:[/]*' , ' ' )
183175 for uri in files .eachFile (self .scp .uri ) do
184- if not searcherMap [uri ]
176+ if not searcherMap [uri ]
185177 and suri ~= uri
186178 and util .stringEndWith (uri , tail ) then
187- local parentUri = files .getLibraryUri (self .scp .uri , uri ) or self .scp .uri
188- if parentUri == nil or parentUri == ' ' then
189- parentUri = furi .encode ' '
190- end
191- local relative = uri :sub (# parentUri + 1 ):sub (1 , - # tail )
192- if not strict or relative == " /" then
193- results [# results + 1 ] = uri
194- end
195- searcherMap [uri ] = workspace .normalize (relative .. searcher )
196- end
179+ local parentUri = files .getLibraryUri (self .scp .uri , uri ) or self .scp .uri
180+ if parentUri == nil or parentUri == ' ' then
181+ parentUri = furi .encode ' /'
182+ end
183+ local relative = uri :sub (# parentUri + 1 ):sub (1 , - # tail )
184+ if not strict
185+ or relative == ' /'
186+ or relative == ' ' then
187+ results [# results + 1 ] = uri
188+ searcherMap [uri ] = workspace .normalize (relative .. searcher )
189+ end
190+ end
197191 end
198192 end
199193
0 commit comments