help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

shell-command-on-region but with command line arguments


From: Luca Ferrari
Subject: shell-command-on-region but with command line arguments
Date: Mon, 7 Nov 2022 16:51:43 +0100

Hi all,
I'm trying to configure my Perl environment to be able to run the
buffer I'm editing, so I created a function to run
shell-command-on-region and bound to C-c r:

(defun fluca1978/run-perl-on-region ()
"A function to invoke Perl on the current region or buffer.
If a region is active, the perl interpreter will be executed on such a region;
otherwise if no region is active, the interpreter will be executed against the
whole buffer."
    (interactive)
    (let ((b (if mark-active (min (point) (mark)) (point-min)))
      (e (if mark-active (max (point) (mark)) (point-max)))
      (perl "perl" ))
      (shell-command-on-region b e perl)))

  ;; bind the function to run when
  ;; C-c r
  ;; in cperl-mode is hit
  (eval-after-load "cperl-mode"
    '(progn
       (define-key cperl-mode-map   (kbd "C-c r")
'fluca1978/run-perl-on-region)))


So far, so good, it works for me.
I was wondering if there's a way to prompt me for optional command
line arguments, so that the command should run against the
buffer/region followed by a list of arguments.
Any idea?

Thanks,
Luca



reply via email to

[Prev in Thread] Current Thread [Next in Thread]