branch: externals/sketch-mode
commit bb2ee17edffddcb7707c22a34409b86f2c5fb4bf
Author: Daniel Nicolai <[email protected]>
Commit: Daniel Nicolai <[email protected]>
Add show XML command
---
sketch-mode.el | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/sketch-mode.el b/sketch-mode.el
index 7a653a0..d52084e 100644
--- a/sketch-mode.el
+++ b/sketch-mode.el
@@ -539,6 +539,7 @@ If value of variable ‘sketch-show-labels' is ‘layer',
create ..."
("tc" . sketch-toggle-coords)
("l" . sketch-cycle-labels)
("D" . sketch-show-definition)
+ ("X" . sketch-show-xml)
("u" . sketch-undo)
("U" . sketch-redo)
("S" . image-save)
@@ -1181,6 +1182,30 @@ returned by the function `sketch-parse-transform-string'"
(sketch-format-transform transform))
(sketch-redraw object-def buffer)))
+(defun sketch-show-xml ()
+ ;; :transient 'transient--do-exit
+ (interactive)
+ (when (get-buffer "*sketch-toolbar*")
+ (kill-buffer "*sketch-toolbar*"))
+ (if-let (win (get-buffer-window "*sketch-xml*"))
+ (delete-window win)
+ (let ((buffer (get-buffer-create "*sketch-xml*"))
+ (xml (image-property (get-text-property (point) 'display)
+ :data)))
+ (set-window-dedicated-p
+ (get-buffer-window (pop-to-buffer
+ buffer
+ `(display-buffer-in-side-window
+ . ((side . right)
+ (window-width . ,(funcall
sketch-side-window-max-width))))))
+ t)
+ (window-resize (get-buffer-window buffer) -3 t)
+ (erase-buffer)
+ (with-current-buffer buffer
+ (insert xml)))
+ (sgml-mode)
+ (sgml-pretty-print (point-min) (point-max))))
+
(define-minor-mode sketch-lisp-mode
"Minor mode for svg lisp buffers."
:lighter "sketch"