;;; plot-settings.el --- plot settings  -*- lexical-binding: t -*-

;;; Commentary:
;; .plantuml .pum .plu
 
;; Requirements:
;; gnuplot       https://melpa.org/#/gnuplote drive gnuplot from within Emacs e.g. via org (export)
;; plantuml-mode https://melpa.org/#/plantuml-mode https://github.com/skuro/plantuml-mode
;;   dash

;; https://orgmode.org/worg//org-contrib/babel/languages/ob-doc-dot.html

;;; Code:
(use-package graphviz-dot-mode
  :commands graphviz-dot-mode
  :mode ("\\.gv\\'" "\\.dot\\'")
  :init
  (with-eval-after-load 'org-src
    (add-to-list 'org-src-lang-modes '("dot" . graphviz-dot)))
  :config
  (setq graphviz-dot-indent-width 2)
  (setq graphviz-dot-preview-extension "svg")
  (setq graphviz-dot-view-command "open %s"))

(use-package gnuplot
  :commands gnuplot-mode
  :mode "\\.gp\\'")

(use-package gnuplot-context
  :after gnuplot
  :commands gnuplot-context-sensitive-mode)

(use-package plantuml-mode
  :commands (plantuml-mode)
  :init
  (with-eval-after-load 'org-src
    (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)))
  :config
  ;; arch linux aur package path
  (setq plantuml-deafult-exec-mode 'executable)                       ;; 'jar uses `plantuml-jar-path', 'executable uses `plantuml-executable-path'
  (setq plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")
  (setq org-plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")
  (with-eval-after-load 'org
    (add-to-list 'org-babel-load-languages '(plantuml . t))))

(provide 'plot-settings)
;;; plot-settings.el ends here
