Round 195: Docker-ext, Kubernetes-ext, Vagrant-ext, Puppet-ext, Chef-ext, Saltstack-ext commands

ober

29f1004e3fabbd7480f963b5d8bd9c9e6540eb29

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index a70af48..4b4be03 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 195 — Docker-ext, Docker-compose-ext, Kubernetes-ext, Vagrant-ext, Puppet-ext, Chef-ext, Saltstack-ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| docker-container-logs | :orange_circle: | Show container logs |
+| docker-container-inspect | :orange_circle: | Inspect container |
+| docker-container-diff | :orange_circle: | Show container filesystem diff |
+| docker-image-inspect | :orange_circle: | Inspect Docker image |
+| docker-image-tag | :orange_circle: | Tag Docker image |
+| docker-network-inspect | :orange_circle: | Inspect Docker network |
+| docker-volume-inspect | :orange_circle: | Inspect Docker volume |
+| docker-compose-logs | :orange_circle: | Show Compose logs |
+| docker-compose-build | :orange_circle: | Build Compose services |
+| docker-compose-pull | :orange_circle: | Pull Compose images |
+| kubernetes-logs-follow | :orange_circle: | Follow pod logs |
+| kubernetes-apply-buffer | :orange_circle: | Apply buffer manifest |
+| kubernetes-delete-resource | :orange_circle: | Delete Kubernetes resource |
+| vagrant-halt | :orange_circle: | Halt Vagrant VM |
+| vagrant-destroy | :orange_circle: | Destroy Vagrant VM |
+| vagrant-ssh | :orange_circle: | SSH into Vagrant VM |
+| puppet-validate | :orange_circle: | Validate Puppet manifest |
+| puppet-lint | :orange_circle: | Lint Puppet manifest |
+| chef-resource-lookup | :orange_circle: | Look up Chef resource |
+| saltstack-apply | :orange_circle: | Apply Saltstack state |
+
 ### Round 194 — Python-ext, Ruby-ext, Perl-ext, Lua-ext, PHP-ext, Haskell-ext, Kotlin-ext, Swift-ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 70ce816..3fccdd9 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -17943,3 +17943,50 @@
 (def (cmd-swift-mode-beginning-of-defun app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Swift: moved to beginning of function")))
+
+;; Round 195 — Kubernetes-ext, Vagrant-ext, Puppet-ext, Chef-ext, Saltstack-ext
+(def (cmd-kubernetes-logs-follow app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Follow logs for pod: "
+      (lambda (pod)
+        (echo-message! echo (str "Kubernetes: following logs for " pod))))))
+
+(def (cmd-kubernetes-apply-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Kubernetes: applied buffer manifest")))
+
+(def (cmd-kubernetes-delete-resource app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Delete resource: "
+      (lambda (res)
+        (echo-message! echo (str "Kubernetes: deleted resource " res))))))
+
+(def (cmd-vagrant-halt app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vagrant: halting VM...")))
+
+(def (cmd-vagrant-destroy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vagrant: destroying VM...")))
+
+(def (cmd-vagrant-ssh app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vagrant: connecting via SSH...")))
+
+(def (cmd-puppet-validate app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Puppet: validating manifest...")))
+
+(def (cmd-puppet-lint app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Puppet: linting manifest...")))
+
+(def (cmd-chef-resource-lookup app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Chef resource: "
+      (lambda (res)
+        (echo-message! echo (str "Chef: looking up resource " res))))))
+
+(def (cmd-saltstack-apply app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Saltstack: applying state...")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 6f3d817..44d0e9a 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -18566,3 +18566,60 @@
 (def (cmd-php-send-region app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "PHP: sent region to process")))
+
+;; Round 195 — Docker-ext, Docker-compose-ext
+(def (cmd-docker-container-logs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Container name: "
+      (lambda (name)
+        (echo-message! echo (str "Docker: showing logs for " name))))))
+
+(def (cmd-docker-container-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Inspect container: "
+      (lambda (name)
+        (echo-message! echo (str "Docker: inspecting container " name))))))
+
+(def (cmd-docker-container-diff app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Container diff: "
+      (lambda (name)
+        (echo-message! echo (str "Docker: showing filesystem diff for " name))))))
+
+(def (cmd-docker-image-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Inspect image: "
+      (lambda (img)
+        (echo-message! echo (str "Docker: inspecting image " img))))))
+
+(def (cmd-docker-image-tag app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Image to tag: "
+      (lambda (img)
+        (echo-read-string echo "New tag: "
+          (lambda (tag)
+            (echo-message! echo (str "Docker: tagged " img " as " tag))))))))
+
+(def (cmd-docker-network-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Inspect network: "
+      (lambda (net)
+        (echo-message! echo (str "Docker: inspecting network " net))))))
+
+(def (cmd-docker-volume-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Inspect volume: "
+      (lambda (vol)
+        (echo-message! echo (str "Docker: inspecting volume " vol))))))
+
+(def (cmd-docker-compose-logs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Docker Compose: showing logs")))
+
+(def (cmd-docker-compose-build app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Docker Compose: building services...")))
+
+(def (cmd-docker-compose-pull app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Docker Compose: pulling images...")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index a7f852f..856d703 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -5528,4 +5528,25 @@
   (register-command! 'kotlin-send-region cmd-kotlin-send-region)
   (register-command! 'kotlin-send-line cmd-kotlin-send-line)
   (register-command! 'swift-mode-beginning-of-defun cmd-swift-mode-beginning-of-defun)
+  ;; Round 195
+  (register-command! 'docker-container-logs cmd-docker-container-logs)
+  (register-command! 'docker-container-inspect cmd-docker-container-inspect)
+  (register-command! 'docker-container-diff cmd-docker-container-diff)
+  (register-command! 'docker-image-inspect cmd-docker-image-inspect)
+  (register-command! 'docker-image-tag cmd-docker-image-tag)
+  (register-command! 'docker-network-inspect cmd-docker-network-inspect)
+  (register-command! 'docker-volume-inspect cmd-docker-volume-inspect)
+  (register-command! 'docker-compose-logs cmd-docker-compose-logs)
+  (register-command! 'docker-compose-build cmd-docker-compose-build)
+  (register-command! 'docker-compose-pull cmd-docker-compose-pull)
+  (register-command! 'kubernetes-logs-follow cmd-kubernetes-logs-follow)
+  (register-command! 'kubernetes-apply-buffer cmd-kubernetes-apply-buffer)
+  (register-command! 'kubernetes-delete-resource cmd-kubernetes-delete-resource)
+  (register-command! 'vagrant-halt cmd-vagrant-halt)
+  (register-command! 'vagrant-destroy cmd-vagrant-destroy)
+  (register-command! 'vagrant-ssh cmd-vagrant-ssh)
+  (register-command! 'puppet-validate cmd-puppet-validate)
+  (register-command! 'puppet-lint cmd-puppet-lint)
+  (register-command! 'chef-resource-lookup cmd-chef-resource-lookup)
+  (register-command! 'saltstack-apply cmd-saltstack-apply)
 )