diff --git a/d2format/format_test.go b/d2format/format_test.go index 1a190db48..52a1a6c16 100644 --- a/d2format/format_test.go +++ b/d2format/format_test.go @@ -633,6 +633,14 @@ x: @file.d2 x: @file."d2" `, exp: `x: @file."d2" +`, + }, + { + name: "import/3", + in: ` +x: @./file +`, + exp: `x: @file `, }, } diff --git a/d2parser/parse.go b/d2parser/parse.go index f388d4926..53286665a 100644 --- a/d2parser/parse.go +++ b/d2parser/parse.go @@ -1720,6 +1720,13 @@ func (p *parser) parseImport(spread bool) *d2ast.Import { imp.Range.Start = imp.Range.Start.SubtractString("...", p.utf16) } + s, eof := p.peekn(2) + if eof || s != "./" { + p.rewind() + } else { + p.commit() + } + k := p.parseKey() if k == nil { return imp