Skip to content

Commit f8abec2

Browse files
Fix errors, missing calls
1 parent 50c01fe commit f8abec2

16 files changed

+203
-173
lines changed

CodeEdit.xcodeproj/project.pbxproj

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@
6868
30AB4EBD2BF71CA800ED4431 /* DeveloperSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AB4EBC2BF71CA800ED4431 /* DeveloperSettingsView.swift */; };
6969
30AB4EC22BF7253200ED4431 /* KeyValueTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AB4EC12BF7253200ED4431 /* KeyValueTable.swift */; };
7070
30B087FC2C0D53080063A882 /* LanguageClient+CallHierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087DF2C0D53080063A882 /* LanguageClient+CallHierarchy.swift */; };
71-
30B087FD2C0D53080063A882 /* LanguageClient+CodeLens.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087E02C0D53080063A882 /* LanguageClient+CodeLens.swift */; };
7271
30B087FE2C0D53080063A882 /* LanguageClient+ColorPresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087E12C0D53080063A882 /* LanguageClient+ColorPresentation.swift */; };
7372
30B087FF2C0D53080063A882 /* LanguageClient+Completion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087E22C0D53080063A882 /* LanguageClient+Completion.swift */; };
7473
30B088002C0D53080063A882 /* LanguageClient+Declaration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087E32C0D53080063A882 /* LanguageClient+Declaration.swift */; };
@@ -90,12 +89,13 @@
9089
30B088102C0D53080063A882 /* LanguageClient+SemanticTokens.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F32C0D53080063A882 /* LanguageClient+SemanticTokens.swift */; };
9190
30B088112C0D53080063A882 /* LanguageClient+SignatureHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F42C0D53080063A882 /* LanguageClient+SignatureHelp.swift */; };
9291
30B088122C0D53080063A882 /* LanguageClient+TypeDefinition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F52C0D53080063A882 /* LanguageClient+TypeDefinition.swift */; };
93-
30B088132C0D53080063A882 /* LanguageConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F62C0D53080063A882 /* LanguageConfiguration.swift */; };
9492
30B088142C0D53080063A882 /* LanguageServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F72C0D53080063A882 /* LanguageServer.swift */; };
9593
30B088152C0D53080063A882 /* LSPService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F82C0D53080063A882 /* LSPService.swift */; };
9694
30B088162C0D53080063A882 /* LSPCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087F92C0D53080063A882 /* LSPCache.swift */; };
9795
30B088172C0D53080063A882 /* LSPUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B087FA2C0D53080063A882 /* LSPUtil.swift */; };
9896
30CB648D2C12680F00CC8A9E /* LSPEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30CB648C2C12680F00CC8A9E /* LSPEventHandler.swift */; };
97+
30CB64912C16CA8100CC8A9E /* LanguageServerProtocol in Frameworks */ = {isa = PBXBuildFile; productRef = 30CB64902C16CA8100CC8A9E /* LanguageServerProtocol */; };
98+
30CB64942C16CA9100CC8A9E /* LanguageClient in Frameworks */ = {isa = PBXBuildFile; productRef = 30CB64932C16CA9100CC8A9E /* LanguageClient */; };
9999
30E6D0012A6E505200A58B20 /* NavigatorSidebarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30E6D0002A6E505200A58B20 /* NavigatorSidebarViewModel.swift */; };
100100
3E0196732A3921AC002648D8 /* codeedit_shell_integration.zsh in Resources */ = {isa = PBXBuildFile; fileRef = 3E0196722A3921AC002648D8 /* codeedit_shell_integration.zsh */; };
101101
3E01967A2A392B45002648D8 /* codeedit_shell_integration.bash in Resources */ = {isa = PBXBuildFile; fileRef = 3E0196792A392B45002648D8 /* codeedit_shell_integration.bash */; };
@@ -669,7 +669,6 @@
669669
30AB4EBC2BF71CA800ED4431 /* DeveloperSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperSettingsView.swift; sourceTree = "<group>"; };
670670
30AB4EC12BF7253200ED4431 /* KeyValueTable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyValueTable.swift; sourceTree = "<group>"; };
671671
30B087DF2C0D53080063A882 /* LanguageClient+CallHierarchy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+CallHierarchy.swift"; sourceTree = "<group>"; };
672-
30B087E02C0D53080063A882 /* LanguageClient+CodeLens.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+CodeLens.swift"; sourceTree = "<group>"; };
673672
30B087E12C0D53080063A882 /* LanguageClient+ColorPresentation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+ColorPresentation.swift"; sourceTree = "<group>"; };
674673
30B087E22C0D53080063A882 /* LanguageClient+Completion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+Completion.swift"; sourceTree = "<group>"; };
675674
30B087E32C0D53080063A882 /* LanguageClient+Declaration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+Declaration.swift"; sourceTree = "<group>"; };
@@ -691,7 +690,6 @@
691690
30B087F32C0D53080063A882 /* LanguageClient+SemanticTokens.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+SemanticTokens.swift"; sourceTree = "<group>"; };
692691
30B087F42C0D53080063A882 /* LanguageClient+SignatureHelp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+SignatureHelp.swift"; sourceTree = "<group>"; };
693692
30B087F52C0D53080063A882 /* LanguageClient+TypeDefinition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LanguageClient+TypeDefinition.swift"; sourceTree = "<group>"; };
694-
30B087F62C0D53080063A882 /* LanguageConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageConfiguration.swift; sourceTree = "<group>"; };
695693
30B087F72C0D53080063A882 /* LanguageServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageServer.swift; sourceTree = "<group>"; };
696694
30B087F82C0D53080063A882 /* LSPService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LSPService.swift; sourceTree = "<group>"; };
697695
30B087F92C0D53080063A882 /* LSPCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LSPCache.swift; sourceTree = "<group>"; };
@@ -1153,11 +1151,13 @@
11531151
6CBE1D002B720565003AC32E /* CodeEditSourceEditor in Frameworks */,
11541152
6C147C4529A329350089B630 /* OrderedCollections in Frameworks */,
11551153
6C0617D62BDB4432008C9C42 /* LogStream in Frameworks */,
1154+
30CB64912C16CA8100CC8A9E /* LanguageServerProtocol in Frameworks */,
11561155
6C6BD6F429CD142C00235D17 /* CollectionConcurrencyKit in Frameworks */,
11571156
6CB446402B6DFF3A00539ED0 /* CodeEditSourceEditor in Frameworks */,
11581157
5879828A292ED15F0085B254 /* SwiftTerm in Frameworks */,
11591158
6CDEFC9629E22C2700B7C684 /* Introspect in Frameworks */,
11601159
2816F594280CF50500DD548B /* CodeEditSymbols in Frameworks */,
1160+
30CB64942C16CA9100CC8A9E /* LanguageClient in Frameworks */,
11611161
6C6BD6F829CD14D100235D17 /* CodeEditKit in Frameworks */,
11621162
6C81916B29B41DD300B75C92 /* DequeModule in Frameworks */,
11631163
);
@@ -1414,7 +1414,6 @@
14141414
children = (
14151415
30B0881E2C12626B0063A882 /* LanguageClient */,
14161416
30B087F72C0D53080063A882 /* LanguageServer.swift */,
1417-
30B087F62C0D53080063A882 /* LanguageConfiguration.swift */,
14181417
30B087F82C0D53080063A882 /* LSPService.swift */,
14191418
30B087F92C0D53080063A882 /* LSPCache.swift */,
14201419
30B087FA2C0D53080063A882 /* LSPUtil.swift */,
@@ -1427,7 +1426,6 @@
14271426
isa = PBXGroup;
14281427
children = (
14291428
30B087DF2C0D53080063A882 /* LanguageClient+CallHierarchy.swift */,
1430-
30B087E02C0D53080063A882 /* LanguageClient+CodeLens.swift */,
14311429
30B087E12C0D53080063A882 /* LanguageClient+ColorPresentation.swift */,
14321430
30B087E22C0D53080063A882 /* LanguageClient+Completion.swift */,
14331431
30B087E32C0D53080063A882 /* LanguageClient+Declaration.swift */,
@@ -3205,6 +3203,8 @@
32053203
6CB4463F2B6DFF3A00539ED0 /* CodeEditSourceEditor */,
32063204
6CBE1CFF2B720565003AC32E /* CodeEditSourceEditor */,
32073205
6C0617D52BDB4432008C9C42 /* LogStream */,
3206+
30CB64902C16CA8100CC8A9E /* LanguageServerProtocol */,
3207+
30CB64932C16CA9100CC8A9E /* LanguageClient */,
32083208
);
32093209
productName = CodeEdit;
32103210
productReference = B658FB2C27DA9E0F00EA4DBD /* CodeEdit.app */;
@@ -3299,9 +3299,9 @@
32993299
6CDEFC9429E22C2700B7C684 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */,
33003300
6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */,
33013301
6C0617D42BDB4432008C9C42 /* XCRemoteSwiftPackageReference "LogStream" */,
3302-
3083B3892C0BEEE300C6642C /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */,
3303-
3083B38A2C0BEEFF00C6642C /* XCRemoteSwiftPackageReference "LanguageClient" */,
3304-
30B0881D2C1261F80063A882 /* XCLocalSwiftPackageReference "../CodeEditKit" */,
3302+
30CB648F2C16CA8100CC8A9E /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */,
3303+
30CB64922C16CA9100CC8A9E /* XCRemoteSwiftPackageReference "LanguageClient" */,
3304+
30CB64952C16CAA200CC8A9E /* XCLocalSwiftPackageReference "../CodeEditKit" */,
33053305
);
33063306
productRefGroup = B658FB2D27DA9E0F00EA4DBD /* Products */;
33073307
projectDirPath = "";
@@ -3516,7 +3516,6 @@
35163516
041FC6AD2AE437CE00C1F65A /* SourceControlNavigatorNewBranchView.swift in Sources */,
35173517
77A01E432BBC3A2800F0EA38 /* CETask.swift in Sources */,
35183518
6C48D8F72972E5F300D6D205 /* WindowObserver.swift in Sources */,
3519-
30B087FD2C0D53080063A882 /* LanguageClient+CodeLens.swift in Sources */,
35203519
6CED16E42A3E660D000EC962 /* String+Lines.swift in Sources */,
35213520
587B9E6B29301D8F00AC7927 /* GitLabAvatarURL.swift in Sources */,
35223521
58798233292E30B90085B254 /* FeedbackToolbar.swift in Sources */,
@@ -3613,7 +3612,6 @@
36133612
5882252B292C280D00E83CDE /* StatusBarCursorPositionLabel.swift in Sources */,
36143613
5882252D292C280D00E83CDE /* UtilityAreaSplitTerminalButton.swift in Sources */,
36153614
58798238292E30B90085B254 /* FeedbackWindowController.swift in Sources */,
3616-
30B088132C0D53080063A882 /* LanguageConfiguration.swift in Sources */,
36173615
587B9E6C29301D8F00AC7927 /* GitLabNamespace.swift in Sources */,
36183616
30AB4EC22BF7253200ED4431 /* KeyValueTable.swift in Sources */,
36193617
6C48D8F22972DAFC00D6D205 /* Env+IsFullscreen.swift in Sources */,
@@ -4998,7 +4996,7 @@
49984996
/* End XCConfigurationList section */
49994997

