Commit graph

551 commits

Author SHA1 Message Date
Alexander Wang
f55dd43303
d2oracle: fix deleting nested board 2024-03-24 14:47:33 -07:00
Alexander Wang
4ffe2409a7
validate position keywords 2024-03-15 15:26:00 -07:00
Alexander Wang
382f498688
add shape hierarchy 2024-03-15 10:00:40 -07:00
Alexander Wang
3f84ca08f5
Merge pull request #1868 from alixander/d2oracle-label-class
d2oracle: fix set with classes setting labels
2024-03-14 09:57:04 -07:00
Alexander Wang
86549a0b56
d2oracle: fix set with classes setting labels 2024-03-14 09:50:29 -07:00
Alexander Wang
3b87b73dd9
d2oracle: fix deleting imported fields 2024-03-07 13:07:35 -08:00
Alexander Wang
453c24388a
d2ir: fix glob applications on edges 2024-03-06 22:50:42 -08:00
Alexander Wang
113db2fc38
delete nested label/icon fields 2024-03-04 17:32:05 -08:00
Alexander Wang
49a42edeec
prevent near special 2024-02-27 13:17:32 -08:00
Alexander Wang
9444a632eb
fix again 2024-02-26 20:08:44 -08:00
Alexander Wang
c8fcd11cd4
fix arrowhead fill 2024-02-26 17:52:25 -08:00
Alexander Wang
3563b15933
no inheriting label 2024-02-14 18:01:31 -08:00
Alexander Wang
77aa38b0ef
fix label near setting 2024-02-14 14:18:50 -08:00
Alexander Wang
994a67de14
fix deleting imported attributes 2024-02-10 10:43:43 -08:00
Alexander Wang
706951b85b
fix d2oracle.set on imported edge 2024-02-09 11:49:25 -08:00
Alexander Wang
3129df1c02
fix deleting imported edge 2024-02-09 10:34:25 -08:00
Alexander Wang
0d9328b9e5
fix nested connection implicit delete 2024-02-08 22:28:32 -08:00
Alexander Wang
b5bfb09e51
d2oralce handle deleting imported 2024-02-03 14:27:54 -08:00
Alexander Wang
35dd25c72f
merge 2024-01-21 11:47:26 -08:00
Alexander Wang
9a272cb3f7
fix d2oracle editing an imported board 2024-01-21 11:47:17 -08:00
Alexander Wang
db1155ebcd
fix board style set 2024-01-04 11:48:01 -08:00
Alexander Wang
99c4215548
fix set with imports 2024-01-02 13:23:52 -08:00
Alexander Wang
fcaba26a28
add test, switch to mapfs 2024-01-02 13:22:56 -08:00
Alexander Wang
a098ba80ec
validate 2023-12-14 11:35:49 -08:00
Alexander Wang
6a4c7a51f8
d2ir: fix merging boards with array composites 2023-12-07 08:52:55 -08:00
Alexander Wang
12b166b398
globs: fix imported case 2023-12-05 13:42:43 -08:00
Alexander Wang
7d36a57b04
globs: fix ampersand outside glob 2023-11-26 18:27:40 -08:00
Alexander Wang
87736b1f11
d2ir: fix glob edge with common glob 2023-11-08 15:02:09 -08:00
Alexander Wang
ffe5a1fe86
compiler: fix vars crashing. Change scoping behavior 2023-11-01 12:26:17 -07:00
Alexander Wang
5c6a94a6ca
compiler: Fix compiler errors of keys in globs 2023-10-31 15:55:25 -07:00
Gavin Nishizawa
7e93c58df8
test now passes 2023-10-27 21:02:13 -07:00
Michał Wieluński
448b51c345
fix invisible null constraints in sql_table
fixes #1655
2023-10-13 10:33:38 +02:00
Gavin Nishizawa
142f637b6a
add compile test 2023-10-05 13:11:03 -07:00
Gavin Nishizawa
501f44b13f
update compile test 2023-10-02 11:05:20 -07:00
Gavin Nishizawa
2a9acd06aa
cleanup validation 2023-10-02 11:05:19 -07:00
Gavin Nishizawa
17f2545e75
improve grid edge validation, messages, and test 2023-09-28 13:55:20 -07:00
Gavin Nishizawa
3aed2c4110
update compile test 2023-09-28 13:55:19 -07:00
Alexander Wang
2490b449e5
Merge pull request #1606 from alixander/nested-import
Fix link paths in nested imports
2023-09-25 11:55:31 -07:00
Gavin Nishizawa
20190c1224
add test 2023-09-22 20:01:31 -07:00
Gavin Nishizawa
095e23ddad
save test 2023-09-18 14:03:32 -07:00
Alexander Wang
0c230f6eb5
Fix link paths in nested imports 2023-09-14 07:22:34 -07:00
Gavin Nishizawa
fc06b09df6
validate nested grid edges (not implemented yet) 2023-09-13 20:27:17 -07:00
Gavin Nishizawa
64313e1787
restrict edges in grid diagrams to between direct children (nested not implemented yet) 2023-09-12 22:17:57 -07:00
Gavin Nishizawa
46bd6aeee5
edge case of edges on grid container 2023-09-12 17:08:34 -07:00
Gavin Nishizawa
5c50f41ce9
update grid edge validation 2023-09-12 16:07:57 -07:00
Anmol Sethi
64c2c8467a
d2ir: Fixup lazy globs across imports 2023-09-04 15:28:55 -07:00
Anmol Sethi
b1f9083ba1
d2ir: Make globs work through imports 2023-09-03 23:18:05 -07:00
Anmol Sethi
d03082d84d
d2ir: Fix Alex's null glob problem 2023-08-30 05:23:35 -07:00
Anmol Sethi
4523b503a7
d2ir: Ensure new scenario map doesn't re overlay 2023-08-30 04:38:35 -07:00
Anmol Sethi
88b885a753
d2ir: Ensure filters pass before setting primary 2023-08-30 00:37:03 -07:00
Anmol Sethi
47d671209a
d2ir: More alex fixes 2023-08-30 00:37:03 -07:00
Anmol Sethi
eed3f7eb21
d2ir: Many more glob fixes 2023-08-30 00:37:03 -07:00
Anmol Sethi
57ffc8dbbd
d2ir: Filter glob creation of edges with edge index where appropriate
On query globs, filtering without the edge index overfilters as we only match
one of the edge instead all of them.
2023-08-30 00:37:03 -07:00
Anmol Sethi
69df741a6b
d2ir: Remove stale testdata 2023-08-30 00:37:03 -07:00
Anmol Sethi
2efd87f059
d2ir: Add label filter exception for edges too 2023-08-30 00:37:03 -07:00
Anmol Sethi
1800ae3448
d2ir: Add exception for &label filter 2023-08-30 00:37:03 -07:00
Anmol Sethi
976ec17476
d2ir: Prevent globs from overriding any fields set by non globs 2023-08-30 00:37:03 -07:00
Anmol Sethi
aba28d365a
d2ir: More alixander identified lazy glob bugs 2023-08-30 00:37:03 -07:00
Anmol Sethi
d90f8253df
d2ir: Fix lazy globs being applied in reverse 2023-08-30 00:37:03 -07:00
Anmol Sethi
8455a7da8d
d2ir: Fix another lazy glob bug found by Alex 2023-08-30 00:37:03 -07:00
Anmol Sethi
a24716d1f1
d2ir: Fix infinite loop in triple globs 2023-08-30 00:37:03 -07:00
Anmol Sethi
4090e780f8
d2ir: Prevent triple globs from applying at a board root 2023-08-30 00:37:03 -07:00
Anmol Sethi
89b400b8f1
d2ir: Alixander review lazy glob fixes 2023-08-30 00:37:03 -07:00
Anmol Sethi
bb6b176dee
d2ir: Implement lazy globs and triple glob
This finishes up the globs implementation!

