lang/plantuml: fix src blocks that start w/ @start (#1746)

* Fix advice bug of chinese and japanese
* Fix bugs of advice
* Update config.el
* Fix "@start" prefix execute error on ob-plantuml
* replace with 'after!' and rename advice function
This commit is contained in:
Sunn Yao 2019-09-07 12:27:23 +08:00 committed by Henrik Lissner
parent 580cf639c1
commit b6b2d74f25

View file

@ -13,3 +13,26 @@
:when (featurep! :tools flycheck) :when (featurep! :tools flycheck)
:after plantuml-mode :after plantuml-mode
:config (flycheck-plantuml-setup)) :config (flycheck-plantuml-setup))
;;
;; 1. Add `:cmdline -charset utf-8' to org-src-block:plantuml
;;
;; 2. Fix `@start' prefix execute error
;; When `C-c C-c' is executed in org-src-block:plantuml, if the code starts with
;; `@', execution will go wrong. Must be preceded by `\' or `,' to execute
;; normally. This code is automatically added `\' before `@start' when `C-c C-c'
;; is executed, so that the execution can be carried out normally.
;;
(after! ob-plantuml
(defadvice! +plantuml--fix-atstart-in-org-src-blocks-a (args)
:filter-args #'org-babel-execute:plantuml
(cl-destructuring-bind (body params) args
(let* ((origin-body body)
(fix-body
(replace-regexp-in-string
"^\\w*\\(@start\\)"
"\\\\\\1"
origin-body)))
(list fix-body params))))
(add-to-list 'org-babel-default-header-args:plantuml
'(:cmdline . "-charset utf-8")))