branch: externals/sketch-mode commit 92efd0b47b7ade696921279f44ef31d308e9aa72 Author: Daniel Nicolai <dalanico...@gmail.com> Commit: Daniel Nicolai <dalanico...@gmail.com>
Add quick insert image feature --- sketch-mode.el | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sketch-mode.el b/sketch-mode.el index 9ba6867..0d879be 100644 --- a/sketch-mode.el +++ b/sketch-mode.el @@ -305,8 +305,8 @@ Optionally set a custom GRID-PARAMETER (default is value of With prefix ARG, create sketch using default (customizable) values" (interactive "P") - ;; (setq max-mini-window-height 2) - (let ((buffer (get-buffer "*sketch*"))) + (let ((call-buffer (current-buffer)) + (buffer (get-buffer "*sketch*"))) (if buffer (progn (switch-to-buffer buffer) (call-interactively 'sketch-transient)) @@ -315,6 +315,7 @@ values" (switch-to-buffer (get-buffer-create "*sketch*")) (setq grid-param (if arg 25 (read-number "Enter grid parameter (enter 0 for no grid): "))) (sketch--create-canvas width height grid-param)) + (setq-local call-buffer call-buffer) (sketch-mode) (call-interactively 'sketch-transient)))) @@ -482,6 +483,8 @@ else return nil" ("S" "Save image" sketch-save)] [("b" "Insert image to buffer" sketch-insert-image-to-buffer :transient transient--do-exit) + ("I" "Insert image to buffer" sketch-quick-insert-image + :transient transient--do-exit) ("q" "Quit transient" transient-quit-one)]]) (transient-define-infix sketch-object () @@ -1073,6 +1076,16 @@ then insert a relative link, otherwise insert an absolute link." (concat "./" (file-name-nondirectory file)) file))))) +(transient-define-suffix sketch-quick-insert-image (&optional insert-at-end-of-file) + (interactive "P") + (let ((insert-buffer call-buffer)) + (kill-buffer "*sketch*") + (switch-to-buffer insert-buffer) + (when insert-at-end-of-file + (goto-char (point-max)) + (unless (= (current-column) 0) + (newline))) + (insert-image (svg-image sketch-svg)))) ;;; Modify object