The following snippet steals the regular C-x C-s to automatically perltidy as well. I added a different definition for perltidy-whole-buffer so that the input point is restored to be somewhere near where it was originally. I also added a check to see if the buffer has been modifed before calling out to perltidy. (add-to-list 'cperl-mode-hook (lambda () (substitute-key-definition 's
+ave-buffer 'cperl-save-buffer cperl-mode-map global-map)))
(defun cperl-save-buffer (&optional args)
(interactive "p")
(if (buffer-modified-p)
(perltidy-buffer))
(save-buffer t))
(defun perltidy-buffer ()
(interactive)
(let ((orig-point (point)))
(shell-command-on-region
(point-min) (point-max)
"perltidy -st" nil t shell-command-default-error-buffer)
(goto-char (if (<= orig-point (point-max))
orig-point
(point-max)))))
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|