Round 227: Ement - Matrix client (20 commands)
ober
7882dccff57ab1bbec0969528805ae27b98cf3a3
--- 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 227 — Ement (Matrix client) + +| Command | Status | Description | +|---------|--------|-------------| +| ement-connect | :orange_circle: | Connect to Matrix server | +| ement-disconnect | :orange_circle: | Disconnect from server | +| ement-list-rooms | :orange_circle: | List rooms | +| ement-create-room | :orange_circle: | Create room | +| ement-join-room | :orange_circle: | Join room | +| ement-leave-room | :orange_circle: | Leave room | +| ement-invite-user | :orange_circle: | Invite user to room | +| ement-send-message | :orange_circle: | Send message | +| ement-send-emote | :orange_circle: | Send emote | +| ement-send-file | :orange_circle: | Send file | +| ement-room-set-topic | :orange_circle: | Set room topic | +| ement-room-list | :orange_circle: | Show room list | +| ement-view-room | :orange_circle: | View room | +| ement-describe-room | :orange_circle: | Describe room | +| ement-room-tag | :orange_circle: | Tag room | +| ement-notifications | :orange_circle: | Show notifications | +| ement-direct-message | :orange_circle: | Send direct message | +| ement-ignore-user | :orange_circle: | Ignore user | +| ement-unignore-user | :orange_circle: | Unignore user | +| ement-room-toggle-space | :orange_circle: | Toggle space for room | + ### Round 226 — Nix ext, Guix ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -19424,3 +19424,51 @@ (def (cmd-guix-copy app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guix: copying store items"))) + +;;; Round 227 — Ement (Matrix client) (batch 2) + +(def (cmd-ement-room-set-topic app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Topic: " + (lambda (topic) + (echo-message! echo (str "Ement: set room topic to " topic)))))) + +(def (cmd-ement-room-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: showing room list"))) + +(def (cmd-ement-view-room app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: viewing room"))) + +(def (cmd-ement-describe-room app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: describing room"))) + +(def (cmd-ement-room-tag app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Tag: " + (lambda (tag) + (echo-message! echo (str "Ement: tagged room " tag)))))) + +(def (cmd-ement-notifications app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: showing notifications"))) + +(def (cmd-ement-direct-message app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "User: " + (lambda (user) + (echo-message! echo (str "Ement: direct message to " user)))))) + +(def (cmd-ement-ignore-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: ignored user"))) + +(def (cmd-ement-unignore-user app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: unignored user"))) + +(def (cmd-ement-room-toggle-space app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: toggled space for room"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -20080,3 +20080,57 @@ (def (cmd-guix-hash app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guix: computing hash"))) + +;;; Round 227 — Ement (Matrix client) (batch 1) + +(def (cmd-ement-connect app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Server: " + (lambda (srv) + (echo-message! echo (str "Ement: connecting to " srv)))))) + +(def (cmd-ement-disconnect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: disconnected"))) + +(def (cmd-ement-list-rooms app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: listing rooms"))) + +(def (cmd-ement-create-room app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Room name: " + (lambda (name) + (echo-message! echo (str "Ement: creating room " name)))))) + +(def (cmd-ement-join-room app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Room: " + (lambda (room) + (echo-message! echo (str "Ement: joining room " room)))))) + +(def (cmd-ement-leave-room app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: left room"))) + +(def (cmd-ement-invite-user app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "User: " + (lambda (user) + (echo-message! echo (str "Ement: invited " user)))))) + +(def (cmd-ement-send-message app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Message: " + (lambda (msg) + (echo-message! echo (str "Ement: sent message")))))) + +(def (cmd-ement-send-emote app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Emote: " + (lambda (emote) + (echo-message! echo (str "Ement: sent emote")))))) + +(def (cmd-ement-send-file app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ement: sent file"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -6200,4 +6200,25 @@ (register-command! 'guix-substitute cmd-guix-substitute) (register-command! 'guix-archive cmd-guix-archive) (register-command! 'guix-copy cmd-guix-copy) + ;; Round 227 + (register-command! 'ement-connect cmd-ement-connect) + (register-command! 'ement-disconnect cmd-ement-disconnect) + (register-command! 'ement-list-rooms cmd-ement-list-rooms) + (register-command! 'ement-create-room cmd-ement-create-room) + (register-command! 'ement-join-room cmd-ement-join-room) + (register-command! 'ement-leave-room cmd-ement-leave-room) + (register-command! 'ement-invite-user cmd-ement-invite-user) + (register-command! 'ement-send-message cmd-ement-send-message) + (register-command! 'ement-send-emote cmd-ement-send-emote) + (register-command! 'ement-send-file cmd-ement-send-file) + (register-command! 'ement-room-set-topic cmd-ement-room-set-topic) + (register-command! 'ement-room-list cmd-ement-room-list) + (register-command! 'ement-view-room cmd-ement-view-room) + (register-command! 'ement-describe-room cmd-ement-describe-room) + (register-command! 'ement-room-tag cmd-ement-room-tag) + (register-command! 'ement-notifications cmd-ement-notifications) + (register-command! 'ement-direct-message cmd-ement-direct-message) + (register-command! 'ement-ignore-user cmd-ement-ignore-user) + (register-command! 'ement-unignore-user cmd-ement-unignore-user) + (register-command! 'ement-room-toggle-space cmd-ement-room-toggle-space) )