40 lines
1.6 KiB
EmacsLisp
40 lines
1.6 KiB
EmacsLisp
;;==============================================================================
|
|
;; Graphviz' dot mode
|
|
;;==============================================================================
|
|
|
|
(autoload 'graphviz-dot-mode "graphviz-dot-mode.el" "Graphviz dot mode." t)
|
|
(add-to-list 'auto-mode-alist '("\\.dot\\'" . graphviz-dot-mode))
|
|
|
|
|
|
(setq graphviz-dot-preview-extension "pdf")
|
|
(defcustom graphviz-dot-view-extension "pdf"
|
|
"Graphviz format for external view."
|
|
:safe 'stringp)
|
|
(setq graphviz-dot-view-command "zathura --fork %s")
|
|
|
|
;; Override original stupid function.
|
|
(add-hook
|
|
'graphviz-dot-mode-hook
|
|
(lambda ()
|
|
(defun graphviz-dot-view ()
|
|
"Runs an external viewer. This creates an external process every time it
|
|
is executed. If `graphviz-dot-save-before-view' is set, the current
|
|
buffer is saved before the command is executed."
|
|
(interactive)
|
|
(let ((cmd (if graphviz-dot-view-edit-command
|
|
(read-from-minibuffer
|
|
"View command: "
|
|
(format graphviz-dot-view-command
|
|
(concat (file-name-sans-extension buffer-file-name)
|
|
"." graphviz-dot-view-extension)))
|
|
(format graphviz-dot-view-command
|
|
(concat (file-name-sans-extension buffer-file-name)
|
|
"." graphviz-dot-view-extension)))))
|
|
(if graphviz-dot-save-before-view
|
|
(save-buffer))
|
|
(setq novaproc (start-process-shell-command
|
|
(downcase mode-name) nil cmd))
|
|
(message (format "Executing `%s'..." cmd))))))
|
|
|
|
|