preserve comment spacing in autofmt

This commit is contained in:
Alexander Wang 2022-12-07 08:28:40 -08:00
parent e993bb1071
commit a354ae574e
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
3 changed files with 21 additions and 1 deletions

View file

@ -5,6 +5,9 @@
#### Improvements 🧹 #### Improvements 🧹
- Fmt now preserves leading comment spacing.
[#400](https://github.com/terrastruct/d2/issues/400)
#### Bugfixes ⛑️ #### Bugfixes ⛑️
- Fixed crash when sequence diagrams had no messages. - Fixed crash when sequence diagrams had no messages.

View file

@ -81,7 +81,7 @@ func (p *printer) comment(c *d2ast.Comment) {
lines := strings.Split(c.Value, "\n") lines := strings.Split(c.Value, "\n")
for i, line := range lines { for i, line := range lines {
p.sb.WriteString("#") p.sb.WriteString("#")
if line != "" && !strings.HasPrefix(line, " ") { if line != "" {
p.sb.WriteByte(' ') p.sb.WriteByte(' ')
} }
p.sb.WriteString(line) p.sb.WriteString(line)

View file

@ -592,6 +592,23 @@ hi # Fraud is the homage that force pays to reason.
in: `x: {} in: `x: {}
`, `,
exp: `x exp: `x
`,
},
{
name: "leading_space_comments",
in: `# foo
# foobar
# baz
x -> y
#foo
y
`,
exp: `# foo
# foobar
# baz
x -> y
# foo
y
`, `,
}, },
} }