aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon-search.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/mastodon-search.el')
-rw-r--r--lisp/mastodon-search.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/mastodon-search.el b/lisp/mastodon-search.el
index 31fcae3..fc7bd8e 100644
--- a/lisp/mastodon-search.el
+++ b/lisp/mastodon-search.el
@@ -49,13 +49,19 @@
;; functions for company completion of mentions in mastodon-toot
+(defun mastodon-search--get-user-info-@-capf (account)
+ "Get user handle, display name and account URL from ACCOUNT."
+ (list (concat "@" (cdr (assoc 'acct account)))
+ (cdr (assoc 'url account))
+ (cdr (assoc 'display_name account))))
+
(defun mastodon-search--get-user-info-@ (account)
"Get user handle, display name and account URL from ACCOUNT."
(list (cdr (assoc 'display_name account))
(concat "@" (cdr (assoc 'acct account)))
(cdr (assoc 'url account))))
-(defun mastodon-search--search-accounts-query (query)
+(defun mastodon-search--search-accounts-query (query &optional capf)
"Prompt for a search QUERY and return accounts synchronously.
Returns a nested list containing user handle, display name, and URL."
(interactive "sSearch mastodon for: ")
@@ -63,7 +69,9 @@ Returns a nested list containing user handle, display name, and URL."
(response (if (equal mastodon-toot--completion-style-for-mentions "following")
(mastodon-http--get-search-json url query "following=true")
(mastodon-http--get-search-json url query))))
- (mapcar #'mastodon-search--get-user-info-@ response)))
+ (if capf
+ (mapcar #'mastodon-search--get-user-info-@-capf response)
+ (mapcar #'mastodon-search--get-user-info-@ response))))
;; functions for tags completion: