doomemacs/modules/lang/plantuml/config.el
Nikita Bloshchanevich 7d5ceff5ec fix(plantuml): flycheck: executable support
The flycheck-plantuml is by default configured to always run plantuml
via "java". This only works with a downloaded plantuml. However, I would
prefer to have plantuml installed via my package manager (fedora/dnf).

A locally installed PlantUML executable is already detected by default
for normal use (export/preview), we can also use it for flycheck.

If plantuml is downloaded using plantuml-download-jar, this jar is still
used by default (see setq plantuml-exec-mode), so this should not affect
previous setups.
2023-11-24 11:06:34 -05:00

33 lines
1.2 KiB
EmacsLisp

;;; lang/plantuml/config.el -*- lexical-binding: t; -*-
(use-package! plantuml-mode
:commands plantuml-download-jar
:init
(setq plantuml-jar-path (concat doom-data-dir "plantuml.jar")
org-plantuml-jar-path plantuml-jar-path)
:config
(set-popup-rule! "^\\*PLANTUML" :size 0.4 :select nil :ttl 0)
(setq plantuml-default-exec-mode
(cond ((file-exists-p plantuml-jar-path) 'jar)
((executable-find "plantuml") 'executable)
(plantuml-default-exec-mode))))
(use-package! flycheck-plantuml
:when (modulep! :checkers syntax)
:after plantuml-mode
:config
(flycheck-plantuml-setup)
(when (eq plantuml-default-exec-mode 'executable)
;; Surprisingly, this works, even though flycheck-plantuml specifies -Djava.awt...
(setq-default flycheck-plantuml-executable plantuml-executable-path)))
(after! ob-plantuml
;; HACK Force ob-plantuml to use `plantuml-mode''s building mechanism, which
;; is more sophisticated.
(advice-add #'org-babel-execute:plantuml
:override #'+plantuml-org-babel-execute:plantuml-a)
(add-to-list 'org-babel-default-header-args:plantuml
'(:cmdline . "-charset utf-8")))