d2parser: Fix #322
This commit is contained in:
parent
1c2a7e5440
commit
84cc463ff6
3 changed files with 62 additions and 5 deletions
|
|
@ -3,3 +3,5 @@
|
|||
#### Improvements 🧹
|
||||
|
||||
#### Bugfixes ⛑️
|
||||
|
||||
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
|
||||
|
|
|
|||
|
|
@ -1063,6 +1063,15 @@ func (p *parser) parseUnquotedString(inKey bool) (s *d2ast.UnquotedString) {
|
|||
if eof {
|
||||
return s
|
||||
}
|
||||
switch r2 {
|
||||
case '\n', ';', '#', '{', '}', '[', ']':
|
||||
p.rewind()
|
||||
p.peek()
|
||||
p.commit()
|
||||
sb.WriteRune(r)
|
||||
rawb.WriteRune(r)
|
||||
return s
|
||||
}
|
||||
if r2 == '-' || r2 == '>' || r2 == '*' {
|
||||
p.rewind()
|
||||
return s
|
||||
|
|
|
|||
56
testdata/d2parser/TestParse/merged_shapes_#322.exp.json
generated
vendored
56
testdata/d2parser/TestParse/merged_shapes_#322.exp.json
generated
vendored
|
|
@ -4,17 +4,63 @@
|
|||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-4:0:10",
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-1:2:3",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-4:0:10",
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-1:2:3",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-3:1:8",
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,1:0:1-1:1:2",
|
||||
"value": [
|
||||
{
|
||||
"string": "a-\nb-\nc-",
|
||||
"raw_string": "a-\nb-\nc-"
|
||||
"string": "a-",
|
||||
"raw_string": "a-"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,2:0:4-2:2:6",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,2:0:4-2:2:6",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,2:0:4-2:1:5",
|
||||
"value": [
|
||||
{
|
||||
"string": "b-",
|
||||
"raw_string": "b-"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,3:0:7-3:2:9",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,3:0:7-3:2:9",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2parser/TestParse/merged_shapes_#322.d2,3:0:7-3:1:8",
|
||||
"value": [
|
||||
{
|
||||
"string": "c-",
|
||||
"raw_string": "c-"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue