forked from github/CopilotForXcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKeyBindingManager.swift
More file actions
37 lines (35 loc) · 1.25 KB
/
KeyBindingManager.swift
File metadata and controls
37 lines (35 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import Foundation
import Workspace
public final class KeyBindingManager {
let tabToAcceptSuggestion: TabToAcceptSuggestion
public init(
workspacePool: WorkspacePool,
acceptSuggestion: @escaping () -> Void,
acceptNESSuggestion: @escaping () -> Void,
expandSuggestion: @escaping () -> Void,
collapseSuggestion: @escaping () -> Void,
dismissSuggestion: @escaping () -> Void,
rejectNESSuggestion: @escaping () -> Void,
goToNextEditSuggestion: @escaping () -> Void,
isNESPanelOutOfFrame: @escaping () -> Bool
) {
tabToAcceptSuggestion = .init(
workspacePool: workspacePool,
acceptSuggestion: acceptSuggestion,
acceptNESSuggestion: acceptNESSuggestion,
dismissSuggestion: dismissSuggestion,
expandSuggestion: expandSuggestion,
collapseSuggestion: collapseSuggestion,
rejectNESSuggestion: rejectNESSuggestion,
goToNextEditSuggestion: goToNextEditSuggestion,
isNESPanelOutOfFrame: isNESPanelOutOfFrame
)
}
public func start() {
tabToAcceptSuggestion.start()
}
@MainActor
public func stopForExit() {
tabToAcceptSuggestion.stopForExit()
}
}