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
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
507b2d622e
d2ir: Add IDA support for edges
...
Not perfectly robust but good enough for now without massive refactor.
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
Alexander Wang
5afc712455
dont modify ast when modifying links
2023-08-13 10:15:13 -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
82663f0445
d2ir: Explain EnsureField misnomer
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
210816a42b
d2ir: Fix _ with null
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
64fcb02ae3
fix nested links imported
2023-07-26 23:10:41 -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
e95f61985e
fix import test
2023-07-13 14:41:06 -07:00
Alexander Wang
f12f9ca69d
move edge check
2023-07-13 14:34:33 -07:00
Alexander Wang
29af92310b
fix no-primary-composite
2023-07-13 14:11:14 -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
06ed41ecae
remove dead code
2023-07-13 08:36:28 -07:00
Alexander Wang
ef11d47fc8
null
2023-07-13 08:35:16 -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
d06e395e8d
overlayVars refactor
2023-07-12 10:27:32 -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
a6125c46ec
cleanup
2023-07-11 14:01:35 -07:00
Alexander Wang
78e9e4565e
only coalesce if subbed
2023-07-11 13:52:29 -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
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
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
5be1f6c187
cleanup
2023-06-26 10:39:38 -07:00
Alexander Wang
09d1ec6314
reimplement
2023-06-25 23:10:56 -07:00
Alexander Wang
6749115ce2
reappear works
2023-06-25 18:59:53 -07:00
Alexander Wang
16a879e05b
cleanup
2023-06-20 18:56:04 -07:00
Alexander Wang
9351a2e2cd
cleanup
2023-06-20 18:56:04 -07:00
Alexander Wang
21d2c44413
set wip
2023-06-20 18:56:03 -07:00
Alexander Wang
1ff119d803
baseAST
2023-06-20 18:56:02 -07:00
Alexander Wang
64daf4643f
use right AST
2023-06-16 16:23:57 -07:00
Anmol Sethi
1f891a3c9e
d2ir: Fix for windows
...
Closes #1388
2023-06-09 19:45:31 -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
8857f46110
add failing test
2023-06-06 22:28:32 -07:00
Anmol Sethi
42cf8bed42
d2ir: Update cyclic import test
2023-06-06 22:16:14 -07:00
Anmol Sethi
7d9f8b6c08
d2ir: Update links after import
2023-06-06 22:13:49 -07:00
Anmol Sethi
47018488aa
d2ir: Fix pushImportStack
2023-06-06 17:14:49 -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
de0a863e9f
d2: Fix nested import spread ghost container bug
2023-06-06 15:09:27 -07:00
Anmol Sethi
10c6d2af71
d2parser: Fix bad import key panic
2023-06-06 14:01:32 -07:00
Anmol Sethi
111759f6bd
d2cli: Pass path for imports correctly
2023-06-06 13:44:41 -07:00
Anmol Sethi
ad21f1fbea
d2ir: Add more import error tests
2023-06-06 13:17:29 -07:00
Anmol Sethi
42706f8b64
d2ir: More import tests
2023-06-06 13:07:30 -07:00
Anmol Sethi
9f0c24f5d7
fmt
2023-06-04 23:32:14 -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
Alexander Wang
69f40ae9fb
fix
2023-05-31 23:28:33 -07:00
Alexander Wang
e998a95b96
d2ir: prevent illegal non-tail keywords
2023-05-31 23:04:09 -07:00
Alexander Wang
595fafc4c8
fix class
...
style validation
changelog
2023-04-27 11:48:07 -07:00
Alexander Wang
16478fd894
fix classes panic
2023-04-26 12:40:42 -07:00
Alexander Wang
e0b4c09df1
d2oracle: don't modify classes
2023-04-18 20:25:07 -07:00
Alexander Wang
305c72d239
implement classes
2023-04-07 09:57:51 -07:00
Alexander Wang
754e0ece80
use helpers
2023-04-06 21:02:12 -07:00
Alexander Wang
a2cffc9341
fix inheritence bug
2023-04-05 19:29:08 -07:00
Alexander Wang
60c912c605
compile reserved keys to lowercase in IR
2023-03-06 16:38:13 -08:00
Alexander Wang
81ce1f8209
pr feedback
2023-03-02 18:25:14 -08:00
Alexander Wang
d8b1e65386
disallow referring to root
2023-03-02 18:01:51 -08:00
Alexander Wang
78e6f3fc06
pr feedback
2023-03-02 17:56:32 -08:00
Alexander Wang
e504aca6d0
comment
2023-03-01 15:49:47 -08:00
Alexander Wang
85985bbaf5
ok
2023-03-01 15:38:02 -08:00
Alexander Wang
3a9745974c
save
2023-03-01 14:53:58 -08:00
Anmol Sethi
e4fac7840f
cli: Improve multiboard output
...
- Boards with subboards are now selfcontained folders with index.svg/png as
the root board render.
- Boards that are only containers of other boards are not rendered. For example a
scenario with no modifications and only steps only has its steps
rendered.
- Boards with sibling boards of another type are rendered under a
subdirectory indicating their type to separate them. For example a
board with layers and scenarios has its layers rendered into subfolder
layers and scenarios into subfolder scenarios.
cc @berniexie see BoardContainer field on d2target.Board for the field
you were looking for to skip renders for PDFs too.
2023-02-27 13:50:03 -08:00
Anmol Sethi
903bf7e206
Ignore BoardKeywords in d2graph and change d2ir.IDA to return from nearest board
2023-02-27 11:52:55 -08:00
Alexander Wang
a027564100
update
2023-02-22 16:21:16 -08:00
Alexander Wang
691b45733d
update
2023-02-22 14:59:05 -08:00
Alexander Wang
a0f8dbee22
fix steps panic
2023-02-22 13:43:24 -08:00
Alexander Wang
b41baddcee
pr comments
2023-02-14 21:26:29 -08:00
Alexander Wang
34b839c7bd
combine resolveUnderscore and trimCommon
2023-02-14 21:06:57 -08:00
Alexander Wang
40b4879f47
fix underscore bug in compiler
2023-02-14 16:45:55 -08:00
Alexander Wang
ef1dc4612d
check root another way
2023-02-09 19:02:21 -08:00
Anmol Sethi
8f58e4ca54
d2ir: Review fixes #714
2023-02-02 10:31:09 -08:00
Anmol Sethi
f056700152
d2ir: Review fixes #714
2023-01-27 17:19:12 -08:00
Anmol Sethi
dce4385644
d2ir: Review fixes #714
2023-01-27 12:37:08 -08:00
Anmol Sethi
b350399d66
d2ir: Complete integration across all packages
2023-01-24 03:24:35 -08:00
Anmol Sethi
7d011bab47
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:33 -08:00
Anmol Sethi
5af31670d1
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:32 -08:00
Anmol Sethi
566ea11db7
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:32 -08:00
Anmol Sethi
b900f63414
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:31 -08:00
Anmol Sethi
154c7e8947
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:30 -08:00
Anmol Sethi
3e7bdc5468
d2compiler: Integrate d2ir (wip)
2023-01-24 03:24:29 -08:00
Anmol Sethi
bd7b5c3fc0
d2ir: Add Map.CopyBase for better performance
2023-01-24 03:24:28 -08:00
Anmol Sethi
ece34aaf01
d2ir: Add recursive scenario/step test
2023-01-24 03:24:27 -08:00
Anmol Sethi
26a72e3e0c
d2ir: Add recursive scenario/step test
2023-01-24 03:24:27 -08:00
Anmol Sethi
4424a0f10e
d2ir: Fully implement scenarios/steps
2023-01-24 03:24:26 -08:00
Anmol Sethi
d239b8dad1
d2ir: Fully implement scenarios/steps
2023-01-24 03:24:26 -08:00
Anmol Sethi
7d89174a1b
d2ir: IR Root wip
2023-01-24 03:24:25 -08:00
Anmol Sethi
748557d8f2
d2ir: IR Root wip
2023-01-24 03:24:24 -08:00
Anmol Sethi
180334a8e1
d2ir: IR Root wip
2023-01-24 03:24:23 -08:00
Anmol Sethi
6e04ebb304
d2ir: IR Root wip
2023-01-24 03:24:22 -08:00
Anmol Sethi
29b936252b
d2ir: IR Root wip
2023-01-24 03:24:17 -08:00
Anmol Sethi
98ede1f586
d2ir: IR Root wip
2023-01-24 03:24:16 -08:00
Anmol Sethi
473d5ba582
d2ir: IR Root wip
2023-01-24 03:24:15 -08:00
Anmol Sethi
33ae53dc75
d2ir: IR Root wip
2023-01-24 03:24:14 -08:00
Anmol Sethi
5741e0a4f9
d2ir: IR Root wip
2023-01-24 03:24:13 -08:00
Anmol Sethi
25ea89fea3
d2ir: IR Root wip
2023-01-24 03:24:12 -08:00
Anmol Sethi
f7394133b9
d2ir: IR Root wip
2023-01-24 03:24:11 -08:00