Skip to content

Instantly share code, notes, and snippets.

@dakkar
Created June 26, 2019 18:25
Show Gist options
  • Save dakkar/a9fe47b89723f64f860ae5367f056966 to your computer and use it in GitHub Desktop.
Save dakkar/a9fe47b89723f64f860ae5367f056966 to your computer and use it in GitHub Desktop.
EMACS - indent Perl code inside POD
(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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment