(require 'nsm)
(require 'gnutls)
(require 'socks)
-(require 'ol)
;;; ANSI colors or XTerm colors
;; Avoid byte compilation warnings.
(eval-when-compile
(declare-function org-link-store-props "ol")
- (declare-function org-link-set-parameters "ol")
- (defvar thing-at-point-uri-schemes))
+ (declare-function org-link-set-parameters "ol"))
(defun elpher-org-link-store ()
"Store link to an `elpher' page in `org'."
(string-match-p "^finger://.+" link))
(elpher-go (string-remove-prefix "elpher:" link))))
-(org-link-set-parameters "elpher"
- :store #'elpher-org-link-store
- :follow #'elpher-org-link-follow)
+(with-eval-after-load 'org
+ (org-link-set-parameters "elpher"
+ :store #'elpher-org-link-store
+ :follow #'elpher-org-link-follow))
;;;###autoload
(defun elpher-browse-url-elpher (url &rest _args)
(interactive (browse-url-interactive-arg "Elpher URL: "))
(elpher-go url))
-(add-to-list
- 'browse-url-default-handlers
- '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher))
+;; Use elpher to open gopher, finger and gemini links
+(with-eval-after-load 'browse-url
+ (add-to-list
+ 'browse-url-default-handlers
+ '("^\\(gopher\\|finger\\|gemini\\)://" . elpher-browse-url-elpher)))
+
+;; Avoid byte compilation warnings.
+(eval-when-compile
+ (defvar thing-at-point-uri-schemes)
+ (defvar mu4e~view-beginning-of-url-regexp))
;; Register "gemini://" as a URI scheme so `browse-url' does the right thing
-(add-to-list 'thing-at-point-uri-schemes "gemini://")
+(with-eval-after-load 'thingatpt
+ (add-to-list 'thing-at-point-uri-schemes "gemini://"))
+
+(with-eval-after-load 'mu4e-view
+ ;; Make mu4e aware of the gemini world
+ (setq mu4e~view-beginning-of-url-regexp
+ "\\(?:https?\\|gopher\\|finger\\|gemini\\)://\\|mailto:"))
;;; Interactive procedures
;;