Round 391: Confluence ext, SharePoint ext, Google Docs ext, Google Sheets/Slides ext (20 commands)

ober

642f90b4cde6f0abd6db657c761376f834bd7ee6

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 0b4478d..73eae7c 100644
--- 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 391 — Confluence ext, SharePoint ext, Google Docs ext, Google Sheets/Slides ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Confluence pages | — | `confluence-pages` | :orange_circle: Scaffolded |
+| Confluence spaces | — | `confluence-spaces` | :orange_circle: Scaffolded |
+| Confluence search | — | `confluence-search` | :orange_circle: Scaffolded |
+| Confluence templates | — | `confluence-templates` | :orange_circle: Scaffolded |
+| SharePoint sites | — | `sharepoint-sites` | :orange_circle: Scaffolded |
+| SharePoint lists | — | `sharepoint-lists` | :orange_circle: Scaffolded |
+| SharePoint documents | — | `sharepoint-docs` | :orange_circle: Scaffolded |
+| SharePoint pages | — | `sharepoint-pages` | :orange_circle: Scaffolded |
+| Google Docs create | — | `google-docs-create` | :orange_circle: Scaffolded |
+| Google Docs list | — | `google-docs-list` | :orange_circle: Scaffolded |
+| Google Docs export | — | `google-docs-export` | :orange_circle: Scaffolded |
+| Google Docs share | — | `google-docs-share` | :orange_circle: Scaffolded |
+| Google Sheets create | — | `google-sheets-create` | :orange_circle: Scaffolded |
+| Google Sheets read | — | `google-sheets-read` | :orange_circle: Scaffolded |
+| Google Sheets write | — | `google-sheets-write` | :orange_circle: Scaffolded |
+| Google Sheets formulas | — | `google-sheets-formulas` | :orange_circle: Scaffolded |
+| Google Slides create | — | `google-slides-create` | :orange_circle: Scaffolded |
+| Google Slides list | — | `google-slides-list` | :orange_circle: Scaffolded |
+| Google Slides export | — | `google-slides-export` | :orange_circle: Scaffolded |
+| Google Slides present | — | `google-slides-present` | :orange_circle: Scaffolded |
+
 ### Round 390 — Todoist ext, TickTick ext, Linear ext, Asana/Monday ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 43ec509..2740088 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -27339,3 +27339,44 @@
 (def (cmd-monday-dashboards app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Monday: listing dashboards")))
+
+;; Round 391 batch 2 — Google Docs ext, Google Sheets/Slides ext
+(def (cmd-google-docs-export app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Docs: exporting document")))
+
+(def (cmd-google-docs-share app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Docs: sharing document")))
+
+(def (cmd-google-sheets-create app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Sheets: creating spreadsheet")))
+
+(def (cmd-google-sheets-read app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Sheets: reading data")))
+
+(def (cmd-google-sheets-write app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Sheets: writing data")))
+
+(def (cmd-google-sheets-formulas app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Sheets: managing formulas")))
+
+(def (cmd-google-slides-create app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Slides: creating presentation")))
+
+(def (cmd-google-slides-list app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Slides: listing presentations")))
+
+(def (cmd-google-slides-export app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Slides: exporting presentation")))
+
+(def (cmd-google-slides-present app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Slides: starting presentation mode")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 2b03301..d6640e0 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -28124,3 +28124,46 @@
 (def (cmd-linear-projects app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Linear: listing projects")))
+
+;; Round 391 batch 1 — Confluence ext, SharePoint ext
+(def (cmd-confluence-pages app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Confluence: listing pages")))
+
+(def (cmd-confluence-spaces app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Confluence: listing spaces")))
+
+(def (cmd-confluence-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Search query: "
+      (lambda (query)
+        (echo-message! echo (str "Confluence: searching: " query))))))
+
+(def (cmd-confluence-templates app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Confluence: listing templates")))
+
+(def (cmd-sharepoint-sites app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SharePoint: listing sites")))
+
+(def (cmd-sharepoint-lists app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SharePoint: listing lists")))
+
+(def (cmd-sharepoint-docs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SharePoint: listing documents")))
+
+(def (cmd-sharepoint-pages app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SharePoint: listing pages")))
+
+(def (cmd-google-docs-create app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Docs: creating document")))
+
+(def (cmd-google-docs-list app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Google Docs: listing documents")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index ef9f61f..bfcfc35 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9684,4 +9684,26 @@
   (register-command! 'monday-boards cmd-monday-boards)
   (register-command! 'monday-automations cmd-monday-automations)
   (register-command! 'monday-dashboards cmd-monday-dashboards)
+
+  ;; Round 391 — Confluence ext, SharePoint ext, Google Docs ext, Google Sheets/Slides ext
+  (register-command! 'confluence-pages cmd-confluence-pages)
+  (register-command! 'confluence-spaces cmd-confluence-spaces)
+  (register-command! 'confluence-search cmd-confluence-search)
+  (register-command! 'confluence-templates cmd-confluence-templates)
+  (register-command! 'sharepoint-sites cmd-sharepoint-sites)
+  (register-command! 'sharepoint-lists cmd-sharepoint-lists)
+  (register-command! 'sharepoint-docs cmd-sharepoint-docs)
+  (register-command! 'sharepoint-pages cmd-sharepoint-pages)
+  (register-command! 'google-docs-create cmd-google-docs-create)
+  (register-command! 'google-docs-list cmd-google-docs-list)
+  (register-command! 'google-docs-export cmd-google-docs-export)
+  (register-command! 'google-docs-share cmd-google-docs-share)
+  (register-command! 'google-sheets-create cmd-google-sheets-create)
+  (register-command! 'google-sheets-read cmd-google-sheets-read)
+  (register-command! 'google-sheets-write cmd-google-sheets-write)
+  (register-command! 'google-sheets-formulas cmd-google-sheets-formulas)
+  (register-command! 'google-slides-create cmd-google-slides-create)
+  (register-command! 'google-slides-list cmd-google-slides-list)
+  (register-command! 'google-slides-export cmd-google-slides-export)
+  (register-command! 'google-slides-present cmd-google-slides-present)
 )