[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