See tests for what I mean by lazy globs and what the triple glob does.
2023-08-30 00:37:03 -07:00
Anmol Sethi
387c33660f
d2parser: Add not ampersand support
See #1567
2023-08-30 00:02:52 -07:00
Alexander Wang
5afc712455
dont modify ast when modifying links 2023-08-13 10:15:13 -07:00
Alexander Wang
2ae4a75d14
nulls at end 2023-08-10 10:58:55 -07:00
Alexander Wang
e7a6a356ce
d2oracle fix imports 2023-08-05 13:25:30 -07:00
Alexander Wang
bae5705674
setup imports with tests 2023-08-04 20:16:25 -07:00
Anmol Sethi
203953723e
d2parser: Autodetect UTF-16 based on BOM
Turns out I was wrong this is safe.
2023-08-02 11:10:24 -07:00
Anmol Sethi
b81da1ee62
d2parser: Support reading utf16 files 2023-08-02 09:56:35 -07:00
Anmol Sethi
d0d3ebe17e
d2ir: Fix filters on nested fields
See test on edges
2023-07-30 13:16:56 -07:00
Anmol Sethi
7ae2d78834
d2ir: Add filtering on class arrays 2023-07-30 12:41:29 -07:00
Anmol Sethi
6b73a61bd2
d2ir: Add filter error tests 2023-07-30 12:41:29 -07:00
Anmol Sethi
43166110b8
d2ir: Add single field filtering
See test.
2023-07-30 12:41:29 -07:00
Anmol Sethi
0002817b0a
d2ir: Implement ampersand filters 2023-07-30 12:41:29 -07:00
Anmol Sethi
6ca36e6b0c
d2ir: Glob review fixes 2023-07-30 12:41:15 -07:00
Anmol Sethi
6fdf4b07a5
d2ir: Make double globs work sanely across boards
See test.
2023-07-30 03:15:33 -07:00
Anmol Sethi
9c37d6dcfb
d2ir: Make globs more ergonomic in two specific edge cases
Were identified from @alixander writing documentation.
2023-07-30 01:27:49 -07:00
Anmol Sethi
bd2c94f7a8
d2ir: Make suffix globs case insensitive too 2023-07-29 21:33:41 -07:00
Anmol Sethi
63efa12160
d2ir: Fix globs to not match reserved 2023-07-29 16:57:25 -07:00
Anmol Sethi
ff47a00abf
d2ir: Make globs case insensitive to match the rest of the language
note: I personally wish to change the language and make it case sensitive.
2023-07-29 16:57:25 -07:00
Anmol Sethi
95667750e0
d2ir: Fix and add test for glob-edge-glob-index 2023-07-29 16:57:25 -07:00
Anmol Sethi
b119174a09
d2ir: Fix implementation of Map.createEdge 2023-07-29 16:57:25 -07:00
Anmol Sethi
0d2b0aa99c
d2ir: Implement edge index globs 2023-07-29 16:57:25 -07:00
Anmol Sethi
d9b4b952ee
d2ir: Implement double globs 2023-07-29 16:57:25 -07:00
Anmol Sethi
1217ff35a7
d2ir: Add single glob matching to edges and make it work fully recursively 2023-07-29 16:57:25 -07:00
Anmol Sethi
359976e5d4
d2ir: Add single level field glob patterns 2023-07-29 16:57:25 -07:00
Alexander Wang
fb542087f7
folder check 2023-07-29 10:12:13 -07:00
Alexander Wang
45b396c894
config vars 2023-07-20 16:08:08 -07:00
Anmol Sethi
a79e963f3e
d2ir: Fix variables to passthrough primary type
If the variable is a number it should be parsed as a number and not coerced into a string.
See test change.
2023-07-18 14:58:22 -07:00
Alexander Wang
d275a45033
allow edges in vars 2023-07-13 14:47:32 -07:00
Alexander Wang
29af92310b
fix no-primary-composite 2023-07-13 14:11:14 -07:00
Alexander Wang
4847714c3c
fix compiler creating vars 2023-07-13 12:24:48 -07:00
Alexander Wang
fb0c0d20ed
nested null 2023-07-13 10:22:37 -07:00
Alexander Wang
a54907e28a
remove overlayVars 2023-07-13 10:16:41 -07:00
Alexander Wang
eba41af47d
use scalarstring 2023-07-13 10:13:26 -07:00
Alexander Wang
780345beeb
fix double quote primary 2023-07-13 10:11:08 -07:00
Alexander Wang
ffdb5121f4
err msg 2023-07-13 08:37:22 -07:00
Alexander Wang
ef11d47fc8
null 2023-07-13 08:35:16 -07:00
Alexander Wang
301bc8ddfb
add precedent test 2023-07-12 23:01:11 -07:00
Alexander Wang
98f79e2ba5
arrays 2023-07-12 22:20:55 -07:00
Alexander Wang
4b7b636657
spread 2023-07-12 14:53:28 -07:00
Alexander Wang
85bfad19a6
compile composites 2023-07-12 11:55:58 -07:00
Alexander Wang
63dbaf0935
pr changes 2023-07-11 23:26:06 -07:00
Alexander Wang
67a06b6557
var-in-var 2023-07-11 18:05:03 -07:00
Alexander Wang
5d4d9c5c17
import tests 2023-07-11 17:37:39 -07:00
Alexander Wang
af69e6f626
edge cases 2023-07-11 17:33:01 -07:00
Alexander Wang
92d87b553f
new implementation 2023-07-11 17:19:34 -07:00
Alexander Wang
85cf491d74
quotes 2023-07-11 14:56:09 -07:00
Alexander Wang
78e9e4565e
only coalesce if subbed 2023-07-11 13:52:29 -07:00
Alexander Wang
22bd50a7ef
tests 2023-07-11 13:45:58 -07:00
Alexander Wang
b193b9be8a
cleanup 2023-07-11 13:44:00 -07:00
Alexander Wang
741a9aa306
cleanup 2023-07-11 13:40:44 -07:00
Alexander Wang
090d10e9ca
handle interpolation 2023-07-11 13:32:07 -07:00
Alexander Wang
e7e2566564
save 2023-07-11 11:19:50 -07:00
Alexander Wang
08cc907f07
more test 2023-07-10 22:22:04 -07:00
Alexander Wang
0347dff7a4
more tests 2023-07-10 22:02:58 -07:00
Alexander Wang
acdbfddf23
add replace tests 2023-07-10 21:56:10 -07:00
Alexander Wang
7269ee1706
add overlay tests 2023-07-10 21:54:34 -07:00
Alexander Wang
fd70b5ef46
layers work 2023-07-10 21:32:30 -07:00
Alexander Wang
05802edb07
edge label working 2023-07-10 21:18:18 -07:00
Alexander Wang
c9793b9a87
label works 2023-07-10 19:24:21 -07:00
Alexander Wang
db051a95b6
pr fixes 2023-07-03 15:58:22 -07:00
Alexander Wang
2cce7a89c8
Revert "portal keyword"
This reverts commit 92cfc5c40a.
2023-07-01 20:31:45 -07:00
Alexander Wang
92cfc5c40a
portal keyword 2023-07-01 16:36:33 -07:00
Alexander Wang
6e972c3472
prepend instead 2023-06-28 14:04:44 -07:00
Alexander Wang
44b76c371f
nulls in delete 2023-06-27 15:28:38 -07:00
Alexander Wang
7973e4927d
change test expected behavior 2023-06-27 13:36:33 -07:00
Alexander Wang
0749d4fb41
attribute 2023-06-26 12:15:24 -07:00
Alexander Wang
1acc3d685a
new implementation 2023-06-26 11:57:18 -07:00
Alexander Wang
905a9317a2
fix 2023-06-26 10:51:07 -07:00
Alexander Wang
02fa36d598
save 2023-06-26 10:36:12 -07:00
Alexander Wang
09d1ec6314
reimplement 2023-06-25 23:10:56 -07:00
Alexander Wang
757f292a20
edge works 2023-06-25 20:36:10 -07:00
Alexander Wang
6749115ce2
reappear works 2023-06-25 18:59:53 -07:00
Alexander Wang
48bb6df3fe
save 2023-06-25 18:43:30 -07:00
Alexander Wang
3d69eefc68
reconnect 2023-06-25 15:43:07 -07:00
Alexander Wang
1cd3116747
rename 2023-06-25 12:11:13 -07:00
Alexander Wang
80ddea94fa
set on edge. fix arrowhead setting case 2023-06-25 11:51:21 -07:00
Alexander Wang
6f9e478f59
label and icon position attributes 2023-06-22 16:13:08 -07:00
Alexander Wang
9fce113619
tests 2023-06-20 18:58:04 -07:00
Alexander Wang
a1df49c21e
cleanup 2023-06-20 18:56:04 -07:00
Alexander Wang
1a9d1ffefb
basic move 2023-06-20 18:56:03 -07:00
Alexander Wang
975b27f2eb
basic delete 2023-06-20 18:56:03 -07:00
Alexander Wang
05f1f6005e
fix primary setting 2023-06-20 18:56:03 -07:00
Alexander Wang
21d2c44413
set wip 2023-06-20 18:56:03 -07:00
Alexander Wang
b2cb2d15ac
more tests 2023-06-20 18:56:02 -07:00
Alexander Wang
a25f418c12
new implementation 2023-06-20 18:56:02 -07:00
Alexander Wang
3aed9f59c9
use baseAST, add basic tests 2023-06-20 18:56:02 -07:00
Alexander Wang
c790ddd172
fix 2023-06-18 11:19:37 -07:00
Alexander Wang
77911aa313
Merge pull request #1414 from alixander/board-ast
use right AST for nested board
2023-06-17 22:22:57 -07:00
Alexander Wang
b30f9702bd
fix shape composite 2023-06-16 16:50:16 -07:00
Alexander Wang
64daf4643f
use right AST 2023-06-16 16:23:57 -07:00
Alexander Wang
8b8afb2638
fix idval edge case 2023-06-12 11:26:51 -07:00
Gavin Nishizawa
324a38d285
update test 2023-06-09 14:11:56 -07:00
Alexander Wang
a283e619bb
prevent bad constraint usage 2023-06-08 11:07:46 -07:00
Alexander Wang
538812f928
Merge branch 'master' into imports 2023-06-07 15:38:52 -07:00
Alexander Wang
424f671d54
add test exercising steps/scenarios 2023-06-06 22:52:17 -07:00
Anmol Sethi
986f069c18
d2ir: Fix link paths to be unquoted strings
Allows for simpler manipulation.
2023-06-06 22:37:56 -07:00
Alexander Wang
0d4392eac2
add class array footgun 2023-06-06 20:24:47 -07:00
Anmol Sethi
7f0450121a
d2ir: Handle imported scenarios/steps/links 2023-06-06 16:49:12 -07:00
Anmol Sethi
a5d3cc1429
d2parser: Parse and format @../file imports correctly 2023-06-06 16:15:01 -07:00
Anmol Sethi
35bf5d2c41
d2parser: Fix non file map range not including last brace 2023-06-06 15:48:14 -07:00
Anmol Sethi
de0a863e9f
d2: Fix nested import spread ghost container bug 2023-06-06 15:09:27 -07:00
Anmol Sethi
bc8f180055
d2parser: Error on unquoted strings starting with ...@ 2023-06-06 14:47:40 -07:00
Anmol Sethi
b4d5bc0be1
d2parser: Error on leading @ in non import key strings 2023-06-06 14:06:59 -07:00
Anmol Sethi
10c6d2af71
d2parser: Fix bad import key panic 2023-06-06 14:01:32 -07:00
Anmol Sethi
42706f8b64
d2ir: More import tests 2023-06-06 13:07:30 -07:00
Anmol Sethi
2fcc9ed140
d2ir: Compile imports
Works as so:

