Round 214: PDF-tools ext (20 commands)

ober

9a0c836ec0f56ea28c6bd2bdd47600287cf0fa1c

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 96232de..6c21f42 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 214 — PDF-tools ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| pdf-view-scroll-up-or-next-page | :orange_circle: | Scroll up or go to next page |
+| pdf-view-scroll-down-or-previous-page | :orange_circle: | Scroll down or go to previous page |
+| pdf-view-enlarge | :orange_circle: | Enlarge PDF view |
+| pdf-view-shrink | :orange_circle: | Shrink PDF view |
+| pdf-view-rotate | :orange_circle: | Rotate PDF page |
+| pdf-annot-add-strikeout-markup-annotation | :orange_circle: | Add strikeout annotation |
+| pdf-view-extract-region-to-string | :orange_circle: | Extract region to string |
+| pdf-view-set-slice-from-bounding-box | :orange_circle: | Set slice from bounding box |
+| pdf-view-reset-slice | :orange_circle: | Reset page slice |
+| pdf-occur-revert | :orange_circle: | Revert occur results |
+| pdf-isearch-minor-mode | :orange_circle: | Toggle PDF isearch mode |
+| pdf-sync-forward-search | :orange_circle: | Forward sync to source |
+| pdf-sync-backward-search | :orange_circle: | Backward sync to PDF |
+| pdf-outline-follow-link | :orange_circle: | Follow outline link |
+| pdf-links-action-perform | :orange_circle: | Perform link action |
+| pdf-links-isearch-link | :orange_circle: | Isearch for link |
+| pdf-history-backward | :orange_circle: | Navigate backward in history |
+| pdf-history-forward | :orange_circle: | Navigate forward in history |
+| pdf-annot-attachment-dired | :orange_circle: | Open attachment in dired |
+| pdf-view-continuous-scroll-mode | :orange_circle: | Toggle continuous scroll mode |
+
 ### Round 213 — Forge (Magit GitHub/GitLab)
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 10fa931..378a8cc 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -18856,3 +18856,51 @@
 (def (cmd-forge-visit-pullreq app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Forge: visiting pull request")))
+
+;;; Round 214 — PDF-tools extensions (batch 2)
+
+(def (cmd-pdf-isearch-minor-mode app)
+  (let* ((echo (app-state-echo app)))
+    (toggle-mode! app 'pdf-isearch)
+    (if (mode-enabled? app 'pdf-isearch)
+      (echo-message! echo "PDF: isearch mode enabled")
+      (echo-message! echo "PDF: isearch mode disabled"))))
+
+(def (cmd-pdf-sync-forward-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: forward sync search to source")))
+
+(def (cmd-pdf-sync-backward-search app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: backward sync search to PDF")))
+
+(def (cmd-pdf-outline-follow-link app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: followed outline link")))
+
+(def (cmd-pdf-links-action-perform app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: performed link action")))
+
+(def (cmd-pdf-links-isearch-link app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: isearch for link")))
+
+(def (cmd-pdf-history-backward app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: navigated backward in history")))
+
+(def (cmd-pdf-history-forward app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: navigated forward in history")))
+
+(def (cmd-pdf-annot-attachment-dired app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: opened attachment in dired")))
+
+(def (cmd-pdf-view-continuous-scroll-mode app)
+  (let* ((echo (app-state-echo app)))
+    (toggle-mode! app 'pdf-continuous-scroll)
+    (if (mode-enabled? app 'pdf-continuous-scroll)
+      (echo-message! echo "PDF: continuous scroll mode enabled")
+      (echo-message! echo "PDF: continuous scroll mode disabled"))))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 623a29d..8cdca76 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -19477,3 +19477,45 @@
 (def (cmd-forge-create-post app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Forge: creating new post")))
+
+;;; Round 214 — PDF-tools extensions (batch 1)
+
+(def (cmd-pdf-view-scroll-up-or-next-page app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: scrolled up or next page")))
+
+(def (cmd-pdf-view-scroll-down-or-previous-page app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: scrolled down or previous page")))
+
+(def (cmd-pdf-view-enlarge app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: enlarged view")))
+
+(def (cmd-pdf-view-shrink app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: shrunk view")))
+
+(def (cmd-pdf-view-rotate app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: rotated page")))
+
+(def (cmd-pdf-annot-add-strikeout-markup-annotation app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: added strikeout annotation")))
+
+(def (cmd-pdf-view-extract-region-to-string app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: extracted region to string")))
+
+(def (cmd-pdf-view-set-slice-from-bounding-box app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: set slice from bounding box")))
+
+(def (cmd-pdf-view-reset-slice app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: reset slice")))
+
+(def (cmd-pdf-occur-revert app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "PDF: reverted occur results")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 1767af5..81bf7ec 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -5927,4 +5927,25 @@
   (register-command! 'forge-browse-remote cmd-forge-browse-remote)
   (register-command! 'forge-copy-url-at-point cmd-forge-copy-url-at-point)
   (register-command! 'forge-visit-pullreq cmd-forge-visit-pullreq)
+  ;; Round 214
+  (register-command! 'pdf-view-scroll-up-or-next-page cmd-pdf-view-scroll-up-or-next-page)
+  (register-command! 'pdf-view-scroll-down-or-previous-page cmd-pdf-view-scroll-down-or-previous-page)
+  (register-command! 'pdf-view-enlarge cmd-pdf-view-enlarge)
+  (register-command! 'pdf-view-shrink cmd-pdf-view-shrink)
+  (register-command! 'pdf-view-rotate cmd-pdf-view-rotate)
+  (register-command! 'pdf-annot-add-strikeout-markup-annotation cmd-pdf-annot-add-strikeout-markup-annotation)
+  (register-command! 'pdf-view-extract-region-to-string cmd-pdf-view-extract-region-to-string)
+  (register-command! 'pdf-view-set-slice-from-bounding-box cmd-pdf-view-set-slice-from-bounding-box)
+  (register-command! 'pdf-view-reset-slice cmd-pdf-view-reset-slice)
+  (register-command! 'pdf-occur-revert cmd-pdf-occur-revert)
+  (register-command! 'pdf-isearch-minor-mode cmd-pdf-isearch-minor-mode)
+  (register-command! 'pdf-sync-forward-search cmd-pdf-sync-forward-search)
+  (register-command! 'pdf-sync-backward-search cmd-pdf-sync-backward-search)
+  (register-command! 'pdf-outline-follow-link cmd-pdf-outline-follow-link)
+  (register-command! 'pdf-links-action-perform cmd-pdf-links-action-perform)
+  (register-command! 'pdf-links-isearch-link cmd-pdf-links-isearch-link)
+  (register-command! 'pdf-history-backward cmd-pdf-history-backward)
+  (register-command! 'pdf-history-forward cmd-pdf-history-forward)
+  (register-command! 'pdf-annot-attachment-dired cmd-pdf-annot-attachment-dired)
+  (register-command! 'pdf-view-continuous-scroll-mode cmd-pdf-view-continuous-scroll-mode)
 )