Improving preview functionality. No buffer switch.
- Using temp buffer instead of new buffer. - Windows layout is retained. No need to switch buffer after every preview
This commit is contained in:
parent
2b84a2df52
commit
a8e0b5cd56
|
@ -262,33 +262,28 @@ to choose where to display it:
|
|||
- 4 (when prefixing the command with C-u) -> new window
|
||||
- 16 (when prefixing the command with C-u C-u) -> new frame.
|
||||
- else -> new buffer"
|
||||
(let ((b (get-buffer plantuml-preview-buffer)))
|
||||
(when b
|
||||
(kill-buffer b)))
|
||||
|
||||
(let* ((imagep (and (display-images-p)
|
||||
(plantuml-is-image-output-p)))
|
||||
(process-connection-type nil)
|
||||
(buf (get-buffer-create plantuml-preview-buffer))
|
||||
(coding-system-for-read (and imagep 'binary))
|
||||
(coding-system-for-write (and imagep 'binary)))
|
||||
|
||||
(let ((ps (plantuml-start-process buf)))
|
||||
(process-send-string ps string)
|
||||
(process-send-eof ps)
|
||||
(set-process-sentinel ps
|
||||
(lambda (_ps event)
|
||||
(unless (equal event "finished\n")
|
||||
(error "PLANTUML Preview failed: %s" event))
|
||||
(cond
|
||||
((= prefix 16)
|
||||
(switch-to-buffer-other-frame plantuml-preview-buffer))
|
||||
((= prefix 4)
|
||||
(switch-to-buffer-other-window plantuml-preview-buffer))
|
||||
(t (switch-to-buffer plantuml-preview-buffer)))
|
||||
(when imagep
|
||||
(image-mode)
|
||||
(set-buffer-multibyte t)))))))
|
||||
(with-output-to-temp-buffer plantuml-preview-buffer
|
||||
(let* ((buf (get-buffer-create plantuml-preview-buffer)) (ps (plantuml-start-process buf)))
|
||||
(process-send-string ps string)
|
||||
(process-send-eof ps)
|
||||
(set-process-sentinel ps
|
||||
(lambda (_ps event)
|
||||
(unless (equal event "finished\n")
|
||||
(error "PLANTUML Preview failed: %s" event))
|
||||
(cond
|
||||
((= prefix 16)
|
||||
(switch-to-buffer-other-frame plantuml-preview-buffer))
|
||||
((= prefix 4)
|
||||
(switch-to-buffer-other-window plantuml-preview-buffer)))
|
||||
(when imagep
|
||||
(image-mode)
|
||||
(set-buffer-multibyte t))))))))
|
||||
|
||||
(defun plantuml-preview-buffer (prefix)
|
||||
"Preview diagram from the PlantUML sources in the current buffer.
|
||||
|
|
Loading…
Reference in New Issue