diff options
| author | Andreas Politz <politza@hochschule-trier.de> | 2019-10-22 22:14:33 +0200 |
|---|---|---|
| committer | Andreas Politz <politza@hochschule-trier.de> | 2019-10-22 22:14:33 +0200 |
| commit | f29f967fa41b6c0c82051e61b80bba6ff52b3de1 (patch) | |
| tree | 332992db43e351a9f84867360c16ebdd9106c8a5 | |
| parent | 3407af25899c9bc0cb7b710e86ba316ab622f2c7 (diff) | |
Adds a pdf-aware shell-on-region commandfeature/shell-command-on-region
| -rw-r--r-- | lisp/pdf-view.el | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lisp/pdf-view.el b/lisp/pdf-view.el index d7adb48..5e57ebe 100644 --- a/lisp/pdf-view.el +++ b/lisp/pdf-view.el @@ -309,6 +309,8 @@ regarding display of the region in the later function.") (define-key map [remap kill-region] 'pdf-view-kill-ring-save) (define-key map [remap kill-ring-save] 'pdf-view-kill-ring-save) (define-key map [remap mark-whole-buffer] 'pdf-view-mark-whole-page) + (define-key map [remap shell-command-on-region] + 'pdf-view-shell-command-on-region-command) ;; Other (define-key map (kbd "C-c C-d") 'pdf-view-dark-minor-mode) (define-key map (kbd "m") 'pdf-view-position-to-register) @@ -1503,6 +1505,28 @@ the `convert' programm is used." (dolist (f (cons result images)) (when (file-exists-p f) (delete-file f)))))) + +(defun pdf-view-shell-command-on-region-command (command + &optional error-buffer + display-error-buffer) + "Execute string COMMAND in inferior shell with current region as input. + +This is a pdf-aware version of `shell-command-on-region', which see." + (interactive + (progn + (unless (pdf-view-active-region-p) + (user-error "The region is not active")) + (list (read-shell-command "Shell command on region: ") + current-prefix-arg + shell-command-default-error-buffer))) + (pdf-view-assert-active-region) + (let ((text (mapconcat #'identity (pdf-view-active-region-text) "\n"))) + (with-temp-buffer + (insert text) + (shell-command-on-region + (point-min) (point-max) + command nil nil error-buffer display-error-buffer)))) + ;; * ================================================================== * ;; * Bookmark + Register Integration |
