Mercurial > urweb
diff src/elisp/urweb-mode.el @ 365:dda8f3c6ae7c
Special case indenting for <xml>...</xml>
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 16 Oct 2008 13:01:24 -0400 |
parents | 7c58dc323683 |
children | 3004f8843e36 |
line wrap: on
line diff
--- a/src/elisp/urweb-mode.el Thu Oct 16 12:55:16 2008 -0400 +++ b/src/elisp/urweb-mode.el Thu Oct 16 13:01:24 2008 -0400 @@ -452,6 +452,13 @@ (1+ (current-column)) nil)))) +(defun urweb-begun-xml () + "Check if this is the first new line in a new <xml>...</xml> section" + (save-excursion + (let ((start-pos (point))) + (previous-line 1) + (search-forward "<xml>" start-pos t)))) + (defun urweb-new-tags () "Decide if the previous line of XML introduced unclosed tags" (save-excursion @@ -487,7 +494,9 @@ (setq done t) (decf depth))) (setq done t)))) - (current-indentation)))) + (if (looking-at "<xml") + (+ (current-indentation) 2) + (current-indentation))))) (defun urweb-calculate-indentation () (save-excursion @@ -517,6 +526,8 @@ (cond ((looking-at "</") (urweb-tag-matching-indent)) + ((urweb-begun-xml) + (+ prev-indent 4)) ((urweb-new-tags) (+ prev-indent 2)) (t