From dd940991dcb4d908f2a04f9c2d1d5321bd8ad20a Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Mon, 16 Oct 2023 22:10:44 +0200 Subject: [PATCH] Added message_comment_width config option --- src/config/config.h | 1 + src/config/schema.h | 2 ++ src/config/yaml_decoders.cc | 2 ++ src/config/yaml_emitters.cc | 1 + .../generators/plantuml/sequence_diagram_generator.cc | 4 +++- 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/config/config.h b/src/config/config.h index 134e9437..f24aa639 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -481,6 +481,7 @@ struct inheritable_diagram_options { "generate_condition_statements", false}; option> participants_order{"participants_order"}; option generate_message_comments{"generate_message_comments", false}; + option message_comment_width{"message_comment_width", 25}; option debug_mode{"debug_mode", false}; option generate_metadata{"generate_metadata", true}; diff --git a/src/config/schema.h b/src/config/schema.h index 8bf77a3b..fc02f46d 100644 --- a/src/config/schema.h +++ b/src/config/schema.h @@ -202,6 +202,7 @@ types: generate_return_types: !optional bool generate_condition_statements: !optional bool generate_message_comments: !optional bool + message_comment_width: !optional int participants_order: !optional [string] start_from: !optional [source_location_t] # deprecated -> 'from' from: !optional [source_location_t] @@ -313,6 +314,7 @@ root: generate_return_types: !optional bool generate_condition_statements: !optional bool generate_message_comments: !optional bool + message_comment_width: !optional int generate_packages: !optional bool group_methods: !optional bool package_type: !optional package_type_t diff --git a/src/config/yaml_decoders.cc b/src/config/yaml_decoders.cc index 2c07deb8..a2ca40de 100644 --- a/src/config/yaml_decoders.cc +++ b/src/config/yaml_decoders.cc @@ -604,6 +604,7 @@ template <> struct convert { get_option(node, rhs.participants_order); get_option(node, rhs.generate_method_arguments); get_option(node, rhs.generate_message_comments); + get_option(node, rhs.message_comment_width); // Ensure relative_to has a value if (!rhs.relative_to.has_value) @@ -794,6 +795,7 @@ template <> struct convert { get_option(node, rhs.generate_return_types); get_option(node, rhs.generate_condition_statements); get_option(node, rhs.generate_message_comments); + get_option(node, rhs.message_comment_width); rhs.base_directory.set(node["__parent_path"].as()); get_option(node, rhs.relative_to); diff --git a/src/config/yaml_emitters.cc b/src/config/yaml_emitters.cc index 8c72f385..d717ec43 100644 --- a/src/config/yaml_emitters.cc +++ b/src/config/yaml_emitters.cc @@ -326,6 +326,7 @@ YAML::Emitter &operator<<( out << c.generate_return_types; out << c.participants_order; out << c.generate_message_comments; + out << c.message_comment_width; } else if (const auto *pd = dynamic_cast(&c); pd != nullptr) { diff --git a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc index d33d8b24..bb9e7e90 100644 --- a/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc @@ -289,7 +289,9 @@ void generator::generate_message_comment( ostr << "note over " << generate_alias(from.value()) << '\n'; - ostr << util::format_message_comment(m.comment().value()) << '\n'; + ostr << util::format_message_comment( + m.comment().value(), config().message_comment_width()) + << '\n'; ostr << "end note" << '\n'; }