50004998
/* Begin XCLocalSwiftPackageReference section */
5001-
30B0881D2C1261F80063A882 /* XCLocalSwiftPackageReference "../CodeEditKit" */ = {
4999+
30CB64952C16CAA200CC8A9E /* XCLocalSwiftPackageReference "../CodeEditKit" */ = {
50025000
isa = XCLocalSwiftPackageReference;
50035001
relativePath = ../CodeEditKit;
50045002
};
@@ -5021,15 +5019,15 @@
50215019
minimumVersion = 0.2.2;
50225020
};
50235021
};
5024-
3083B3892C0BEEE300C6642C /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */ = {
5022+
30CB648F2C16CA8100CC8A9E /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */ = {
50255023
isa = XCRemoteSwiftPackageReference;
50265024
repositoryURL = "https://github.com/ChimeHQ/LanguageServerProtocol";
50275025
requirement = {
50285026
kind = upToNextMajorVersion;
50295027
minimumVersion = 0.13.2;
50305028
};
50315029
};
5032-
3083B38A2C0BEEFF00C6642C /* XCRemoteSwiftPackageReference "LanguageClient" */ = {
5030+
30CB64922C16CA9100CC8A9E /* XCRemoteSwiftPackageReference "LanguageClient" */ = {
50335031
isa = XCRemoteSwiftPackageReference;
50345032
repositoryURL = "https://github.com/ChimeHQ/LanguageClient";
50355033
requirement = {
@@ -5117,6 +5115,16 @@
51175115
package = 2816F592280CF50500DD548B /* XCRemoteSwiftPackageReference "CodeEditSymbols" */;
51185116
productName = CodeEditSymbols;
51195117
};
5118+
30CB64902C16CA8100CC8A9E /* LanguageServerProtocol */ = {
5119+
isa = XCSwiftPackageProductDependency;
5120+
package = 30CB648F2C16CA8100CC8A9E /* XCRemoteSwiftPackageReference "LanguageServerProtocol" */;
5121+
productName = LanguageServerProtocol;
5122+
};
5123+
30CB64932C16CA9100CC8A9E /* LanguageClient */ = {
5124+
isa = XCSwiftPackageProductDependency;
5125+
package = 30CB64922C16CA9100CC8A9E /* XCRemoteSwiftPackageReference "LanguageClient" */;
5126+
productName = LanguageClient;
5127+
};
51205128
583E529B29361BAB001AB554 /* SnapshotTesting */ = {
51215129
isa = XCSwiftPackageProductDependency;
51225130
package = 583E529A29361BAB001AB554 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;

CodeEdit/Features/Documents/WorkspaceDocument.swift

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import AppKit
99
import SwiftUI
1010
import Combine
1111
import Foundation
12-
import WindowManagement
12+
//import WindowManagement
1313
import LanguageServerProtocol
1414

1515
@objc(WorkspaceDocument)
@@ -35,7 +35,6 @@ final class WorkspaceDocument: NSDocument, ObservableObject, NSToolbarDelegate {
3535
var statusBarViewModel = StatusBarViewModel()
3636
var utilityAreaModel = UtilityAreaViewModel()
3737
var searchState: SearchState?
38-
var lspManager: LanguageServerManager?
3938
var quickOpenViewModel: QuickOpenViewModel?
4039
var commandsPaletteState: QuickActionsViewModel?
4140
var listenerModel: WorkspaceNotificationModel = .init()
@@ -113,16 +112,6 @@ final class WorkspaceDocument: NSDocument, ObservableObject, NSToolbarDelegate {
113112
workspaceURL: url,
114113
editorManager: editorManager
115114
)
116-
self.lspManager = LanguageServerManager()
117-
118-
// TODO: ACTIVATION EVENTS HERE, WHEN EXTENSIONS ARE AVAILABLE
119-
Task {
120-
try await self.lspManager?.startServer(
121-
for: .python,
122-
projectURL: url,
123-
workspaceFolders: [WorkspaceFolder(uri: url.absoluteString, name: "workspace_folder_name")]
124-
)
125-
}
126115

127116
self.workspaceFileManager = .init(
128117
folderUrl: url,

CodeEdit/Features/LSP/LSPCache.swift

Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,51 +7,97 @@
77

88
import Foundation
99

10-
struct CacheKey<ExtraData: Hashable>: Hashable {
10+
struct AnyHashableData: Hashable {
11+
private let value: Any
12+
private let hashValueFunc: () -> Int
13+
private let equalsFunc: (Any) -> Bool
14+
15+
init<T: Hashable>(_ value: T) {
16+
self.value = value
17+
self.hashValueFunc = { value.hashValue }
18+
self.equalsFunc = { ($0 as? T) == value }
19+
}
20+
21+
static func == (lhs: AnyHashableData, rhs: AnyHashableData) -> Bool {
22+
return lhs.equalsFunc(rhs.value)
23+
}
24+
25+
func hash(into hasher: inout Hasher) {
26+
hasher.combine(hashValueFunc())
27+
}
28+
29+
var description: String {
30+
return String(describing: value)
31+
}
32+
}
33+
34+
struct NoExtraData: Hashable { }
35+
36+
struct CacheKey: Hashable {
1137
let uri: String
1238
let requestType: String
13-
let extraData: ExtraData?
39+
let extraData: AnyHashableData?
1440

15-
init(uri: String, requestType: String, extraData: ExtraData? = nil) {
41+
init<ExtraData: Hashable>(uri: String, requestType: String, extraData: ExtraData? = nil) {
1642
self.uri = uri
1743
self.requestType = requestType
18-
self.extraData = extraData
44+
self.extraData = extraData.map(AnyHashableData.init)
45+
}
46+
47+
static func == (lhs: CacheKey, rhs: CacheKey) -> Bool {
48+
return lhs.uri == rhs.uri &&
49+
lhs.requestType == rhs.requestType &&
50+
lhs.extraData == rhs.extraData
51+
}
52+
53+
func hash(into hasher: inout Hasher) {
54+
hasher.combine(uri)
55+
hasher.combine(requestType)
56+
if let extraData = extraData {
57+
hasher.combine(extraData)
58+
}
1959
}
2060
}
2161

2262
final class LSPCache {
2363
/// Represents a single cache entry with a generic type.
24-
final class CacheEntry<T: Codable & Sendable>: NSObject {
25-
let value: T
64+
final class CacheEntry: NSObject {
65+
let value: Any
66+
let type: Any.Type
2667

27-
init(_ value: T) {
68+
init<T: Codable & Sendable>(_ value: T) {
2869
self.value = value
70+
self.type = T.self
71+
}
72+
73+
func getValue<T: Codable & Sendable>(as type: T.Type) -> T? {
74+
return value as? T
2975
}
3076
}
3177

32-
private var cache = NSCache<CacheKey, CacheEntry<Any>>()
78+
private var cache = NSCache<NSString, CacheEntry>()
3379

34-
func get<T>(key: CacheKey<AnyHashable>) -> T? {
80+
func get<T: Codable & Sendable>(key: CacheKey, as type: T.Type) -> T? {
3581
let cacheKey = key.description as NSString
36-
guard let entry = cache.object(forKey: cacheKey) as? CacheEntry<T> else {
82+
guard let entry = cache.object(forKey: cacheKey) else {
3783
return nil
3884
}
39-
return entry.value
85+
return entry.getValue(as: type)
4086
}
4187

42-
func set<T>(key: CacheKey<AnyHashable>, value: T) {
88+
func set<T: Codable & Sendable>(key: CacheKey, value: T) {
4389
let entry = CacheEntry(value)
4490
let cacheKey = key.description as NSString
4591
cache.setObject(entry, forKey: cacheKey)
4692
}
4793

48-
func invalidate(key: CacheKey<AnyHashable>) {
94+
func invalidate(key: CacheKey) {
4995
let cacheKey = key.description as NSString
5096
cache.removeObject(forKey: cacheKey)
5197
}
5298
}
5399

54-
private extension CacheKey: CustomStringConvertible {
100+
extension CacheKey: CustomStringConvertible {
55101
var description: String {
56102
if let extraData = extraData {
57103
return "\(uri)-\(requestType)-\(extraData)"

CodeEdit/Features/LSP/LSPEventHandler.swift

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
// Created by Abe Malla on 6/1/24.
66
//
77

8+
import LanguageClient
9+
import LanguageServerProtocol
10+
811
extension LSPService {
912

10-
private func startListeningToEvents(for languageId: LanguageIdentifier) {
13+
internal func startListeningToEvents(for languageId: LanguageIdentifier) {
1114
guard let languageClient = languageClients[languageId] else {
1215
logger.error("Language client not found for \(languageId.rawValue)")
1316
return
@@ -22,14 +25,14 @@ extension LSPService {
2225
eventListeningTasks[languageId] = task
2326
}
2427

25-
private func stopListeningToEvents(for languageId: LanguageIdentifier) {
28+
internal func stopListeningToEvents(for languageId: LanguageIdentifier) {
2629
if let task = eventListeningTasks[languageId] {
2730
task.cancel()
2831
eventListeningTasks.removeValue(forKey: languageId)
2932
}
3033
}
3134

32-
private func handleEvent(_ event: LSPEvent, for languageId: LanguageIdentifier) {
35+
private func handleEvent(_ event: ServerEvent, for languageId: LanguageIdentifier) {
3336
switch event {
3437
case let .request(id, request):
3538
print("Request ID: \(id) for \(languageId.rawValue)")
@@ -41,7 +44,7 @@ extension LSPService {
4144
}
4245
}
4346

44-
private func handleRequest(_ request: LSPRequest) {
47+
private func handleRequest(_ request: ServerRequest) {
4548
switch request {
4649
case let .workspaceConfiguration(params, handler):
4750
print("workspaceConfiguration: \(params)")
@@ -63,10 +66,14 @@ extension LSPService {
6366
print("windowShowDocument: \(params)")
6467
case let .windowWorkDoneProgressCreate(params, handler):
6568
print("windowWorkDoneProgressCreate: \(params)")
69+
70+
// TODO:
71+
default:
72+
print()
6673
}
6774
}
6875

69-
private func handleNotification(_ notification: LSPNotification) {
76+
private func handleNotification(_ notification: ServerNotification) {
7077
switch notification {
7178
case let .windowLogMessage(params):
7279
print("windowLogMessage \(params.type)\n```\n\(params.message)\n```\n")

0 commit comments

Comments
 (0)