doomemacs/modules/tools/macos/autoload.el
Mingwei Zhang 3c18601437
add open-in-iterm shortcut for macos module
`+macos/open-in-iterm` opens the current directory in `iTerm`, which as far as i know is a popular alternative to the macos's default terminal emulator `term`.
2020-02-25 07:11:56 -08:00

54 lines
2.2 KiB
EmacsLisp

;;; tools/macos/autoload.el -*- lexical-binding: t; -*-
;;;###autoload
(setq locate-command "mdfind")
;;;###autoload
(defun +macos-open-with (&optional app-name path)
"Send PATH to APP-NAME on OSX."
(interactive)
(let* ((path (expand-file-name
(replace-regexp-in-string
"'" "\\'"
(or path (if (derived-mode-p 'dired-mode)
(dired-get-file-for-visit)
(buffer-file-name)))
nil t)))
(command (format "open %s"
(if app-name
(format "-a %s '%s'" (shell-quote-argument app-name) path)
(format "'%s'" path)))))
(message "Running: %s" command)
(shell-command command)))
;;;###autoload
(defmacro +macos--open-with (id &optional app dir)
`(defun ,(intern (format "+macos/%s" id)) ()
(interactive)
(+macos-open-with ,app ,dir)))
;;;###autoload (autoload '+macos/open-in-default-program "tools/macos/autoload" nil t)
(+macos--open-with open-in-default-program)
;;;###autoload (autoload '+macos/reveal-in-finder "tools/macos/autoload" nil t)
(+macos--open-with reveal-in-finder "Finder" default-directory)
;;;###autoload (autoload '+macos/reveal-project-in-finder "tools/macos/autoload" nil t)
(+macos--open-with reveal-project-in-finder "Finder"
(or (doom-project-root) default-directory))
;;;###autoload (autoload '+macos/send-to-transmit "tools/macos/autoload" nil t)
(+macos--open-with send-to-transmit "Transmit")
;;;###autoload (autoload '+macos/send-cwd-to-transmit "tools/macos/autoload" nil t)
(+macos--open-with send-cwd-to-transmit "Transmit" default-directory)
;;;###autoload (autoload '+macos/send-to-launchbar "tools/macos/autoload" nil t)
(+macos--open-with send-to-launchbar "LaunchBar")
;;;###autoload (autoload '+macos/send-project-to-launchbar "tools/macos/autoload" nil t)
(+macos--open-with send-project-to-launchbar "LaunchBar"
(or (doom-project-root) default-directory))
;;;###autoload (autoload '+macos/open-in-iterm "tools/macos/autoload" nil t)
(+macos--open-with open-in-iterm "iTerm" default-directory)