Round 271: Lean ext, Agda ext, Idris ext, Isabelle ext, HOL ext (20 commands)

ober

0f519c819c998c5f4dc1a64ac795ee634275122b

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 5c3d6f1..f919736 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 271 — Lean ext, Agda ext, Idris ext, Isabelle ext, HOL ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| lean-check | :orange_circle: | Check Lean file |
+| lean-goal | :orange_circle: | Show Lean goal at point |
+| lean-hole | :orange_circle: | Fill Lean hole at point |
+| lean-restart | :orange_circle: | Restart Lean server |
+| agda-compile | :orange_circle: | Compile Agda file |
+| agda-next-goal | :orange_circle: | Move to next Agda goal |
+| agda-solve-constraints | :orange_circle: | Solve Agda constraints |
+| agda-show-goals | :orange_circle: | Show all Agda goals |
+| idris-load | :orange_circle: | Load Idris file |
+| idris-type-check | :orange_circle: | Type-check Idris at point |
+| idris-generate-def | :orange_circle: | Generate Idris definition |
+| idris-doc-at-point | :orange_circle: | Show Idris doc at point |
+| isabelle-process | :orange_circle: | Process Isabelle theory |
+| isabelle-go-back | :orange_circle: | Go back one Isabelle step |
+| isabelle-cancel | :orange_circle: | Cancel Isabelle processing |
+| isabelle-sorry | :orange_circle: | Insert Isabelle sorry |
+| hol-eval | :orange_circle: | Evaluate HOL expression |
+| hol-load | :orange_circle: | Load HOL theory |
+| hol-type-of | :orange_circle: | Show HOL type at point |
+| hol-print-thm | :orange_circle: | Print HOL theorem |
+
 ### Round 270 — Octave ext, Maxima ext, SageMath ext, GAP ext, Coq ext
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 5bdb216..5f6c44c 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -21483,4 +21483,46 @@
 
 (def (cmd-coq-assert-next app)
   (let* ((echo (app-state-echo app)))
-    (echo-message! echo "Coq: asserting next sentence")))
\ No newline at end of file
+    (echo-message! echo "Coq: asserting next sentence")))
+
+;;; Round 271 — Idris ext, Isabelle ext, HOL ext (batch 2)
+
+(def (cmd-idris-generate-def app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Idris: generating definition")))
+
+(def (cmd-idris-doc-at-point app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Idris: showing doc at point")))
+
+(def (cmd-isabelle-process app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Isabelle: processing theory")))
+
+(def (cmd-isabelle-go-back app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Isabelle: going back one step")))
+
+(def (cmd-isabelle-cancel app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Isabelle: cancelling processing")))
+
+(def (cmd-isabelle-sorry app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Isabelle: inserting sorry")))
+
+(def (cmd-hol-eval app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "HOL: evaluating expression")))
+
+(def (cmd-hol-load app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "HOL: loading theory")))
+
+(def (cmd-hol-type-of app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "HOL: showing type at point")))
+
+(def (cmd-hol-print-thm app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "HOL: printing theorem")))
\ No newline at end of file
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 01ceff6..bd6bf11 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -22104,3 +22104,45 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "SageMath: evaluating region")))
 
+;;; Round 271 — Lean ext, Agda ext, Idris ext, Isabelle ext, HOL ext (batch 1)
+
+(def (cmd-lean-check app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lean: checking file")))
+
+(def (cmd-lean-goal app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lean: showing goal at point")))
+
+(def (cmd-lean-hole app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lean: filling hole at point")))
+
+(def (cmd-lean-restart app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lean: restarting server")))
+
+(def (cmd-agda-compile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Agda: compiling file")))
+
+(def (cmd-agda-next-goal app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Agda: moving to next goal")))
+
+(def (cmd-agda-solve-constraints app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Agda: solving constraints")))
+
+(def (cmd-agda-show-goals app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Agda: showing all goals")))
+
+(def (cmd-idris-load app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Idris: loading file")))
+
+(def (cmd-idris-type-check app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Idris: type-checking at point")))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 1dbf697..39b0b45 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -7108,4 +7108,25 @@
   (register-command! 'coq-prev-step cmd-coq-prev-step)
   (register-command! 'coq-goto-end cmd-coq-goto-end)
   (register-command! 'coq-assert-next cmd-coq-assert-next)
+  ;; Round 271
+  (register-command! 'lean-check cmd-lean-check)
+  (register-command! 'lean-goal cmd-lean-goal)
+  (register-command! 'lean-hole cmd-lean-hole)
+  (register-command! 'lean-restart cmd-lean-restart)
+  (register-command! 'agda-compile cmd-agda-compile)
+  (register-command! 'agda-next-goal cmd-agda-next-goal)
+  (register-command! 'agda-solve-constraints cmd-agda-solve-constraints)
+  (register-command! 'agda-show-goals cmd-agda-show-goals)
+  (register-command! 'idris-load cmd-idris-load)
+  (register-command! 'idris-type-check cmd-idris-type-check)
+  (register-command! 'idris-generate-def cmd-idris-generate-def)
+  (register-command! 'idris-doc-at-point cmd-idris-doc-at-point)
+  (register-command! 'isabelle-process cmd-isabelle-process)
+  (register-command! 'isabelle-go-back cmd-isabelle-go-back)
+  (register-command! 'isabelle-cancel cmd-isabelle-cancel)
+  (register-command! 'isabelle-sorry cmd-isabelle-sorry)
+  (register-command! 'hol-eval cmd-hol-eval)
+  (register-command! 'hol-load cmd-hol-load)
+  (register-command! 'hol-type-of cmd-hol-type-of)
+  (register-command! 'hol-print-thm cmd-hol-print-thm)
 )