diff --git a/phpmon/Domain/Menu/MainMenu.swift b/phpmon/Domain/Menu/MainMenu.swift index e9870c1..7a0da2f 100644 --- a/phpmon/Domain/Menu/MainMenu.swift +++ b/phpmon/Domain/Menu/MainMenu.swift @@ -292,6 +292,10 @@ class MainMenu: NSObject, NSWindowDelegate, NSMenuDelegate { Actions.openPhpConfigFolder(version: App.phpInstall!.version.short) } + @objc func openGlobalComposerFolder() { + Actions.openGlobalComposerFolder() + } + @objc func openValetConfigFolder() { Actions.openValetConfigFolder() } diff --git a/phpmon/Domain/Menu/StatusMenu.swift b/phpmon/Domain/Menu/StatusMenu.swift index d06b364..4a7d60f 100644 --- a/phpmon/Domain/Menu/StatusMenu.swift +++ b/phpmon/Domain/Menu/StatusMenu.swift @@ -85,6 +85,7 @@ class StatusMenu : NSMenu { // Configuration self.addItem(HeaderView.asMenuItem(text: "mi_configuration".localized)) self.addItem(NSMenuItem(title: "mi_valet_config".localized, action: #selector(MainMenu.openValetConfigFolder), keyEquivalent: "v")) + self.addItem(NSMenuItem(title: "mi_global_composer".localized, action: #selector(MainMenu.openGlobalComposerFolder), keyEquivalent: "g")) self.addItem(NSMenuItem(title: "mi_php_config".localized, action: #selector(MainMenu.openActiveConfigFolder), keyEquivalent: "c")) self.addItem(NSMenuItem(title: "mi_phpinfo".localized, action: #selector(MainMenu.openPhpInfo), keyEquivalent: "i")) diff --git a/phpmon/Domain/Terminal/Actions.swift b/phpmon/Domain/Terminal/Actions.swift index af402bc..3ca6ea4 100644 --- a/phpmon/Domain/Terminal/Actions.swift +++ b/phpmon/Domain/Terminal/Actions.swift @@ -138,6 +138,13 @@ class Actions { NSWorkspace.shared.activateFileViewerSelecting(files as [URL]) } + public static func openGlobalComposerFolder() + { + let file = FileManager.default.homeDirectoryForCurrentUser + .appendingPathComponent(".composer/composer.json") + NSWorkspace.shared.activateFileViewerSelecting([file] as [URL]) + } + public static func openPhpConfigFolder(version: String) { let files = [NSURL(fileURLWithPath: "\(Paths.etcPath)/php/\(version)/php.ini")]; @@ -146,8 +153,9 @@ class Actions { public static func openValetConfigFolder() { - let files = [NSURL(fileURLWithPath: NSString(string: "~/.config/valet").expandingTildeInPath)]; - NSWorkspace.shared.activateFileViewerSelecting(files as [URL]) + let file = FileManager.default.homeDirectoryForCurrentUser + .appendingPathComponent(".config/valet") + NSWorkspace.shared.activateFileViewerSelecting([file] as [URL]) } // MARK: - Quick Fix diff --git a/phpmon/Localizable.strings b/phpmon/Localizable.strings index 8e8f94e..9af3888 100644 --- a/phpmon/Localizable.strings +++ b/phpmon/Localizable.strings @@ -36,6 +36,7 @@ "mi_valet_config" = "Locate Valet folder (.config/valet)"; "mi_php_config" = "Locate PHP configuration file (php.ini)"; +"mi_global_composer" = "Locate global composer.json file (.composer)"; "mi_phpinfo" = "Show current configuration (phpinfo)"; "mi_detected_extensions" = "Detected Extensions"; "mi_no_extensions_detected" = "No additional extensions detected.";