emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/sketch-mode bb2ee17 11/12: Add show XML command


From: ELPA Syncer
Subject: [elpa] externals/sketch-mode bb2ee17 11/12: Add show XML command
Date: Tue, 26 Oct 2021 14:57:43 -0400 (EDT)

branch: externals/sketch-mode
commit bb2ee17edffddcb7707c22a34409b86f2c5fb4bf
Author: Daniel Nicolai <dalanicolai@gmail.com>
Commit: Daniel Nicolai <dalanicolai@gmail.com>

    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"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]