aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/mastodon.el')
-rw-r--r--lisp/mastodon.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/mastodon.el b/lisp/mastodon.el
index 5e95b35..bc624d9 100644
--- a/lisp/mastodon.el
+++ b/lisp/mastodon.el
@@ -5,7 +5,7 @@
;; Author: Johnson Denen <johnson.denen@gmail.com>
;; Maintainer: Marty Hiatt <martianhiatus@riseup.net>
;; Version: 1.0.0
-;; Package-Requires: ((emacs "27.1") (request "0.3.0"))
+;; Package-Requires: ((emacs "27.1") (request "0.3.0") (persist "0.4"))
;; Homepage: https://codeberg.org/martianh/mastodon.el
;; This file is not part of GNU Emacs.
@@ -283,7 +283,9 @@ not, just browse the URL in the normal fashion."
(get-text-property (point) 'shr-url)
(read-string "Lookup URL: "))))
(if (not (mastodon--masto-url-p query))
- (browse-url query)
+ (if (equal major-mode 'mastodon-mode)
+ (shr-browse-url query) ;; keep our shr keymap
+ (browse-url query))
(message "Performing lookup...")
(let* ((url (format "%s/api/v2/search" mastodon-instance-url))
(param (concat "resolve=t")) ; webfinger
@@ -305,10 +307,12 @@ not, just browse the URL in the normal fashion."
(defun mastodon--masto-url-p (query)
"Check if QUERY resembles a fediverse URL."
;; calqued off https://github.com/tuskyapp/Tusky/blob/c8fc2418b8f5458a817bba221d025b822225e130/app/src/main/java/com/keylesspalace/tusky/BottomSheetActivity.kt
+ ;; thx to Conny Duck!
(let* ((uri-parsed (url-generic-parse-url query))
(query (url-filename uri-parsed)))
(save-match-data
- (or (string-match "^/@[[:alnum:]]+/[[:digit:]]+$" query)
+ (or (string-match "^/@[^/]+$" query)
+ (string-match "^/@[^/]+/[[:digit:]]+$" query)
(string-match "^/users/[[:alnum:]]+$" query)
(string-match "^/notice/[[:alnum:]]+$" query)
(string-match "^/objects/[-a-f0-9]+$" query)