diff options
author | Henrik Koschitzki <h.koschitzki@mailbox.org> | 2019-08-17 14:26:26 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-08-17 14:26:26 +0200 |
commit | 4e854974be9788f029f2d73f829c4d51d2b83faf (patch) | |
tree | 2ef162b0e0f5bf20e66670ba8e66498c91fb3760 | |
parent | c7bce7a9869b4e18052b7efa59f2bce8962c535d (diff) | |
download | org-mode-4e854974be9788f029f2d73f829c4d51d2b83faf.tar.gz |
ob-plantuml: Allow different @start-/@end clauses
* lisp/ob-plantuml (org-babel-plantuml-make-body) Do not insert
@startuml and @enduml if body already starts with "@start".
PlantUML supports non-UML diagrams that have to be enclosed with
@startgantt/@endgantt for example. The code for these diagrams can
contain the proper clauses without being enclosed additionally with
@startuml/@enduml.
-rw-r--r-- | lisp/ob-plantuml.el | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/ob-plantuml.el b/lisp/ob-plantuml.el index 5d7b159..09c9a33 100644 --- a/lisp/ob-plantuml.el +++ b/lisp/ob-plantuml.el @@ -60,16 +60,19 @@ are expected to be scalar variables." (defun org-babel-plantuml-make-body (body params) "Return PlantUML input string. + BODY is the content of the source block and PARAMS is a property list of source block parameters. This function relies on the `org-babel-expand-body:generic' function to extract `:var' entries from PARAMS and on the `org-babel-variable-assignments:plantuml' -function to convert variables to PlantUML assignments." - (concat - "@startuml\n" - (org-babel-expand-body:generic - body params (org-babel-variable-assignments:plantuml params)) - "\n@enduml")) +function to convert variables to PlantUML assignments. + +If BODY does not contain @startXXX ... @endXXX clauses, @startuml +... @enduml will be added." + (let ((assignments (org-babel-variable-assignments:plantuml params))) + (if (string-prefix-p "@start" body t) assignments + (format "@startuml\n%s\n@enduml" + (org-babel-expand-body:generic body params assignments))))) (defun org-babel-execute:plantuml (body params) "Execute a block of plantuml code with org-babel. |