Skip to content

Commit e606a3d

Browse files
committed
Add Key Command Handler
1 parent bd3a828 commit e606a3d

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

Sources/CodeEditSourceEditor/Controller/TextViewController+Lifecycle.swift

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ extension TextViewController {
213213
if event.keyCode == tabKey {
214214
return self.handleTab(event: event, modifierFlags: modifierFlags.rawValue)
215215
} else {
216-
return self.handleCommand(event: event, modifierFlags: modifierFlags.rawValue)
216+
return self.handleCommand(event: event, modifierFlags: modifierFlags)
217217
}
218218
case .flagsChanged:
219219
if modifierFlags.contains(.command),
@@ -243,9 +243,9 @@ extension TextViewController {
243243
}
244244
}
245245

246-
func handleCommand(event: NSEvent, modifierFlags: UInt) -> NSEvent? {
247-
let commandKey = NSEvent.ModifierFlags.command.rawValue
248-
let controlKey = NSEvent.ModifierFlags.control.rawValue
246+
func handleCommand(event: NSEvent, modifierFlags: NSEvent.ModifierFlags) -> NSEvent? {
247+
let commandKey = NSEvent.ModifierFlags.command
248+
let controlKey = NSEvent.ModifierFlags.control
249249

250250
switch (modifierFlags, event.charactersIgnoringModifiers) {
251251
case (commandKey, "/"):
@@ -261,7 +261,7 @@ extension TextViewController {
261261
_ = self.textView.resignFirstResponder()
262262
self.findViewController?.showFindPanel()
263263
return nil
264-
case (0, "\u{1b}"): // Escape key
264+
case (.init(rawValue: 0), "\u{1b}"): // Escape key
265265
if findViewController?.viewModel.isShowingFindPanel == true {
266266
self.findViewController?.hideFindPanel()
267267
return nil
@@ -270,6 +270,12 @@ extension TextViewController {
270270
return handleShowCompletions(event)
271271
case (controlKey, " "):
272272
return handleShowCompletions(event)
273+
case ([NSEvent.ModifierFlags.command, NSEvent.ModifierFlags.control], "j"):
274+
guard let cursor = cursorPositions.first else {
275+
return event
276+
}
277+
jumpToDefinitionModel?.performJump(at: cursor.range)
278+
return nil
273279
case (_, _):
274280
return event
275281
}

0 commit comments

Comments
 (0)