;; Copyright (C) 2021 Christopher Brannon <chris@the-brannons.com>
;; Copyright (C) 2021 Omar Polo <op@omarpolo.com>
;; Copyright (C) 2021 Noodles! <nnoodle@chiru.no>
+;; Copyright (C) 2021 Abhiseck Paira <abhiseckpaira@disroot.org>
;; Copyright (C) 2020-2021 Alex Schroeder <alex@gnu.org>
;; Copyright (C) 2020 Zhiwei Chen <chenzhiwei03@kuaishou.com>
;; Copyright (C) 2020 condy0919 <condy0919@gmail.com>
;; Author: Tim Vaughan <plugd@thelambdalab.xyz>
;; Created: 11 April 2019
-;; Version: 3.0.0
+;; Version: 3.1.0
;; Keywords: comm gopher
;; Homepage: https://thelambdalab.xyz/elpher
;; Package-Requires: ((emacs "27.1"))
;;; Global constants
;;
-(defconst elpher-version "3.0.0"
+(defconst elpher-version "3.1.0"
"Current version of elpher.")
(defconst elpher-margin-width 6
(defmacro elpher-with-clean-buffer (&rest args)
"Evaluate ARGS with a clean *elpher* buffer as current."
+ (declare (debug (body))) ;; Allow edebug to step through body
`(with-current-buffer elpher-buffer-name
(unless (eq major-mode 'elpher-mode)
;; avoid resetting buffer-local variables
(defun elpher-display-history-links (pages title)
"Show all PAGES in an Elpher buffer with a given TITLE."
- (let* ((title-line (concat "---- " title " ----"))
+ (let* ((title-line (concat " ---- " title " ----"))
(footer-line (make-string (length title-line) ?-)))
(elpher-with-clean-buffer
(insert title-line "\n\n")
(address (elpher-page-address page)))
(elpher-insert-index-record display-string address))))
(insert "No history items found.\n"))
- (insert "\n" footer-line "\n"
+ (insert "\n " footer-line "\n"
"Select an entry or press 'u' to return to the previous page.")
(elpher-restore-pos))))
(elpher-with-clean-buffer
(insert " ---- Elpher Bookmarks ---- \n\n")
(bookmark-maybe-load-default-file)
- (let ((bookmarks (bookmark-maybe-sort-alist)))
- (if bookmarks
- (dolist (bookmark bookmarks)
- (let* ((name (car bookmark))
- (url (alist-get 'location (cdr bookmark)))
- (address (elpher-address-from-url url)))
- (elpher-insert-index-record name address)))
- (insert "No bookmarked pages found.\n")))
+ (dolist (bookmark (bookmark-maybe-sort-alist))
+ (when (eq #'elpher-bookmark-jump (alist-get 'handler (cdr bookmark)))
+ (let* ((name (car bookmark))
+ (url (alist-get 'location (cdr bookmark)))
+ (address (elpher-address-from-url url)))
+ (elpher-insert-index-record name address))))
+ (when (<= (line-number-at-pos) 3)
+ (insert "No bookmarked pages found.\n"))
(insert "\n --------------------------\n\n"
"Select an entry or press 'u' to return to the previous page.\n\n"
"Bookmarks can be renamed or deleted via the ")
(setq mu4e~view-beginning-of-url-regexp
"\\(?:https?\\|gopher\\|finger\\|gemini\\)://\\|mailto:")
+;;; eww:
+
+;; Let elpher handle gemini, gopher links in eww buffer.
+(setq eww-use-browse-url
+ "\\`mailto:\\|\\(\\`gemini\\|\\`gopher\\|\\`finger\\)://")
+
;;; Interactive procedures
;;