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.
This commit is contained in:
Alex Kost 2015-10-17 19:02:39 +03:00
parent 380566157d
commit 4ab70c5ca0

@ -254,6 +254,20 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details."
0))) 0)))
(lisp-indent-specform count state indent-point normal-indent))) (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 (guix-devel-scheme-indent
(bag 0) (bag 0)
(build-system 0) (build-system 0)
@ -293,7 +307,12 @@ Each rule should have a form (SYMBOL VALUE). See `put' for details."
(with-monad 1) (with-monad 1)
(with-mutex 1) (with-mutex 1)
(with-store 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 (defvar guix-devel-keys-map