Emacsで blockdiagをプレビューする
http://meme.efcl.info/2011/09/quickrunvimblockdiag.html
上記の Emacs版を書いてみた。
コード
(defun blockdiag-buffer () (interactive) (let ((blockdiag-output "/tmp/blockdiag-buffer.png") (current-file (buffer-file-name (current-buffer)))) (call-process "blockdiag" nil nil t "-o" blockdiag-output current-file) (switch-to-buffer-other-window (get-buffer-create "*blockdiag*")) (erase-buffer) (insert-file blockdiag-output) (image-mode))) (push '("*blockdiag*") popwin:special-display-config)
call-processで使うプログラムは, exec-pathが通っている必要があるので,
virtualenv等を利用している方は若干注意が必要です。
popwinを使えば、簡単に C-gとか qとかで簡単に元に戻れます。
実行
blockdiag形式のファイルで blockdiag-bufferとすれば画像に変換され、
そのバッファに移動します。