Round 233: Mastodon.el (20 commands)
ober
00a5e6d353e175cf1e3178f5949ca65256948f2a
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 233 — Mastodon.el + +| Command | Status | Description | +|---------|--------|-------------| +| mastodon-toot | :orange_circle: | Compose a new Mastodon toot | +| mastodon-tl-update | :orange_circle: | Update current Mastodon timeline | +| mastodon-tl-next-tab-item | :orange_circle: | Move to next tab item in timeline | +| mastodon-tl-previous-tab-item | :orange_circle: | Move to previous tab item in timeline | +| mastodon-search | :orange_circle: | Search Mastodon for users/tags/statuses | +| mastodon-notifications-get | :orange_circle: | Show Mastodon notifications | +| mastodon-tl-thread | :orange_circle: | Show thread for current toot | +| mastodon-tl-toggle-spoiler-text | :orange_circle: | Toggle content warning visibility | +| mastodon-toot-bookmark-toot | :orange_circle: | Bookmark current toot | +| mastodon-toot-pin-toot | :orange_circle: | Pin current toot to profile | +| mastodon-tl-follow-user | :orange_circle: | Follow a Mastodon user | +| mastodon-tl-unfollow-user | :orange_circle: | Unfollow a Mastodon user | +| mastodon-tl-mute-user | :orange_circle: | Mute a Mastodon user | +| mastodon-tl-unmute-user | :orange_circle: | Unmute a Mastodon user | +| mastodon-tl-block-user | :orange_circle: | Block a Mastodon user | +| mastodon-tl-unblock-user | :orange_circle: | Unblock a Mastodon user | +| mastodon-tl-follow-tag | :orange_circle: | Follow a Mastodon hashtag | +| mastodon-tl-home | :orange_circle: | Show home timeline | +| mastodon-tl-local | :orange_circle: | Show local timeline | +| mastodon-tl-federated | :orange_circle: | Show federated timeline | + ### Round 232 — Detached ext, Envrc ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -19707,3 +19707,47 @@ (def (cmd-envrc-show-env app) (let* ((echo (app-state-echo app))) (echo-message! echo "Envrc: showing environment"))) + +;;; Round 233 — Mastodon.el (batch 2) + +(def (cmd-mastodon-tl-follow-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: followed user"))) + +(def (cmd-mastodon-tl-unfollow-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: unfollowed user"))) + +(def (cmd-mastodon-tl-mute-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: muted user"))) + +(def (cmd-mastodon-tl-unmute-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: unmuted user"))) + +(def (cmd-mastodon-tl-block-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: blocked user"))) + +(def (cmd-mastodon-tl-unblock-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: unblocked user"))) + +(def (cmd-mastodon-tl-follow-tag app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Tag: " + (lambda (tag) + (echo-message! echo (str "Mastodon: following tag " tag)))))) + +(def (cmd-mastodon-tl-home app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: showing home timeline"))) + +(def (cmd-mastodon-tl-local app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: showing local timeline"))) + +(def (cmd-mastodon-tl-federated app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: showing federated timeline"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -20371,3 +20371,49 @@ (def (cmd-detached-describe-session app) (let* ((echo (app-state-echo app))) (echo-message! echo "Detached: describing session"))) + +;;; Round 233 — Mastodon.el (batch 1) + +(def (cmd-mastodon-toot app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Toot: " + (lambda (msg) + (echo-message! echo "Mastodon: tooted"))))) + +(def (cmd-mastodon-tl-update app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: updated timeline"))) + +(def (cmd-mastodon-tl-next-tab-item app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: next item"))) + +(def (cmd-mastodon-tl-previous-tab-item app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: previous item"))) + +(def (cmd-mastodon-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search: " + (lambda (q) + (echo-message! echo (str "Mastodon: searching " q)))))) + +(def (cmd-mastodon-notifications-get app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: showing notifications"))) + +(def (cmd-mastodon-tl-thread app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: showing thread"))) + +(def (cmd-mastodon-tl-toggle-spoiler-text app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: toggled spoiler text"))) + +(def (cmd-mastodon-toot-bookmark-toot app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: bookmarked toot"))) + +(def (cmd-mastodon-toot-pin-toot app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mastodon: pinned toot"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -6326,4 +6326,25 @@ (register-command! 'envrc-global-mode cmd-envrc-global-mode) (register-command! 'envrc-override-mode cmd-envrc-override-mode) (register-command! 'envrc-show-env cmd-envrc-show-env) + ;; Round 233 + (register-command! 'mastodon-toot cmd-mastodon-toot) + (register-command! 'mastodon-tl-update cmd-mastodon-tl-update) + (register-command! 'mastodon-tl-next-tab-item cmd-mastodon-tl-next-tab-item) + (register-command! 'mastodon-tl-previous-tab-item cmd-mastodon-tl-previous-tab-item) + (register-command! 'mastodon-search cmd-mastodon-search) + (register-command! 'mastodon-notifications-get cmd-mastodon-notifications-get) + (register-command! 'mastodon-tl-thread cmd-mastodon-tl-thread) + (register-command! 'mastodon-tl-toggle-spoiler-text cmd-mastodon-tl-toggle-spoiler-text) + (register-command! 'mastodon-toot-bookmark-toot cmd-mastodon-toot-bookmark-toot) + (register-command! 'mastodon-toot-pin-toot cmd-mastodon-toot-pin-toot) + (register-command! 'mastodon-tl-follow-user cmd-mastodon-tl-follow-user) + (register-command! 'mastodon-tl-unfollow-user cmd-mastodon-tl-unfollow-user) + (register-command! 'mastodon-tl-mute-user cmd-mastodon-tl-mute-user) + (register-command! 'mastodon-tl-unmute-user cmd-mastodon-tl-unmute-user) + (register-command! 'mastodon-tl-block-user cmd-mastodon-tl-block-user) + (register-command! 'mastodon-tl-unblock-user cmd-mastodon-tl-unblock-user) + (register-command! 'mastodon-tl-follow-tag cmd-mastodon-tl-follow-tag) + (register-command! 'mastodon-tl-home cmd-mastodon-tl-home) + (register-command! 'mastodon-tl-local cmd-mastodon-tl-local) + (register-command! 'mastodon-tl-federated cmd-mastodon-tl-federated) )