diff options
-rwxr-xr-x | init.el | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -389,3 +389,27 @@ ; https://www.emacswiki.org/emacs/ELPA (add-hook 'after-init-hook 'unicode-fonts-setup) (add-hook 'after-init-hook 'gnu-elpa-keyring-update) + +(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) |