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