elfeed: Change the logic around visit-external

master
Pierre Neidhardt 2018-06-12 11:51:37 +02:00
parent 2164a9ccac
commit 4e16cc3119
2 changed files with 13 additions and 9 deletions

View File

@ -31,15 +31,18 @@ whether how to visit the link.")
"Visit with external function if entry link matches `ambrevar/elfeed-visit-patterns',
visit otherwise."
(interactive)
(let ((entry (if (eq major-mode 'elfeed-show-mode) elfeed-show-entry (elfeed-search-selected :single)))
(let ((entry (if (eq major-mode 'elfeed-show-mode)
elfeed-show-entry
(elfeed-search-selected :single)))
(patterns ambrevar/elfeed-visit-patterns))
(while (and patterns (not (string-match (caar patterns) (elfeed-entry-link entry))))
(setq patterns (cdr patterns)))
(if patterns
(funcall (cdar patterns))
(if (eq major-mode 'elfeed-search-mode)
(elfeed-search-browse-url)
(elfeed-show-visit)))))
(cond
(patterns
(funcall (cdar patterns)))
((eq major-mode 'elfeed-search-mode)
(elfeed-search-show-entry))
(t (elfeed-show-visit)))))
(define-key elfeed-search-mode-map "v" #'elfeed-play-in-mpv)

View File

@ -109,9 +109,10 @@
(with-eval-after-load 'elfeed
;; Custom
(evil-define-key 'normal elfeed-search-mode-map
(kbd "S-<return>") 'ambrevar/elfeed-visit-maybe-external)
(evil-define-key 'normal elfeed-show-mode-map
(kbd "S-<return>") 'ambrevar/elfeed-visit-maybe-external)
(kbd "S-<return>") 'elfeed-search-show-entry
(kbd "<return>") 'ambrevar/elfeed-visit-maybe-external)
;; (evil-define-key 'normal elfeed-show-mode-map
;; (kbd "S-<return>") 'ambrevar/elfeed-visit-maybe-external)
(evil-define-key 'normal elfeed-show-mode-map
(kbd "q") 'ambrevar/elfeed-kill-entry))