aboutsummaryrefslogtreecommitdiff
path: root/ccwl/graphviz.scm
AgeCommit message (Collapse)Author
2021-12-17Create specialized type for graphviz edge.Arun Isaac
* ccwl/graphviz.scm (<graph-edge>): New type. (graph-edge): New function. (graph->dot): Support specification of edges using the <graph-edge> type.
2021-12-17Abstract out serialization of graphviz properties.Arun Isaac
* ccwl/graphviz.scm (serialize-properties): New function. (graph->dot): Use serialize-properties.
2021-12-13ccwl: Support graphviz node ports.Arun Isaac
* ccwl/graphviz.scm (<graph-port>): New type. (serialize): Support <graph-port> objects. * tests/graphviz.scm (graph-port): New function. ("serialize ports correctly"): New test case.
2021-12-13ccwl: Organize serialize into a generic function.Arun Isaac
* ccwl/graphviz.scm (serialize): Organize into a generic function that dispatches on input type.
2021-12-13ccwl: Escape only the double quote character in graphviz output.Arun Isaac
* ccwl/graphviz.scm: Import (ice-9 string-fun). (serialize): When quoting strings, escape only the double quote character. * tests/graphviz.scm ("do not escape backslashes"): New test case.
2021-12-13ccwl: Support graphviz HTML strings.Arun Isaac
* ccwl/graphviz.scm (<html-string>): New type. (escape-id): Delete function. (serialize): New function. (graph->dot): Use serialize instead of escape-id. * tests/graphviz.scm: New file. ("serialize HTML strings correctly"): New test case. * Makefile.am (SCM_TESTS): Register it.
2021-11-02ccwl: Rename graphviz to dot.Arun Isaac
What we call "graphviz syntax" is actually the "graphviz dot language". Rename accordingly. * ccwl/graphviz.scm (workflow->graphviz): Rename to workflow->dot. Call graph->dot instead of graph->graphviz. (escape-id): Update docstring to mention dot. (graph->graphviz): Rename to graph->dot. Update docstring to mention dot. * scripts/ccwl.in (main): Accept --to=dot instead of --to=graphviz. Update --help usage information. * Makefile.am (%.dot): Pass --to=dot instead of --to=graphviz.
2021-10-12ccwl: Implement compiling to graphviz.Arun Isaac
* ccwl/yaml.scm (indent-level): Import (ccwl utils). Move to ... * ccwl/utils.scm (indent-level): ... here. Export indent-level. * ccwl/graphviz.scm: New file. * Makefile.am (SOURCES): Register it.