Merge pull request #127 from MatthewZMD/stefan-var-refactor

Refactor Variables by Stefan Monnier
master
Andy Stewart 6 years ago committed by GitHub
commit e0b52d8420
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 45
      eaf.el

@ -809,37 +809,38 @@ When called interactively, URL accepts a file that can be opened by EAF."
;; Try to set app-name along with url if app-name is unset. ;; Try to set app-name along with url if app-name is unset.
(when (and (not app-name) (file-exists-p url)) (when (and (not app-name) (file-exists-p url))
(setq url (expand-file-name url)) (setq url (expand-file-name url))
(setq extension-name (file-name-extension url)) (let* ((extension-name (file-name-extension url)))
(setq app-name
(cond ((member extension-name eaf-pdf-extension-list) (cond ((member extension-name eaf-pdf-extension-list)
(setq app-name "pdf-viewer")) "pdf-viewer")
((member extension-name eaf-markdown-extension-list) ((member extension-name eaf-markdown-extension-list)
;; Try get user's github token if `eaf-grip-token' is nil. ;; Try get user's github token if `eaf-grip-token' is nil.
(if eaf-grip-token (setq arguments
(setq arguments eaf-grip-token) (or eaf-grip-token
(setq arguments (read-string "Fill your own github token (or set `eaf-grip-token' with token string): "))) (read-string "Fill your own github token (or set `eaf-grip-token' with token string): ")))
;; Split window to show file and previewer. ;; Split window to show file and previewer.
(eaf-split-preview-windows) (eaf-split-preview-windows url)
(setq app-name "markdown-previewer")) "markdown-previewer")
((member extension-name eaf-image-extension-list) ((member extension-name eaf-image-extension-list)
(setq app-name "image-viewer")) "image-viewer")
((member extension-name eaf-video-extension-list) ((member extension-name eaf-video-extension-list)
(setq app-name "video-player")) "video-player")
((member extension-name eaf-browser-extension-list) ((member extension-name eaf-browser-extension-list)
(setq url (concat "file://" url)) (setq url (concat "file://" url))
(setq app-name "browser")) "browser")
((member extension-name eaf-org-extension-list) ((member extension-name eaf-org-extension-list)
;; Find file first, because `find-file' will trigger `kill-buffer' operation. ;; Find file first, because `find-file' will trigger `kill-buffer' operation.
(save-excursion (save-excursion
(find-file url) (find-file url)
(with-current-buffer (buffer-name) (with-current-buffer (buffer-name) ;FIXME: Why?
(org-html-export-to-html))) (org-html-export-to-html)))
;; Add file name to `eaf-org-file-list' after command `find-file'. ;; Add file name to `eaf-org-file-list' after command `find-file'.
(unless (member url eaf-org-file-list) (unless (member url eaf-org-file-list)
(push url eaf-org-file-list)) (push url eaf-org-file-list))
;; Split window to show file and previewer. ;; Split window to show file and previewer.
(eaf-split-preview-windows) (eaf-split-preview-windows url)
(setq app-name "org-previewer")))) "org-previewer")))))
(unless arguments (setq arguments "")) (unless arguments (setq arguments ""))
;; Now that app-name should hopefully be set ;; Now that app-name should hopefully be set
(if app-name (if app-name
@ -867,14 +868,16 @@ When called interactively, URL accepts a file that can be opened by EAF."
(eaf-start-process) (eaf-start-process)
(message "Opening %s with EAF-%s..." url app-name)) (message "Opening %s with EAF-%s..." url app-name))
;; Output something to user if app-name is empty string. ;; Output something to user if app-name is empty string.
(if (or (string-prefix-p "/" url) (message (cond
(string-prefix-p "~" url)) ((not (or (string-prefix-p "/" url)
(if (not (file-exists-p url)) (string-prefix-p "~" url)))
(message (format "EAF: %s does not exist." url)) "EAF doesn't know how to open %s.")
(message (format "EAF doesn't know how to open %s." url))) ((file-exists-p url)
(message (format "EAF doesn't know how to open %s." url))))) "EAF doesn't know how to open %s.")
(t "EAF: %s does not exist."))
(defun eaf-split-preview-windows () url)))
(defun eaf-split-preview-windows (url)
(delete-other-windows) (delete-other-windows)
(find-file url) (find-file url)
(split-window-horizontally) (split-window-horizontally)

Loading…
Cancel
Save