diff options
author | mousebot <mousebot@riseup.net> | 2021-10-20 14:41:10 +0200 |
---|---|---|
committer | mousebot <mousebot@riseup.net> | 2021-10-20 14:41:10 +0200 |
commit | 1d94efdb2de1238cde0673d07e8268ff821ab815 (patch) | |
tree | b2468841b98b3f0c189636a6699b7b2e3ddd97ac /lisp/mastodon-search.el | |
parent | 7bcf78751c7e0f8ac6d5ad03be8e87e8ed30f9a3 (diff) |
first go at company completion for mentions in new toots
Diffstat (limited to 'lisp/mastodon-search.el')
-rw-r--r-- | lisp/mastodon-search.el | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/mastodon-search.el b/lisp/mastodon-search.el index 537a746..14e40d8 100644 --- a/lisp/mastodon-search.el +++ b/lisp/mastodon-search.el @@ -43,6 +43,25 @@ (defvar mastodon-tl--link-keymap) (defvar mastodon-http--timeout) +;; functions for company completion of mentions in mastodon-toot + +(defun mastodon-search--get-user-info-no-url (account) + "Get user handle, display name and account URL from ACCOUNT." + (list (cdr (assoc 'display_name account)) + (cdr (assoc 'acct account)))) + +(defun mastodon-search--search-accounts-query (query) + "Prompt for a search QUERY and return accounts. +Returns a nested list containing user handle, display name, and URL." + (interactive "sSearch mastodon for: ") + (let* ((url (format "%s/api/v1/accounts/search" mastodon-instance-url)) + (buffer (format "*mastodon-search-%s*" query)) + (response (mastodon-http--get-search-json url query))) + (mapcar #'mastodon-search--get-user-info-no-url ;-handle-flat-propertized + response))) + +;; functions for mastodon search + (defun mastodon-search--search-query (query) "Prompt for a search QUERY and return accounts, statuses, and hashtags." (interactive "sSearch mastodon for: ") |