Skip to content

Commit 4f13368

Browse files
committed
Format libgraphviz
1 parent 1215b83 commit 4f13368

File tree

1 file changed

+52
-41
lines changed

1 file changed

+52
-41
lines changed

src/libgraphviz/lib.rs

Lines changed: 52 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -432,15 +432,17 @@ pub trait Labeller<'a,N,E> {
432432
}
433433

434434
impl<'a> LabelText<'a> {
435-
pub fn label<S:IntoCow<'a, str>>(s: S) -> LabelText<'a> {
435+
pub fn label<S: IntoCow<'a, str>>(s: S) -> LabelText<'a> {
436436
LabelStr(s.into_cow())
437437
}
438438

439-
pub fn escaped<S:IntoCow<'a, str>>(s: S) -> LabelText<'a> {
439+
pub fn escaped<S: IntoCow<'a, str>>(s: S) -> LabelText<'a> {
440440
EscStr(s.into_cow())
441441
}
442442

443-
fn escape_char<F>(c: char, mut f: F) where F: FnMut(char) {
443+
fn escape_char<F>(c: char, mut f: F)
444+
where F: FnMut(char)
445+
{
444446
match c {
445447
// not escaping \\, since Graphviz escString needs to
446448
// interpret backslashes; see EscStr above.
@@ -531,29 +533,36 @@ pub enum RenderOption {
531533
}
532534

533535
/// Returns vec holding all the default render options.
534-
pub fn default_options() -> Vec<RenderOption> { vec![] }
536+
pub fn default_options() -> Vec<RenderOption> {
537+
vec![]
538+
}
535539

536540
/// Renders directed graph `g` into the writer `w` in DOT syntax.
537541
/// (Simple wrapper around `render_opts` that passes a default set of options.)
538-
pub fn render<'a, N:Clone+'a, E:Clone+'a, G:Labeller<'a,N,E>+GraphWalk<'a,N,E>, W:Write>(
539-
g: &'a G,
540-
w: &mut W) -> io::Result<()> {
542+
pub fn render<'a, N: Clone, 'a, E: Clone, 'a, G: Labeller<'a, N, E>, GraphWalk<'a, N, E>, W: Write>
543+
(g: &'a G,
544+
w: &mut W)
545+
-> io::Result<()> {
541546
render_opts(g, w, &[])
542547
}
543548

544549
/// Renders directed graph `g` into the writer `w` in DOT syntax.
545550
/// (Main entry point for the library.)
546-
pub fn render_opts<'a, N:Clone+'a, E:Clone+'a, G:Labeller<'a,N,E>+GraphWalk<'a,N,E>, W:Write>(
547-
g: &'a G,
548-
w: &mut W,
549-
options: &[RenderOption]) -> io::Result<()>
550-
{
551-
fn writeln<W:Write>(w: &mut W, arg: &[&str]) -> io::Result<()> {
551+
pub fn render_opts<'a,
552+
N: Clone, 'a,
553+
E: Clone, 'a,
554+
G: Labeller<'a, N, E>, GraphWalk<'a, N, E>,
555+
W: Write>
556+
(g: &'a G,
557+
w: &mut W,
558+
options: &[RenderOption])
559+
-> io::Result<()> {
560+
fn writeln<W: Write>(w: &mut W, arg: &[&str]) -> io::Result<()> {
552561
for &s in arg { try!(w.write_all(s.as_bytes())); }
553562
write!(w, "\n")
554563
}
555564

556-
fn indent<W:Write>(w: &mut W) -> io::Result<()> {
565+
fn indent<W: Write>(w: &mut W) -> io::Result<()> {
557566
w.write_all(b" ")
558567
}
559568

@@ -657,9 +666,7 @@ mod tests {
657666
}
658667

659668
impl LabelledGraph {
660-
fn new(name: &'static str,
661-
node_labels: Trivial,
662-
edges: Vec<Edge>) -> LabelledGraph {
669+
fn new(name: &'static str, node_labels: Trivial, edges: Vec<Edge>) -> LabelledGraph {
663670
LabelledGraph {
664671
name: name,
665672
node_labels: node_labels.to_opt_strs(),
@@ -671,7 +678,8 @@ mod tests {
671678
impl LabelledGraphWithEscStrs {
672679
fn new(name: &'static str,
673680
node_labels: Trivial,
674-
edges: Vec<Edge>) -> LabelledGraphWithEscStrs {
681+
edges: Vec<Edge>)
682+
-> LabelledGraphWithEscStrs {
675683
LabelledGraphWithEscStrs {
676684
graph: LabelledGraph::new(name, node_labels, edges)
677685
}
@@ -695,52 +703,56 @@ mod tests {
695703
None => LabelStr(id_name(n).name()),
696704
}
697705
}
698-
fn edge_label(&'a self, e: & &'a Edge) -> LabelText<'a> {
706+
fn edge_label(&'a self, e: &&'a Edge) -> LabelText<'a> {
699707
LabelStr(e.label.into_cow())
700708
}
701709
}
702710

703711
impl<'a> Labeller<'a, Node, &'a Edge> for LabelledGraphWithEscStrs {
704-
fn graph_id(&'a self) -> Id<'a> { self.graph.graph_id() }
705-
fn node_id(&'a self, n: &Node) -> Id<'a> { self.graph.node_id(n) }
712+
fn graph_id(&'a self) -> Id<'a> {
713+
self.graph.graph_id()
714+
}
715+
fn node_id(&'a self, n: &Node) -> Id<'a> {
716+
self.graph.node_id(n)
717+
}
706718
fn node_label(&'a self, n: &Node) -> LabelText<'a> {
707719
match self.graph.node_label(n) {
708720
LabelStr(s) | EscStr(s) => EscStr(s),
709721
}
710722
}
711-
fn edge_label(&'a self, e: & &'a Edge) -> LabelText<'a> {
723+
fn edge_label(&'a self, e: &&'a Edge) -> LabelText<'a> {
712724
match self.graph.edge_label(e) {
713725
LabelStr(s) | EscStr(s) => EscStr(s),
714726
}
715727
}
716728
}
717729

718730
impl<'a> GraphWalk<'a, Node, &'a Edge> for LabelledGraph {
719-
fn nodes(&'a self) -> Nodes<'a,Node> {
731+
fn nodes(&'a self) -> Nodes<'a, Node> {
720732
(0..self.node_labels.len()).collect()
721733
}
722-
fn edges(&'a self) -> Edges<'a,&'a Edge> {
734+
fn edges(&'a self) -> Edges<'a, &'a Edge> {
723735
self.edges.iter().collect()
724736
}
725-
fn source(&'a self, edge: & &'a Edge) -> Node {
737+
fn source(&'a self, edge: &&'a Edge) -> Node {
726738
edge.from
727739
}
728-
fn target(&'a self, edge: & &'a Edge) -> Node {
740+
fn target(&'a self, edge: &&'a Edge) -> Node {
729741
edge.to
730742
}
731743
}
732744

733745
impl<'a> GraphWalk<'a, Node, &'a Edge> for LabelledGraphWithEscStrs {
734-
fn nodes(&'a self) -> Nodes<'a,Node> {
746+
fn nodes(&'a self) -> Nodes<'a, Node> {
735747
self.graph.nodes()
736748
}
737-
fn edges(&'a self) -> Edges<'a,&'a Edge> {
749+
fn edges(&'a self) -> Edges<'a, &'a Edge> {
738750
self.graph.edges()
739751
}
740-
fn source(&'a self, edge: & &'a Edge) -> Node {
752+
fn source(&'a self, edge: &&'a Edge) -> Node {
741753
edge.from
742754
}
743-
fn target(&'a self, edge: & &'a Edge) -> Node {
755+
fn target(&'a self, edge: &&'a Edge) -> Node {
744756
edge.to
745757
}
746758
}
@@ -781,8 +793,7 @@ r#"digraph single_node {
781793
#[test]
782794
fn single_edge() {
783795
let labels : Trivial = UnlabelledNodes(2);
784-
let result = test_input(LabelledGraph::new("single_edge", labels,
785-
vec!(edge(0, 1, "E"))));
796+
let result = test_input(LabelledGraph::new("single_edge", labels, vec!(edge(0, 1, "E"))));
786797
assert_eq!(result.unwrap(),
787798
r#"digraph single_edge {
788799
N0[label="N0"];
@@ -795,7 +806,8 @@ r#"digraph single_edge {
795806
#[test]
796807
fn test_some_labelled() {
797808
let labels : Trivial = SomeNodesLabelled(vec![Some("A"), None]);
798-
let result = test_input(LabelledGraph::new("test_some_labelled", labels,
809+
let result = test_input(LabelledGraph::new("test_some_labelled",
810+
labels,
799811
vec![edge(0, 1, "A-1")]));
800812
assert_eq!(result.unwrap(),
801813
r#"digraph test_some_labelled {
@@ -809,8 +821,7 @@ r#"digraph test_some_labelled {
809821
#[test]
810822
fn single_cyclic_node() {
811823
let labels : Trivial = UnlabelledNodes(1);
812-
let r = test_input(LabelledGraph::new("single_cyclic_node", labels,
813-
vec!(edge(0, 0, "E"))));
824+
let r = test_input(LabelledGraph::new("single_cyclic_node", labels, vec!(edge(0, 0, "E"))));
814825
assert_eq!(r.unwrap(),
815826
r#"digraph single_cyclic_node {
816827
N0[label="N0"];
@@ -822,9 +833,9 @@ r#"digraph single_cyclic_node {
822833
#[test]
823834
fn hasse_diagram() {
824835
let labels = AllNodesLabelled(vec!("{x,y}", "{x}", "{y}", "{}"));
825-
let r = test_input(LabelledGraph::new(
826-
"hasse_diagram", labels,
827-
vec!(edge(0, 1, ""), edge(0, 2, ""),
836+
let r = test_input(LabelledGraph::new("hasse_diagram",
837+
labels,
838+
vec!(edge(0, 1, ""), edge(0, 2, ""),
828839
edge(1, 3, ""), edge(2, 3, ""))));
829840
assert_eq!(r.unwrap(),
830841
r#"digraph hasse_diagram {
@@ -856,9 +867,9 @@ r#"digraph hasse_diagram {
856867

857868
let mut writer = Vec::new();
858869

859-
let g = LabelledGraphWithEscStrs::new(
860-
"syntax_tree", labels,
861-
vec!(edge(0, 1, "then"), edge(0, 2, "else"),
870+
let g = LabelledGraphWithEscStrs::new("syntax_tree",
871+
labels,
872+
vec!(edge(0, 1, "then"), edge(0, 2, "else"),
862873
edge(1, 3, ";"), edge(2, 3, ";" )));
863874

864875
render(&g, &mut writer).unwrap();

0 commit comments

Comments
 (0)