commit - dcb9557ef8108694a0176593e52540b346a7d10f
commit + 45c2bb2adcedfc10b42f888605518be6ba4beda2
blob - be9da97b579a3709cad09a3b6f8aa3fe8cc4d44d
blob + 75a43cc52f48704cfb8cb19bffa459f73fdfc4a9
--- init.el
+++ init.el
("C-c i i s" . lh/insert-random-sha1)
("C-c i i u" . uuidgen)
("C-c i r f" . lh/insert-number-from-register-format)
+
+ ("C-c e x" . lh/xml-escape-region)
("<mouse-8>" . xref-go-back)
("<mouse-9>" . xref-go-forward)))
blob - /dev/null
blob + b6c717a73b33c743dee627dccea9d28883065f96 (mode 644)
--- /dev/null
+++ lisp/lh-xml.el
+;; -*- lexical-binding: t; -*-
+(require 'xml)
+
+(defun lh/xml-escape-region (beg end ARG)
+ (interactive "r\nP")
+ (when (not (region-active-p))
+ (setq beg (point-min))
+ (setq end (point-max)))
+ (let* ((text (buffer-substring-no-properties beg end))
+ (escaped (if ARG
+ (with-temp-buffer
+ (save-excursion
+ (insert text))
+ (xml-parse-string))
+ (xml-escape-string text))))
+ (delete-region beg end)
+ (insert escaped)))
+
+(provide 'lh-xml)