Damian Brunold

Pretty-Print XML in Emacs

2010-05-31 11:57 Emacs, Linux, Lisp

Dazu gibt es das Kommando sgml-pretty-print, welches die ausgewählte Region formatiert. Dazu muss der xml-mode aktiv sein (was ja auch Sinn macht).

Im Netz habe ich noch eine eigengebaute Funktion gefunden, die - leicht modifiziert so aussieht:

(defun pretty-print-xml-region (begin end)
  (interactive "r")
  (save-excursion
      (goto-char begin)
      (while (search-forward-regexp "\>[ \\t]*\<" nil t) 
        (backward-char) (insert "\n"))
      (indent-region begin end))
    (message "Ah, much better!"))

(defun pretty-print-xml-buffer ()
  (interactive "r")
  (pretty-print-xml-region (point-min) (point-max)))

Eingefügt in .emacs ist sie verfügbar mit Alt-X pretty-print-xml-buffer etc.

Ich muss unbedingt mehr mit Emacs Lisp machen!