Added list-diagrams cli options
This commit is contained in:
@@ -27,6 +27,20 @@ config load(const std::string &config_file)
|
||||
return doc.as<config>();
|
||||
}
|
||||
|
||||
std::string to_string(const diagram_type t)
|
||||
{
|
||||
switch (t) {
|
||||
case diagram_type::class_diagram:
|
||||
return "class";
|
||||
case diagram_type::sequence_diagram:
|
||||
return "sequence";
|
||||
case diagram_type::package_diagram:
|
||||
return "package";
|
||||
default:
|
||||
assert(false);
|
||||
}
|
||||
}
|
||||
|
||||
bool diagram::should_include_entities(const std::string &ent)
|
||||
{
|
||||
for (const auto &ex : exclude.entity_types) {
|
||||
@@ -107,6 +121,8 @@ bool diagram::should_include(const clanguml::common::model::scope_t scope) const
|
||||
return false;
|
||||
}
|
||||
|
||||
diagram_type class_diagram::type() const { return diagram_type::class_diagram; }
|
||||
|
||||
bool class_diagram::has_class(std::string clazz)
|
||||
{
|
||||
for (const auto &c : classes) {
|
||||
@@ -123,6 +139,16 @@ bool class_diagram::has_class(std::string clazz)
|
||||
return false;
|
||||
}
|
||||
|
||||
diagram_type sequence_diagram::type() const
|
||||
{
|
||||
return diagram_type::sequence_diagram;
|
||||
}
|
||||
|
||||
diagram_type package_diagram::type() const
|
||||
{
|
||||
return diagram_type::package_diagram;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,9 +59,15 @@ struct filter {
|
||||
std::vector<common::model::scope_t> scopes;
|
||||
};
|
||||
|
||||
enum class diagram_type { class_diagram, sequence_diagram, package_diagram };
|
||||
|
||||
std::string to_string(const diagram_type t);
|
||||
|
||||
struct diagram {
|
||||
virtual ~diagram() = default;
|
||||
|
||||
virtual diagram_type type() const = 0;
|
||||
|
||||
std::string name;
|
||||
std::vector<std::string> glob;
|
||||
std::vector<std::string> using_namespace;
|
||||
@@ -89,6 +95,8 @@ struct source_location {
|
||||
struct class_diagram : public diagram {
|
||||
virtual ~class_diagram() = default;
|
||||
|
||||
diagram_type type() const override;
|
||||
|
||||
std::vector<std::string> classes;
|
||||
bool include_relations_also_as_members{true};
|
||||
|
||||
@@ -98,11 +106,15 @@ struct class_diagram : public diagram {
|
||||
struct sequence_diagram : public diagram {
|
||||
virtual ~sequence_diagram() = default;
|
||||
|
||||
diagram_type type() const override;
|
||||
|
||||
std::vector<source_location> start_from;
|
||||
};
|
||||
|
||||
struct package_diagram : public diagram {
|
||||
virtual ~package_diagram() = default;
|
||||
|
||||
diagram_type type() const override;
|
||||
};
|
||||
|
||||
struct config {
|
||||
|
||||
Reference in New Issue
Block a user