Round 197: Copilot-ext, GPTel-ext, LLM, Aider, Codeium, Sourcegraph, ChatGPT, Whisper commands

ober

9268662ccc21fe526d88f03ada111866cda73d01

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 9c9e48b..bf6a795 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 197 — Copilot-ext, GPTel-ext, LLM, Aider, Codeium, Sourcegraph, ChatGPT, Whisper
+
+| Feature | Status | Notes |
+|---|---|---|
+| copilot-accept-completion-by-paragraph | :orange_circle: | Accept completion by paragraph |
+| copilot-panel-complete | :orange_circle: | Show Copilot panel completions |
+| gptel-send-region | :orange_circle: | Send region to LLM |
+| gptel-rewrite | :orange_circle: | Rewrite region with LLM |
+| llm-chat-streaming | :orange_circle: | Streaming LLM chat |
+| llm-embedding | :orange_circle: | Compute LLM embedding |
+| llm-summarize-region | :orange_circle: | Summarize region with LLM |
+| aider-add-file | :orange_circle: | Add file to Aider context |
+| aider-ask | :orange_circle: | Ask Aider a question |
+| aider-architect | :orange_circle: | Aider architect mode |
+| codeium-accept-completion | :orange_circle: | Accept Codeium completion |
+| codeium-next-completion | :orange_circle: | Next Codeium completion |
+| codeium-previous-completion | :orange_circle: | Previous Codeium completion |
+| tabnine-restart-server | :orange_circle: | Restart TabNine server |
+| sourcegraph-search | :orange_circle: | Search Sourcegraph |
+| sourcegraph-open-in-browser | :orange_circle: | Open in Sourcegraph browser |
+| chatgpt-shell-prompt | :orange_circle: | ChatGPT shell prompt |
+| dall-e-shell-prompt | :orange_circle: | DALL-E image generation prompt |
+| whisper-transcribe | :orange_circle: | Transcribe audio with Whisper |
+| org-ai-prompt | :orange_circle: | Org-AI prompt |
+
 ### Round 196 — MQTT, Redis, MongoDB, Elasticsearch, Prometheus, Grafana, AWS, Azure, GCP
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 407fc3d..20e25d2 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -18035,3 +18035,52 @@
 (def (cmd-gcp-project-list app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "GCP: listing projects")))
+
+;; Round 197 — Codeium, Tabnine, Sourcegraph, ChatGPT-shell, DALL-E, Whisper, Org-AI
+(def (cmd-codeium-accept-completion app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Codeium: accepted completion")))
+
+(def (cmd-codeium-next-completion app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Codeium: showing next completion")))
+
+(def (cmd-codeium-previous-completion app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Codeium: showing previous completion")))
+
+(def (cmd-tabnine-restart-server app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "TabNine: restarted server")))
+
+(def (cmd-sourcegraph-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Sourcegraph search: "
+      (lambda (q)
+        (echo-message! echo (str "Sourcegraph: searching for '" q "'"))))))
+
+(def (cmd-sourcegraph-open-in-browser app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Sourcegraph: opened in browser")))
+
+(def (cmd-chatgpt-shell-prompt app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "ChatGPT prompt: "
+      (lambda (p)
+        (echo-message! echo (str "ChatGPT: " p))))))
+
+(def (cmd-dall-e-shell-prompt app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "DALL-E prompt: "
+      (lambda (p)
+        (echo-message! echo (str "DALL-E: generating '" p "'"))))))
+
+(def (cmd-whisper-transcribe app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Whisper: transcribing audio...")))
+
+(def (cmd-org-ai-prompt app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Org-AI prompt: "
+      (lambda (p)
+        (echo-message! echo (str "Org-AI: " p))))))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index eda5273..8601ae8 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -18682,3 +18682,50 @@
     (echo-read-string echo "Elasticsearch query: "
       (lambda (q)
         (echo-message! echo (str "Elasticsearch: querying " q))))))
+
+;; Round 197 — Copilot-ext, GPTel-ext, LLM, Aider
+(def (cmd-copilot-accept-completion-by-paragraph app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Copilot: accepted completion by paragraph")))
+
+(def (cmd-copilot-panel-complete app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Copilot: showing panel completions")))
+
+(def (cmd-gptel-send-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "GPTel: sent region to LLM")))
+
+(def (cmd-gptel-rewrite app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Rewrite instruction: "
+      (lambda (instr)
+        (echo-message! echo (str "GPTel: rewriting with '" instr "'"))))))
+
+(def (cmd-llm-chat-streaming app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LLM: streaming chat response...")))
+
+(def (cmd-llm-embedding app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LLM: computing embedding for region")))
+
+(def (cmd-llm-summarize-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LLM: summarizing region...")))
+
+(def (cmd-aider-add-file app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Aider: added current file to context")))
+
+(def (cmd-aider-ask app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Ask Aider: "
+      (lambda (q)
+        (echo-message! echo (str "Aider: asking '" q "'"))))))
+
+(def (cmd-aider-architect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Architect prompt: "
+      (lambda (p)
+        (echo-message! echo (str "Aider: architect mode '" p "'"))))))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 0e17cb6..c16e9f1 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -5570,4 +5570,25 @@
   (register-command! 'aws-lambda-list-functions cmd-aws-lambda-list-functions)
   (register-command! 'azure-resource-list cmd-azure-resource-list)
   (register-command! 'gcp-project-list cmd-gcp-project-list)
+  ;; Round 197
+  (register-command! 'copilot-accept-completion-by-paragraph cmd-copilot-accept-completion-by-paragraph)
+  (register-command! 'copilot-panel-complete cmd-copilot-panel-complete)
+  (register-command! 'gptel-send-region cmd-gptel-send-region)
+  (register-command! 'gptel-rewrite cmd-gptel-rewrite)
+  (register-command! 'llm-chat-streaming cmd-llm-chat-streaming)
+  (register-command! 'llm-embedding cmd-llm-embedding)
+  (register-command! 'llm-summarize-region cmd-llm-summarize-region)
+  (register-command! 'aider-add-file cmd-aider-add-file)
+  (register-command! 'aider-ask cmd-aider-ask)
+  (register-command! 'aider-architect cmd-aider-architect)
+  (register-command! 'codeium-accept-completion cmd-codeium-accept-completion)
+  (register-command! 'codeium-next-completion cmd-codeium-next-completion)
+  (register-command! 'codeium-previous-completion cmd-codeium-previous-completion)
+  (register-command! 'tabnine-restart-server cmd-tabnine-restart-server)
+  (register-command! 'sourcegraph-search cmd-sourcegraph-search)
+  (register-command! 'sourcegraph-open-in-browser cmd-sourcegraph-open-in-browser)
+  (register-command! 'chatgpt-shell-prompt cmd-chatgpt-shell-prompt)
+  (register-command! 'dall-e-shell-prompt cmd-dall-e-shell-prompt)
+  (register-command! 'whisper-transcribe cmd-whisper-transcribe)
+  (register-command! 'org-ai-prompt cmd-org-ai-prompt)
 )