Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Perl Best Practices PerlTidy

by water (Deacon)
on Dec 14, 2005 at 02:26 UTC ( #516501=perlquestion: print w/ replies, xml ) Need Help??
water has asked for the wisdom of the Perl Monks concerning the following question:

Anyone know where online one can find the perltidyrc from p.35 of Damian's Perl Best Practices book? It does not seem to be in the ORielly code sample tar.gz file. Thanks!

Comment on Perl Best Practices PerlTidy
Re: Perl Best Practices PerlTidy
by monkfan (Curate) on Dec 14, 2005 at 03:09 UTC
Re: Perl Best Practices PerlTidy
by diotalevi (Canon) on Dec 14, 2005 at 06:58 UTC

    The following code will also cause emacs to auto-perltidy anything you use cperl-mode with.

    (add-to-list 'cperl-mode-hook (lambda () (substitute-key-definition 'save-buffer 'cperl-save-buffer cperl-mode-map global-map))) (defvar cperl-auto-tidy t) (defun cperl-save-buffer (&optional args) "Perltidy and save current buffer in visited file if modified." (interactive) (if (and (buffer-modified-p) cperl-auto-tidy) (perltidy-buffer)) (save-buffer)) (defun perl-buffer () (interactive (shell-command-on-region (point-mi +n) (point-max) "perl" nil nil nil))) (defun cperl-auto-tidy (&optional arg) "Automatically perltidy (or not)" (setq cperl-auto-tidy (if arg t nil))) (defun cperl-toggle-auto-tidy () (interactive) (setq cperl-auto-tidy (not cperl-auto-tidy))) (defun perltidy-buffer () "Runs an entire buffer through perltidy." (interactive) (let ((orig-point (point))) (shell-command-on-region (point-min) (point-max) "perltidy -st -se -q -syn" nil t shell-command-default-error-buff +er) (goto-char (if (<= orig-point (point-max)) orig-point (point-max)))))
      ++. If perltidy could replace cperl's indentation that would be great. I would assume it could work on small sections of code whenever a block/construct was closed (e.g. insertion of a close brace/paren or semicolon). At my elisp skill level I'm afraid I'd have to resort to something blunt like processing the whole buffer on each character insertion. Now where did I leave my supercomputer? :-)
        I don't generally like things that re-indent when I'm not doing something like saving the buffer (obviously) or hitting tab to request a reindent.

      ... and the following will cause vim to autoformat the current buffer with perltidy when you hit F4.
      To be put in your .vimrc

      map <F4> !perltidy -q<CR>

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://516501]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2014-10-25 13:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (143 votes), past polls