diff --git a/cmd/d2plugin-dagre/main.go b/cmd/d2plugin-dagre/main.go index 5dbed2235..96130300e 100644 --- a/cmd/d2plugin-dagre/main.go +++ b/cmd/d2plugin-dagre/main.go @@ -9,5 +9,5 @@ import ( ) func main() { - xmain.Main(d2plugin.Serve(d2plugin.DagrePlugin)) + xmain.Main(d2plugin.Serve(&d2plugin.DagrePlugin)) } diff --git a/d2chaos/d2chaos_test.go b/d2chaos/d2chaos_test.go index d5ac6a17d..8b73e4e82 100644 --- a/d2chaos/d2chaos_test.go +++ b/d2chaos/d2chaos_test.go @@ -123,7 +123,7 @@ func test(t *testing.T, textPath, text string) { err = g.SetDimensions(nil, ruler, nil) assert.Nil(t, err) - err = d2dagrelayout.Layout(ctx, g) + err = d2dagrelayout.DefaultLayout(ctx, g) if err != nil { t.Fatal(err) } diff --git a/d2exporter/export_test.go b/d2exporter/export_test.go index ca813d2b1..613090be5 100644 --- a/d2exporter/export_test.go +++ b/d2exporter/export_test.go @@ -239,7 +239,7 @@ func run(t *testing.T, tc testCase) { err = g.SetDimensions(nil, ruler, nil) assert.JSON(t, nil, err) - err = d2sequence.Layout(ctx, g, d2dagrelayout.Layout) + err = d2sequence.Layout(ctx, g, d2dagrelayout.DefaultLayout) if err != nil { t.Fatal(err) } diff --git a/d2layouts/d2dagrelayout/layout.go b/d2layouts/d2dagrelayout/layout.go index a6cb68e84..9969d2080 100644 --- a/d2layouts/d2dagrelayout/layout.go +++ b/d2layouts/d2dagrelayout/layout.go @@ -61,6 +61,10 @@ type dagreOpts struct { ConfigurableOpts } +func DefaultLayout(ctx context.Context, g *d2graph.Graph) (err error) { + return Layout(ctx, g, nil) +} + func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err error) { if opts == nil { opts = &DefaultOpts diff --git a/d2layouts/d2elklayout/layout.go b/d2layouts/d2elklayout/layout.go index 384d877e5..253310c61 100644 --- a/d2layouts/d2elklayout/layout.go +++ b/d2layouts/d2elklayout/layout.go @@ -103,6 +103,10 @@ type elkOpts struct { ConfigurableOpts } +func DefaultLayout(ctx context.Context, g *d2graph.Graph) (err error) { + return Layout(ctx, g, nil) +} + func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err error) { if opts == nil { opts = &DefaultOpts diff --git a/d2renderers/d2sketch/sketch_test.go b/d2renderers/d2sketch/sketch_test.go index e033bedfe..c2b8dadea 100644 --- a/d2renderers/d2sketch/sketch_test.go +++ b/d2renderers/d2sketch/sketch_test.go @@ -314,7 +314,7 @@ func run(t *testing.T, tc testCase) { diagram, _, err := d2lib.Compile(ctx, tc.script, &d2lib.CompileOptions{ Ruler: ruler, ThemeID: 0, - Layout: d2dagrelayout.Layout, + Layout: d2dagrelayout.DefaultLayout, FontFamily: go2.Pointer(d2fonts.HandDrawn), }) if !tassert.Nil(t, err) { diff --git a/d2renderers/d2svg/appendix/appendix_test.go b/d2renderers/d2svg/appendix/appendix_test.go index a4105c38e..74a6f327f 100644 --- a/d2renderers/d2svg/appendix/appendix_test.go +++ b/d2renderers/d2svg/appendix/appendix_test.go @@ -121,7 +121,7 @@ func run(t *testing.T, tc testCase) { diagram, _, err := d2lib.Compile(ctx, tc.script, &d2lib.CompileOptions{ Ruler: ruler, ThemeID: 0, - Layout: d2dagrelayout.Layout, + Layout: d2dagrelayout.DefaultLayout, }) if !tassert.Nil(t, err) { return diff --git a/docs/examples/lib/1-d2lib/d2lib.go b/docs/examples/lib/1-d2lib/d2lib.go index 3b0114c88..af2b98674 100644 --- a/docs/examples/lib/1-d2lib/d2lib.go +++ b/docs/examples/lib/1-d2lib/d2lib.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "path/filepath" + "oss.terrastruct.com/d2/d2graph" "oss.terrastruct.com/d2/d2layouts/d2dagrelayout" "oss.terrastruct.com/d2/d2lib" "oss.terrastruct.com/d2/d2renderers/d2svg" @@ -15,8 +16,11 @@ import ( // Remember to add if err != nil checks in production. func main() { ruler, _ := textmeasure.NewRuler() + defaultLayout := func(ctx context.Context, g *d2graph.Graph) error { + return d2dagrelayout.Layout(ctx, g, nil) + } diagram, _, _ := d2lib.Compile(context.Background(), "x -> y", &d2lib.CompileOptions{ - Layout: d2dagrelayout.Layout, + Layout: defaultLayout, Ruler: ruler, ThemeID: d2themescatalog.GrapeSoda.ID, }) diff --git a/docs/examples/lib/2-d2oracle/d2oracle.go b/docs/examples/lib/2-d2oracle/d2oracle.go index 1f265a05e..617943e15 100644 --- a/docs/examples/lib/2-d2oracle/d2oracle.go +++ b/docs/examples/lib/2-d2oracle/d2oracle.go @@ -17,7 +17,7 @@ func main() { // From one.go ruler, _ := textmeasure.NewRuler() _, graph, _ := d2lib.Compile(context.Background(), "x -> y", &d2lib.CompileOptions{ - Layout: d2dagrelayout.Layout, + Layout: d2dagrelayout.DefaultLayout, Ruler: ruler, ThemeID: d2themescatalog.GrapeSoda.ID, }) diff --git a/docs/examples/lib/3-lowlevel/lowlevel.go b/docs/examples/lib/3-lowlevel/lowlevel.go index 1ad6443b0..1912137f4 100644 --- a/docs/examples/lib/3-lowlevel/lowlevel.go +++ b/docs/examples/lib/3-lowlevel/lowlevel.go @@ -19,7 +19,7 @@ func main() { graph, _ := d2compiler.Compile("", strings.NewReader("x -> y"), nil) ruler, _ := textmeasure.NewRuler() _ = graph.SetDimensions(nil, ruler, nil) - _ = d2dagrelayout.Layout(context.Background(), graph) + _ = d2dagrelayout.Layout(context.Background(), graph, nil) diagram, _ := d2exporter.Export(context.Background(), graph, d2themescatalog.NeutralDefault.ID, nil) out, _ := d2svg.Render(diagram, &d2svg.RenderOpts{ Pad: d2svg.DEFAULT_PADDING, diff --git a/e2etests/e2e_test.go b/e2etests/e2e_test.go index 994770426..dcca4bba2 100644 --- a/e2etests/e2e_test.go +++ b/e2etests/e2e_test.go @@ -130,9 +130,9 @@ func run(t *testing.T, tc testCase) { for _, layoutName := range layoutsTested { var layout func(context.Context, *d2graph.Graph) error if layoutName == "dagre" { - layout = d2dagrelayout.Layout + layout = d2dagrelayout.DefaultLayout } else if layoutName == "elk" { - layout = d2elklayout.Layout + layout = d2elklayout.DefaultLayout } diagram, _, err := d2lib.Compile(ctx, tc.script, &d2lib.CompileOptions{ Ruler: ruler,