@@ -34,14 +34,7 @@ extension SwiftLanguageServer {
3434 let interfaceDocURI = DocumentURI ( interfaceFilePath)
3535 // has interface already been generated
3636 if let snapshot = self . documentManager. latestSnapshot ( interfaceDocURI) {
37- self . _findUSR ( request: request, uri: interfaceDocURI, snapshot: snapshot, symbol: symbol) { result in
38- switch result {
39- case . success( let info) :
40- request. reply ( . success( InterfaceDetails ( uri: interfaceDocURI, position: info. position) ) )
41- case . failure:
42- request. reply ( . success( InterfaceDetails ( uri: interfaceDocURI, position: nil ) ) )
43- }
44- }
37+ self . _findUSRAndRespond ( request: request, uri: interfaceDocURI, snapshot: snapshot, symbol: symbol)
4538 } else {
4639 // generate interface
4740 self . _openInterface ( request: request, uri: uri, name: moduleName, interfaceURI: interfaceDocURI) { result in
@@ -52,14 +45,7 @@ extension SwiftLanguageServer {
5245 try interfaceInfo. contents. write ( to: interfaceFilePath, atomically: true , encoding: String . Encoding. utf8)
5346 // store snapshot
5447 let snapshot = try self . documentManager. open ( interfaceDocURI, language: . swift, version: 0 , text: interfaceInfo. contents)
55- self . _findUSR ( request: request, uri: interfaceDocURI, snapshot: snapshot, symbol: symbol) { result in
56- switch result {
57- case . success( let info) :
58- request. reply ( . success( InterfaceDetails ( uri: interfaceDocURI, position: info. position) ) )
59- case . failure:
60- request. reply ( . success( InterfaceDetails ( uri: interfaceDocURI, position: nil ) ) )
61- }
62- }
48+ self . _findUSRAndRespond ( request: request, uri: interfaceDocURI, snapshot: snapshot, symbol: symbol)
6349 } catch {
6450 request. reply ( . failure( ResponseError . unknown ( error. localizedDescription) ) )
6551 }
@@ -110,6 +96,22 @@ extension SwiftLanguageServer {
11096 }
11197 }
11298 }
99+
100+ private func _findUSRAndRespond(
101+ request: LanguageServerProtocol . Request < LanguageServerProtocol . OpenInterfaceRequest > ,
102+ uri: DocumentURI ,
103+ snapshot: DocumentSnapshot ,
104+ symbol: String ?
105+ ) {
106+ self . _findUSR ( request: request, uri: uri, snapshot: snapshot, symbol: symbol) { result in
107+ switch result {
108+ case . success( let info) :
109+ request. reply ( . success( InterfaceDetails ( uri: uri, position: info. position) ) )
110+ case . failure:
111+ request. reply ( . success( InterfaceDetails ( uri: uri, position: nil ) ) )
112+ }
113+ }
114+ }
113115
114116 private func _findUSR(
115117 request: LanguageServerProtocol . Request < LanguageServerProtocol . OpenInterfaceRequest > ,
@@ -127,20 +129,16 @@ extension SwiftLanguageServer {
127129 skreq [ keys. request] = requests. find_usr
128130 skreq [ keys. sourcefile] = uri. pseudoPath
129131 skreq [ keys. usr] = symbol
130-
131- if let compileCommand = self . commandsByFile [ uri] {
132- skreq [ keys. compilerargs] = compileCommand. compilerArgs
133- }
134132
135133 let handle = self . sourcekitd. send ( skreq, self . queue) { result in
136134 switch result {
137135 case . success( let dict) :
138- if let offset: Int = dict [ keys. offset] ,
139- let position = snapshot. positionOf ( utf8Offset: offset) {
140- return completion ( . success( FindUSRInfo ( position: position) ) )
141- } else {
142- return completion ( . success( FindUSRInfo ( position: nil ) ) )
143- }
136+ if let offset: Int = dict [ keys. offset] ,
137+ let position = snapshot. positionOf ( utf8Offset: offset) {
138+ return completion ( . success( FindUSRInfo ( position: position) ) )
139+ } else {
140+ return completion ( . success( FindUSRInfo ( position: nil ) ) )
141+ }
144142 case . failure( let error) :
145143 return completion ( . failure( error) )
146144 }
0 commit comments