From c57d0ee25204d4708bc58b648a77a12123221a5a Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Tue, 14 Feb 2023 15:37:07 -0800 Subject: [PATCH] fix d2oracle --- d2oracle/edit.go | 8 +++++++- d2oracle/edit_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/d2oracle/edit.go b/d2oracle/edit.go index 1d3103a28..9fe1c5389 100644 --- a/d2oracle/edit.go +++ b/d2oracle/edit.go @@ -2066,7 +2066,13 @@ func hasSpace(tag string) bool { } func getMostNestedRefs(obj *d2graph.Object) []d2graph.Reference { - most := obj.References[0] + var most d2graph.Reference + for _, ref := range obj.References { + if len(ref.MapKey.Edges) == 0 { + most = ref + break + } + } for _, ref := range obj.References { if len(ref.MapKey.Edges) != 0 { continue diff --git a/d2oracle/edit_test.go b/d2oracle/edit_test.go index 02669c453..4c6a16cae 100644 --- a/d2oracle/edit_test.go +++ b/d2oracle/edit_test.go @@ -2001,6 +2001,32 @@ c: { assert.JSON(t, len(g.Objects), 3) }, }, + { + name: "underscore-connection", + + text: `a: { + b + + _.c.d -> b +} + +c: { + d +} +`, + key: `a.b`, + newKey: `c.b`, + + exp: `a: { + _.c.d -> _.c.b +} + +c: { + d + b +} +`, + }, { name: "flat_middle_container",