From bbcca832d8297f88545bdde7ca34d1b67840bdc7 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Wed, 26 Jun 2019 16:48:25 +0100 Subject: smarter perl indent in POD sections --- init.el | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/init.el b/init.el index a41b2b9..76e5fea 100755 --- a/init.el +++ b/init.el @@ -424,3 +424,28 @@ (pcache-put repo key value 300) value)))) (advice-add 'vagrant-tramp--all-boxes :around #'dakkar-cache-vagrant) + +(defun dakkar/perl-indent (beg end) + (interactive "r") + (if (use-region-p) + (cond ((get-text-property beg 'in-pod) + (let* ( + (text (buffer-substring beg end)) + (indented-text (with-temp-buffer + (insert text) + (cperl-mode) + (cperl-indent-region 0 (buffer-size)) + (indent-rigidly 0 (buffer-size) cperl-indent-level) + (buffer-string)))) + (delete-region beg end) + (insert indented-text))) + (t (cperl-indent-region beg end))))) + +(defun dakkar/setup-cperl-mode () + (setq indent-region-function 'dakkar/perl-indent) + (substitute-key-definition + 'indent-region 'dakkar/perl-indent + cperl-mode-map global-map)) + +(add-hook 'cperl-mode-hook 'dakkar/setup-cperl-mode) + -- cgit v1.2.3