Support indentation for switch statement
This commit is contained in:
parent
ea45a13707
commit
471505e5d8
|
@ -589,6 +589,7 @@ or it is followed by line end.")
|
||||||
(defvar plantuml-indent-regexp-newif-start "^\s*\\(?:else\\)?if\s+(.*)\s+then\s*.*$")
|
(defvar plantuml-indent-regexp-newif-start "^\s*\\(?:else\\)?if\s+(.*)\s+then\s*.*$")
|
||||||
(defvar plantuml-indent-regexp-loop-start "^\s*\\(?:repeat\s*\\|while\s+(.*).*\\)$")
|
(defvar plantuml-indent-regexp-loop-start "^\s*\\(?:repeat\s*\\|while\s+(.*).*\\)$")
|
||||||
(defvar plantuml-indent-regexp-fork-start "^\s*\\(?:fork\\|split\\)\\(?:\s+again\\)?\s*$")
|
(defvar plantuml-indent-regexp-fork-start "^\s*\\(?:fork\\|split\\)\\(?:\s+again\\)?\s*$")
|
||||||
|
(defvar plantuml-indent-regexp-case-start "^\s*\\(?:switch\\|case\\)\s-*(.*)\s*$")
|
||||||
(defvar plantuml-indent-regexp-macro-start "^\s*!definelong.*$")
|
(defvar plantuml-indent-regexp-macro-start "^\s*!definelong.*$")
|
||||||
(defvar plantuml-indent-regexp-user-control-start "^.*'.*\s*PLANTUML_MODE_INDENT_INCREASE\s*.*$")
|
(defvar plantuml-indent-regexp-user-control-start "^.*'.*\s*PLANTUML_MODE_INDENT_INCREASE\s*.*$")
|
||||||
(defvar plantuml-indent-regexp-start (list plantuml-indent-regexp-block-start
|
(defvar plantuml-indent-regexp-start (list plantuml-indent-regexp-block-start
|
||||||
|
@ -601,6 +602,7 @@ or it is followed by line end.")
|
||||||
plantuml-indent-regexp-newif-start
|
plantuml-indent-regexp-newif-start
|
||||||
plantuml-indent-regexp-loop-start
|
plantuml-indent-regexp-loop-start
|
||||||
plantuml-indent-regexp-fork-start
|
plantuml-indent-regexp-fork-start
|
||||||
|
plantuml-indent-regexp-case-start
|
||||||
plantuml-indent-regexp-title-start
|
plantuml-indent-regexp-title-start
|
||||||
plantuml-indent-regexp-header-start
|
plantuml-indent-regexp-header-start
|
||||||
plantuml-indent-regexp-footer-start
|
plantuml-indent-regexp-footer-start
|
||||||
|
@ -621,6 +623,7 @@ or it is followed by line end.")
|
||||||
(defvar plantuml-indent-regexp-newif-end "^\s*\\(endif\\|elseif\\|else\\)\s*.*$")
|
(defvar plantuml-indent-regexp-newif-end "^\s*\\(endif\\|elseif\\|else\\)\s*.*$")
|
||||||
(defvar plantuml-indent-regexp-loop-end "^\s*\\(repeat\s*while\\|endwhile\\)\s*.*$")
|
(defvar plantuml-indent-regexp-loop-end "^\s*\\(repeat\s*while\\|endwhile\\)\s*.*$")
|
||||||
(defvar plantuml-indent-regexp-fork-end "^\s*\\(\\(fork\\|split\\)\s+again\\|end\s+\\(fork\\|split\\)\\)\s*$")
|
(defvar plantuml-indent-regexp-fork-end "^\s*\\(\\(fork\\|split\\)\s+again\\|end\s+\\(fork\\|split\\)\\)\s*$")
|
||||||
|
(defvar plantuml-indent-regexp-case-end "^\s*\\(case\s-*([^)]*)\\|endswitch\\)\s*\\('.*\\)?$")
|
||||||
(defvar plantuml-indent-regexp-macro-end "^\s*!enddefinelong\s*\\('.*\\)?$")
|
(defvar plantuml-indent-regexp-macro-end "^\s*!enddefinelong\s*\\('.*\\)?$")
|
||||||
(defvar plantuml-indent-regexp-user-control-end "^.*'.*\s*PLANTUML_MODE_INDENT_DECREASE\s*.*$")
|
(defvar plantuml-indent-regexp-user-control-end "^.*'.*\s*PLANTUML_MODE_INDENT_DECREASE\s*.*$")
|
||||||
(defvar plantuml-indent-regexp-end (list plantuml-indent-regexp-block-end
|
(defvar plantuml-indent-regexp-end (list plantuml-indent-regexp-block-end
|
||||||
|
@ -633,6 +636,7 @@ or it is followed by line end.")
|
||||||
plantuml-indent-regexp-newif-end
|
plantuml-indent-regexp-newif-end
|
||||||
plantuml-indent-regexp-loop-end
|
plantuml-indent-regexp-loop-end
|
||||||
plantuml-indent-regexp-fork-end
|
plantuml-indent-regexp-fork-end
|
||||||
|
plantuml-indent-regexp-case-end
|
||||||
plantuml-indent-regexp-title-end
|
plantuml-indent-regexp-title-end
|
||||||
plantuml-indent-regexp-header-end
|
plantuml-indent-regexp-header-end
|
||||||
plantuml-indent-regexp-footer-end
|
plantuml-indent-regexp-footer-end
|
||||||
|
|
|
@ -384,6 +384,44 @@ stop
|
||||||
|
|
||||||
@enduml"))
|
@enduml"))
|
||||||
|
|
||||||
|
(ert-deftest plantuml-test-indentation/activity-new/switch ()
|
||||||
|
"Test correct indentation of plantuml activity-new complete example
|
||||||
|
These code examples are taken from www.plantuml.com"
|
||||||
|
(plantuml-test-indent-block
|
||||||
|
"@startuml
|
||||||
|
start
|
||||||
|
switch (test?)
|
||||||
|
case ( condition A )
|
||||||
|
:Text 1;
|
||||||
|
case ( condition B )
|
||||||
|
:Text 2;
|
||||||
|
case ( condition C )
|
||||||
|
:Text 3;
|
||||||
|
case ( condition D )
|
||||||
|
:Text 4;
|
||||||
|
case ( condition E )
|
||||||
|
:Text 5;
|
||||||
|
endswitch
|
||||||
|
stop
|
||||||
|
@enduml"
|
||||||
|
|
||||||
|
"@startuml
|
||||||
|
start
|
||||||
|
switch (test?)
|
||||||
|
case ( condition A )
|
||||||
|
:Text 1;
|
||||||
|
case ( condition B )
|
||||||
|
:Text 2;
|
||||||
|
case ( condition C )
|
||||||
|
:Text 3;
|
||||||
|
case ( condition D )
|
||||||
|
:Text 4;
|
||||||
|
case ( condition E )
|
||||||
|
:Text 5;
|
||||||
|
endswitch
|
||||||
|
stop
|
||||||
|
@enduml"))
|
||||||
|
|
||||||
(provide 'plantuml-indentation-activity-new-test)
|
(provide 'plantuml-indentation-activity-new-test)
|
||||||
|
|
||||||
;;; plantuml-indentation-activity-old-test.el ends here
|
;;; plantuml-indentation-activity-old-test.el ends here
|
||||||
|
|
Loading…
Reference in New Issue