Closed okhowang closed 2 years ago
Thanks for take a stab on this issue @okhowang, but I would rather keep the graph generator with the current design. It currently just has 138 lines of code and the logic is quite simple, so adding an external dependency will increase the complexity with few added value.
Do you see an easy way to fix #21 without using gographviz
?
Escape
in graphviz is a little complex logic which is about 100 line in gographviz
.
ToGraph
remain bug if we don't add Escape
to it.
gographviz
is used only in ToGraph
.
it do not effect core code in stateless
.
PS: gographviz
is a pure go project.
@qmuntal After @okhowang's comment, do you have any feedback on this issue?
@qmuntal is the complexity you're talking about that much higher that justifies having a buggy feature?
@qmuntal After @okhowang's comment, do you have any feedback on this issue?
@qmuntal is the complexity you're talking about that much higher that justifies having a buggy feature?
@jairobjunior I plan to fix the graph export functionality soon without importing gographviz. I almost have it done.
Fixed in d97731633b8155699d8c14872789ba1702ac1376:
digraph {
compound=true;
node [shape=Mrecord];
rankdir=LR;
a [label="a|entry / func1"];
subgraph cluster_b {
label="b\n----------\nexit / func2";
"cluster_b-init" [label="", shape=point];
subgraph cluster_b_1 {
label="b_1";
"cluster_b_1-init" [label="", shape=point];
b_1_1 [label="b_1_1"];
}
b_2 [label="b_2"];
}
"cluster_b-init" -> b_1_1 [label="", lhead="cluster_b_1"];
"cluster_b_1-init" -> b_1_1 [label=""];
b_1_1 -> b_2 [label="toB2", ltail="cluster_b_1"];
b_1_1 -> c [label="toC", ltail="cluster_b_1"];
a -> b_1_1 [label="toB", lhead="cluster_b"];
init [label="", shape=point];
init -> a
}
close #21 I use gographviz to refactor ToGraph function features:
example code
exmaple output