diff options
| -rw-r--r-- | lisp/mastodon-tl.el | 3 | ||||
| -rw-r--r-- | lisp/mastodon.el | 20 | 
2 files changed, 21 insertions, 2 deletions
| diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el index e782631..2d2a588 100644 --- a/lisp/mastodon-tl.el +++ b/lisp/mastodon-tl.el @@ -88,7 +88,8 @@    (let* ((url (mastodon--api-for (concat "timelines/" timeline)))           (tl-buff (concat "*mastodon-" timeline "*"))           (tl-json (mastodon-http--get-json url))) -    (mastodon-tl--render-timeline tl-buff tl-json))) +    (mastodon-tl--render-timeline tl-buff tl-json) +    (mastodon-mode)))  (provide 'mastodon-tl)  ;;; mastodon-tl.el ends here diff --git a/lisp/mastodon.el b/lisp/mastodon.el index 1bd1a66..abbff09 100644 --- a/lisp/mastodon.el +++ b/lisp/mastodon.el @@ -47,6 +47,10 @@    :group 'mastodon    :type 'file) +(defvar mastodon-mode-map +  (make-sparse-keymap) +  "Keymap for `mastodon-mode'.") +  (defvar mastodon--api-version "v1")  ;; FIXME #25 @@ -62,7 +66,7 @@  (defun mastodon ()    (interactive)    (require 'mastodon-tl) -  (mastodon-tl--get "home")) +  (mastodon-home))  ;;;###autoload  (defun mastodon-toot () @@ -80,5 +84,19 @@    (progn      (mastodon--store-client-id-and-secret))) +(define-derived-mode mastodon-mode nil "Mastodon" +  "Major mode for Mastodon, the federated microblogging network." +  :group 'mastodon +  (let ((map mastodon-mode-map)) +    (define-key map (kbd "F") (lambda () (interactive) (mastodon-tl--get "public"))) +    (define-key map (kbd "H") (lambda () (interactive) (mastodon-tl--get "home"))) +    (define-key map (kbd "L") (lambda () (interactive) (mastodon-tl--get "public?local=true"))) +    (define-key map (kbd "n") #'mastodon-toot) +    (define-key map (kbd "q") #'kill-this-buffer) +    (define-key map (kbd "Q") #'kill-buffer-and-window) +    (define-key map (kbd "T") (lambda () (interactive) +                                (let ((tag (read-string "Tag: "))) +                                  (mastodon-tl--get (concat "tag/" tag))))))) +  (provide 'mastodon)  ;;; mastodon.el ends here | 
