Added initial support for MermaidJS sequence diagram

This commit is contained in:
Bartek Kryza
2023-09-08 00:30:02 +02:00
parent 084bb20ef7
commit 32fda88852
43 changed files with 956 additions and 23 deletions

View File

@@ -25,6 +25,7 @@
namespace clanguml::class_diagram::generators::mermaid {
using clanguml::common::generators::mermaid::indent;
using clanguml::common::generators::mermaid::render_name;
generator::generator(diagram_config &config, diagram_model &model)
: common_generator<diagram_config, diagram_model>{config, model}
@@ -32,19 +33,6 @@ generator::generator(diagram_config &config, diagram_model &model)
{
}
std::string generator::render_name(std::string name) const
{
util::replace_all(name, "<", "&lt;");
util::replace_all(name, ">", "&gt;");
util::replace_all(name, "(", "&lpar;");
util::replace_all(name, ")", "&rpar;");
util::replace_all(name, "##", "::");
util::replace_all(name, "{", "&lbrace;");
util::replace_all(name, "}", "&rbrace;");
return name;
}
void generator::generate_alias(
const common::model::element &c, std::ostream &ostr) const
{

View File

@@ -246,8 +246,6 @@ private:
const std::vector<std::string> method_groups_{
"constructors", "assignment", "operators", "other"};
std::string render_name(std::string name) const;
template <typename T>
void sort_class_elements(std::vector<T> &elements) const
{