From 0300b81c31778a1648d9a0d26f1a2052b9578ff5 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Tue, 6 Jun 2023 14:52:54 -0700 Subject: [PATCH] d2parser: Strip leading ./ from imports --- d2format/format_test.go | 8 ++++++++ d2parser/parse.go | 7 +++++++ 2 files changed, 15 insertions(+) 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