add indentation for ref-groups

This commit is contained in:
René Schmelzer 2019-03-12 22:03:54 +01:00
parent 1b3d7094c7
commit 6515b3de97
2 changed files with 33 additions and 1 deletions

View File

@ -358,6 +358,7 @@ Two variants for groups: keyword is either followed by whitespace and some text
or it is followed by line end.")
(defvar plantuml-indent-regexp-activate-start "^\s*activate\s+.+$")
(defvar plantuml-indent-regexp-box-start "^\s*box\s+.+$")
(defvar plantuml-indent-regexp-ref-start "^\s*ref\s+over\s+\\w+\s*$")
(defvar plantuml-indent-regexp-title-start "^\s*title$")
(defvar plantuml-indent-regexp-header-start "^\s*\\(?:\\(?:center\\|left\\|right\\)\s+header\\|header\\)$")
(defvar plantuml-indent-regexp-footer-start "^\s*\\(?:\\(?:center\\|left\\|right\\)\s+footer\\|footer\\)$")
@ -368,12 +369,13 @@ or it is followed by line end.")
plantuml-indent-regexp-group-start
plantuml-indent-regexp-activate-start
plantuml-indent-regexp-box-start
plantuml-indent-regexp-ref-start
plantuml-indent-regexp-title-start
plantuml-indent-regexp-header-start
plantuml-indent-regexp-footer-start
plantuml-indent-regexp-legend-start
plantuml-indent-regexp-if-start))
(defvar plantuml-indent-regexp-end "^\s*\\(?:endif\\|else\s*.*\\|end\\|end\s+note\\|end\s+box\\|}\\|deactivate\s+.+\\|end\s+title\\|endheader\\|endfooter\\|endlegend\\)$")
(defvar plantuml-indent-regexp-end "^\s*\\(?:}\\|endif\\|else\s*.*\\|end\\|end\s+note\\|end\s+box\\|end\s+ref\\|deactivate\s+.+\\|end\s+title\\|endheader\\|endfooter\\|endlegend\\)$")
(setq plantuml-font-lock-keywords
`(
(,plantuml-types-regexp . font-lock-type-face)

View File

@ -27,6 +27,36 @@ box \"Device with USB connector\"
end box
" ))
(ert-deftest platuml-test-block-indentation/sequence/ref ()
"Test correct indentation of a ref block"
(plantuml-test-indent-block
"
participant Alice
actor Bob
ref over Alice, Bob : init
Alice -> Bob : hello
ref over Bob
This can be on
several lines
end ref
"
"
participant Alice
actor Bob
ref over Alice, Bob : init
Alice -> Bob : hello
ref over Bob
This can be on
several lines
end ref
" ))
(ert-deftest plantuml-test-block-indentation/sequence/alt-end ()
"Test correct indentation of an alt-end block.