>From 092dbb4460cf140c628eb4aeb4c5fff8f0083b3c Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 17 Oct 2015 19:02:39 +0300 Subject: [PATCH] emacs: devel: Add indentation rules for 'modify-phases' keywords. * emacs/guix-devel.el: Add indentation rules for 'modify-phases' keywords. (guix-devel-indent-modify-phases-keyword, guix-devel-indent-modify-phases-keyword-1, guix-devel-indent-modify-phases-keyword-2): New functions. --- emacs/guix-devel.el | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/emacs/guix-devel.el b/emacs/guix-devel.el index f3ad4b9..170ce1a 100644 --- a/emacs/guix-devel.el +++ b/emacs/guix-devel.el @@ -254,6 +254,20 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details." 0))) (lisp-indent-specform count state indent-point normal-indent))) +(defun guix-devel-indent-modify-phases-keyword (count) + "Return indentation function for 'modify-phases' keywords." + (lambda (state indent-point normal-indent) + (when (ignore-errors + (goto-char (nth 1 state)) ; start of keyword sexp + (backward-up-list) + (looking-at "(modify-phases\\>")) + (lisp-indent-specform count state indent-point normal-indent)))) + +(defalias 'guix-devel-indent-modify-phases-keyword-1 + (guix-devel-indent-modify-phases-keyword 1)) +(defalias 'guix-devel-indent-modify-phases-keyword-2 + (guix-devel-indent-modify-phases-keyword 2)) + (guix-devel-scheme-indent (bag 0) (build-system 0) @@ -293,7 +307,12 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details." (with-monad 1) (with-mutex 1) (with-store 1) - (wrap-program 1)) + (wrap-program 1) + + ;; 'modify-phases' keywords: + (replace 'guix-devel-indent-modify-phases-keyword-1) + (add-after 'guix-devel-indent-modify-phases-keyword-2) + (add-before 'guix-devel-indent-modify-phases-keyword-2)) (defvar guix-devel-keys-map -- 2.5.0