Better emacs config
This commit is contained in:
25
emacs.d/config/config-dired.el
Normal file
25
emacs.d/config/config-dired.el
Normal file
@@ -0,0 +1,25 @@
|
||||
(defun ergoemacs-open-in-external-app ()
|
||||
"Open the current file or dired marked files in external app."
|
||||
(interactive)
|
||||
(let ( doIt
|
||||
(myFileList
|
||||
(cond
|
||||
((string-equal major-mode "dired-mode") (dired-get-marked-files))
|
||||
(t (list (buffer-file-name))) ) ) )
|
||||
|
||||
(setq doIt (if (<= (length myFileList) 5)
|
||||
t
|
||||
(y-or-n-p "Open more than 5 files?") ) )
|
||||
|
||||
(when doIt
|
||||
(cond
|
||||
((string-equal system-type "windows-nt")
|
||||
(mapc (lambda (fPath) (w32-shell-execute "open" (replace-regexp-in-string "/" "\\" fPath t t)) ) myFileList)
|
||||
)
|
||||
((string-equal system-type "darwin")
|
||||
(mapc (lambda (fPath) (shell-command (format "open \"%s\"" fPath)) ) myFileList) )
|
||||
((string-equal system-type "gnu/linux")
|
||||
(mapc (lambda (fPath) (let ((process-connection-type nil)) (start-process "" nil "xdg-open" fPath)) ) myFileList) ) ) ) ) )
|
||||
|
||||
(define-key dired-mode-map (kbd "e") 'ergoemacs-open-in-external-app)
|
||||
(provide 'config-dired)
|
Reference in New Issue
Block a user