summaryrefslogtreecommitdiff
path: root/init.el
diff options
context:
space:
mode:
authorGianni Ceccarelli <gianni.ceccarelli@broadbean.com>2019-06-26 16:48:25 +0100
committerGianni Ceccarelli <gianni.ceccarelli@broadbean.com>2019-06-26 17:19:40 +0100
commitbbcca832d8297f88545bdde7ca34d1b67840bdc7 (patch)
treea59d00021058ca27bd20e00d60c0b6969cc2bbb6 /init.el
parenttramp autocomplete for go2 and vagrant (cached) (diff)
downloademacs-bbcca832d8297f88545bdde7ca34d1b67840bdc7.tar.gz
emacs-bbcca832d8297f88545bdde7ca34d1b67840bdc7.tar.bz2
emacs-bbcca832d8297f88545bdde7ca34d1b67840bdc7.zip
smarter perl indent in POD sections
Diffstat (limited to 'init.el')
-rwxr-xr-xinit.el25
1 files changed, 25 insertions, 0 deletions
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)
+