@@ -100,7 +100,7 @@ public struct SwiftFocusedCodeFinder: FocusedCodeFinder {
100100 }
101101
102102 var contextRange = CursorRange . zero
103- var signature = [ String ] ( )
103+ var signature = [ CodeContext . ScopeContext ] ( )
104104
105105 while let node = nodes. first {
106106 nodes. removeFirst ( )
@@ -114,7 +114,11 @@ public struct SwiftFocusedCodeFinder: FocusedCodeFinder {
114114
115115 if let context {
116116 contextRange = context. contextRange
117- signature. insert ( context. signature, at: 0 )
117+ signature. insert ( . init(
118+ signature: context. signature,
119+ name: context. name,
120+ range: context. contextRange
121+ ) , at: 0 )
118122 }
119123
120124 if !more {
@@ -135,6 +139,7 @@ public struct SwiftFocusedCodeFinder: FocusedCodeFinder {
135139extension SwiftFocusedCodeFinder {
136140 struct ContextInfo {
137141 var signature : String
142+ var name : String
138143 var contextRange : CursorRange
139144 var canBeUsedAsCodeRange : Bool = true
140145 }
@@ -163,6 +168,7 @@ extension SwiftFocusedCodeFinder {
163168 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
164169 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
165170 . replacingOccurrences ( of: " \n " , with: " " ) ,
171+ name: name,
166172 contextRange: convertRange ( node)
167173 ) , false )
168174
@@ -174,6 +180,7 @@ extension SwiftFocusedCodeFinder {
174180 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
175181 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
176182 . replacingOccurrences ( of: " \n " , with: " " ) ,
183+ name: name,
177184 contextRange: convertRange ( node)
178185 ) , false )
179186
@@ -185,6 +192,7 @@ extension SwiftFocusedCodeFinder {
185192 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
186193 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
187194 . replacingOccurrences ( of: " \n " , with: " " ) ,
195+ name: name,
188196 contextRange: convertRange ( node)
189197 ) , false )
190198
@@ -196,6 +204,7 @@ extension SwiftFocusedCodeFinder {
196204 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
197205 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
198206 . replacingOccurrences ( of: " \n " , with: " " ) ,
207+ name: name,
199208 contextRange: convertRange ( node)
200209 ) , false )
201210
@@ -206,6 +215,7 @@ extension SwiftFocusedCodeFinder {
206215 signature: " \( type) \( name) "
207216 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
208217 . replacingOccurrences ( of: " \n " , with: " " ) ,
218+ name: name,
209219 contextRange: convertRange ( node)
210220 ) , false )
211221
@@ -217,6 +227,7 @@ extension SwiftFocusedCodeFinder {
217227 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
218228 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
219229 . replacingOccurrences ( of: " \n " , with: " " ) ,
230+ name: name,
220231 contextRange: convertRange ( node)
221232 ) , false )
222233
@@ -228,6 +239,7 @@ extension SwiftFocusedCodeFinder {
228239 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
229240 . suffixedInheritance ( node. inheritanceClauseTexts ( extractText) )
230241 . replacingOccurrences ( of: " \n " , with: " " ) ,
242+ name: name,
231243 contextRange: convertRange ( node)
232244 ) , false )
233245
@@ -242,6 +254,7 @@ extension SwiftFocusedCodeFinder {
242254 return ( . init(
243255 signature: " \( type) \( name) \( signature) "
244256 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) ) ,
257+ name: name,
245258 contextRange: convertRange ( node)
246259 ) , true )
247260
@@ -254,6 +267,7 @@ extension SwiftFocusedCodeFinder {
254267 signature: " \( type) \( name) \( signature. isEmpty ? " " : " \( signature) " ) "
255268 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
256269 . replacingOccurrences ( of: " \n " , with: " " ) ,
270+ name: name,
257271 contextRange: convertRange ( node)
258272 ) , true )
259273
@@ -265,6 +279,7 @@ extension SwiftFocusedCodeFinder {
265279 signature: signature
266280 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
267281 . replacingOccurrences ( of: " \n " , with: " " ) ,
282+ name: keyword,
268283 contextRange: convertRange ( node)
269284 ) , true )
270285
@@ -278,6 +293,7 @@ extension SwiftFocusedCodeFinder {
278293 signature: signature
279294 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
280295 . replacingOccurrences ( of: " \n " , with: " " ) ,
296+ name: " subscript " ,
281297 contextRange: convertRange ( node)
282298 ) , true )
283299
@@ -288,7 +304,7 @@ extension SwiftFocusedCodeFinder {
288304 signature: " \( signature) "
289305 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
290306 . replacingOccurrences ( of: " \n " , with: " " ) ,
291-
307+ name : " init " ,
292308 contextRange: convertRange ( node)
293309 ) , true )
294310
@@ -299,7 +315,7 @@ extension SwiftFocusedCodeFinder {
299315 signature: signature
300316 . prefixedModifiers ( node. modifierAndAttributeText ( extractText) )
301317 . replacingOccurrences ( of: " \n " , with: " " ) ,
302-
318+ name : " deinit " ,
303319 contextRange: convertRange ( node)
304320 ) , true )
305321
@@ -308,6 +324,7 @@ extension SwiftFocusedCodeFinder {
308324
309325 return ( . init(
310326 signature: signature. replacingOccurrences ( of: " \n " , with: " " ) ,
327+ name: " closure " ,
311328 contextRange: convertRange ( node)
312329 ) , true )
313330
@@ -316,13 +333,15 @@ extension SwiftFocusedCodeFinder {
316333
317334 return ( . init(
318335 signature: signature. replacingOccurrences ( of: " \n " , with: " " ) ,
336+ name: " function call " ,
319337 contextRange: convertRange ( node) ,
320338 canBeUsedAsCodeRange: false
321339 ) , true )
322340
323341 case let node as SwitchCaseSyntax :
324342 return ( . init(
325343 signature: node. trimmedDescription. replacingOccurrences ( of: " \n " , with: " " ) ,
344+ name: " switch " ,
326345 contextRange: convertRange ( node)
327346 ) , true )
328347
0 commit comments