Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions OpenInTerminalFinderExtension/FinderSync.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,20 @@ class FinderSync: FIFinderSync {
func createDefaultMenu() -> NSMenu {
let menu = NSMenu(title: "")

// 添加一级菜单项
let menuItem = NSMenuItem(title: "Open in...", action: nil, keyEquivalent: "")

// 创建二级菜单
let subMenu = NSMenu(title: "")

guard let terminal = DefaultsManager.shared.defaultTerminal else { return menu }
let terminalTitle = terminal.name
let openInTerminalItem = NSMenuItem(title: terminalTitle,
action: #selector(openDefaultTerminal),
keyEquivalent: "")
let terminalIcon = DefaultsManager.shared.getAppIcon(terminal)
openInTerminalItem.image = terminalIcon
menu.addItem(openInTerminalItem)
subMenu.addItem(openInTerminalItem)

guard let editor = DefaultsManager.shared.defaultEditor else { return menu }
let editorTitle = editor.name
Expand All @@ -123,10 +129,15 @@ class FinderSync: FIFinderSync {
keyEquivalent: "")
let editorIcon = DefaultsManager.shared.getAppIcon(editor)
openInEditorItem.image = editorIcon
menu.addItem(openInEditorItem)
subMenu.addItem(openInEditorItem)

// add "Copy Path"
menu.addItem(self.copyPathItem)
subMenu.addItem(self.copyPathItem)

// 将二级菜单关联到一级菜单项
menuItem.submenu = subMenu

menu.addItem(menuItem)

return menu
}
Expand Down