Commit graph

65 commits

Author SHA1 Message Date
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
Alexander Wang
5afc712455
dont modify ast when modifying links 2023-08-13 10:15:13 -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
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
5d4d9c5c17
import tests 2023-07-11 17:37:39 -07:00
Alexander Wang
92d87b553f
new implementation 2023-07-11 17:19:34 -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
08cc907f07
more test 2023-07-10 22:22:04 -07:00
Alexander Wang
7973e4927d
change test expected behavior 2023-06-27 13:36:33 -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
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
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
Alexander Wang
e03e19b28b
ta=1 2023-05-05 09:18:25 -07:00