index.d2:
```d2
x: @x
```

x.d2:
```d2
label: meow
shape: circle
```

TODO:

- [ ] Correctly import into fields by handling the scenarios/steps overlay.
      - And links.
- [ ] Test every kind of import.
2023-06-04 23:31:18 -07:00
Anmol Sethi
f61409cb79
d2parser: Allow passing in ParseError for nicer error messages in imports 2023-06-04 23:31:18 -07:00
satoqz
665844db39
TA=1 2023-06-03 14:05:18 +02:00
Bernard Xie
69b816c1b4
Merge pull request #1364 from berniexie/no-empty-block-strings
compile: no empty block strings
2023-06-02 11:30:08 -07:00
Bernard Xie
cd09aba54f
trim space 2023-06-02 10:42:44 -07:00
Alexander Wang
e6750a99b6
fix renameiddelta 2023-06-01 19:42:40 -07:00
Bernard Xie
1a6b1a4084
add test 2023-06-01 18:48:37 -07:00
Alexander Wang
6d2b77170b
fix arrowhead overriding 2023-06-01 17:11:11 -07:00
Alexander Wang
e998a95b96
d2ir: prevent illegal non-tail keywords 2023-05-31 23:04:09 -07:00
Anmol Sethi
c325e94cad
d2parser: Allow .d2 extension on quoted import strings 2023-05-30 15:56:01 -07:00
Anmol Sethi
89e1e324d7
d2parser: Add imports support
Includes rewriting @file.d2 to @file
2023-05-30 15:44:35 -07:00
Alexander Wang
bbc37d74fd
return newkey in rename 2023-05-27 17:21:57 -07:00
Alexander Wang
877ff5d9f2
fix underscore again 2023-05-24 16:14:55 -07:00
Alexander Wang
3afbf724f0
fix 2023-05-16 10:45:35 -07:00
Alexander Wang
503a31e034
fix 2023-05-12 16:18:50 -07:00
gavin-ts
9664fd6b7d
Merge pull request #1309 from gavin-ts/nested-layout
layout with nested grids
2023-05-10 17:29:43 -07:00
Alexander Wang
677a8daa13
fix underscore 2023-05-10 16:27:08 -07:00
Gavin Nishizawa
590a18c8bd
update compile test 2023-05-10 12:57:40 -07:00
Alexander Wang
38d344c626
fix underscore regression 2023-05-10 12:27:08 -07:00
Alexander Wang
5520c0bca6
fix map carry 2023-05-09 17:17:18 -07:00
Alexander Wang
acf239d59a
fix underscores 2023-05-09 14:24:42 -07:00
Alexander Wang
c40fce1483
preserve attr 2023-05-09 12:39:00 -07:00
Alexander Wang
aa7cd3f973
fix sibling conflict 2023-05-08 22:26:13 -07:00
Alexander Wang
0124b68780
fix again 2023-05-08 18:45:36 -07:00
Alexander Wang
49828667f7
min/max 2023-05-08 17:49:04 -07:00
Alexander Wang
bb465277c5
fix move container 2023-05-08 14:32:11 -07:00
Alexander Wang
7301cb3699
tests 2023-05-07 16:10:21 -07:00
Alexander Wang
43b206cde8
move container 2023-05-07 16:09:57 -07:00
Alexander Wang
eb30d8af90
rebase and TA=1 2023-05-05 09:21:28 -07:00
Alexander Wang
e03e19b28b
ta=1 2023-05-05 09:18:25 -07:00
Anmol Sethi
e6b52a357f
d2parser: Pass whitespace_range test
Closes #1279
2023-05-05 09:18:25 -07:00