diff options
-rwxr-xr-x | init.el | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -430,3 +430,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) + |