From 37230c006ff7ad7df613cce6ae6f0c9a92bbabac Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Fri, 16 Jun 2023 05:20:03 +0300 Subject: [PATCH] grammar: add support of font attribute --- examples/classes.d2 | 34 -------------- examples/flipt.d2 | 94 +++++++++++++++++++++++++++++++++++++ grammar.js | 1 + src/grammar.json | 4 ++ src/node-types.json | 4 ++ src/parser.c | Bin 257392 -> 257906 bytes test/corpus/attributes.txt | 4 ++ tree-sitter-d2.wasm | Bin 71705 -> 71776 bytes 8 files changed, 107 insertions(+), 34 deletions(-) delete mode 100644 examples/classes.d2 create mode 100644 examples/flipt.d2 diff --git a/examples/classes.d2 b/examples/classes.d2 deleted file mode 100644 index 6ca1dcf..0000000 --- a/examples/classes.d2 +++ /dev/null @@ -1,34 +0,0 @@ -direction: right -classes: { - load balancer { - label: load\nbalancer - width: 100 - height: 200 - style: { - stroke-width: 0 - fill: "#44C7B1" - shadow: true - border-radius: 5 - } - } - unhealthy: { - style: { - fill: "#FE7070" - stroke: "#F69E03" - } - } -} - -web traffic -> web lb -web lb.class: load balancer - -web lb -> api1 -web lb -> api2 -web lb -> api3 - -api2.class: unhealthy - -api1 -> cache lb -api3 -> cache lb - -cache lb.class: load balancer diff --git a/examples/flipt.d2 b/examples/flipt.d2 new file mode 100644 index 0000000..e898f94 --- /dev/null +++ b/examples/flipt.d2 @@ -0,0 +1,94 @@ +classes: { + block: { + style: { + font: mono + stroke-dash: 2 + stroke: black + border-radius: 5 + } + } + grid-block: { + label: "" + style: { + fill: "#6EF759" + border-radius: 5 + } + width: 40 + height: 40 + } +} + +direction: right + +Build: { + class: block + style: { + fill: "#FFEBCD" + } + source -> linked + source -> assets + linked -> artifacts + assets -> artifacts + artifacts: "" { + shape: image + icon: https://icons.terrastruct.com/essentials/220-layers.svg + width: 100 + height: 100 + } +} + +Test: { + class: block + style: { + fill: "#ffc9d6" + } + grid: "" { + grid-columns: 4 + grid-rows: 4 + 1.class: grid-block + 2.class: grid-block + 3.class: grid-block + 4.class: grid-block + 5.class: grid-block + 6.class: grid-block + 7.class: grid-block + 8.class: grid-block + 9.class: grid-block + 10.class: grid-block + 11.class: grid-block + 12.class: grid-block + 13.class: grid-block + 14.class: grid-block + 15.class: grid-block + 16.class: grid-block + + 6.style.fill: red + 12.style.fill: red + } +} + +Release: { + class: block + style: { + fill: "#d5ffcd" + } + + incoming.class: grid-block + incoming -> db1 + incoming -> db2 + + db1: "" { + shape: image + icon: https://icons.terrastruct.com/essentials/117-database.svg + width: 70 + height: 70 + } + db2: "" { + shape: image + icon: https://icons.terrastruct.com/essentials/117-database.svg + width: 70 + height: 70 + } +} + +Build.artifacts -> Test.grid -> Release.incoming diff --git a/grammar.js b/grammar.js index ca8d276..a5aa1ee 100644 --- a/grammar.js +++ b/grammar.js @@ -298,6 +298,7 @@ module.exports = grammar({ "stroke-dash", "border-radius", "double-border", + "font", "font-size", "font-color", "shadow", diff --git a/src/grammar.json b/src/grammar.json index c2299cf..9ba9a9e 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1461,6 +1461,10 @@ "type": "STRING", "value": "double-border" }, + { + "type": "STRING", + "value": "font" + }, { "type": "STRING", "value": "font-size" diff --git a/src/node-types.json b/src/node-types.json index 45b6b0d..06bca32 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -552,6 +552,10 @@ "type": "float", "named": true }, + { + "type": "font", + "named": false + }, { "type": "font-color", "named": false diff --git a/src/parser.c b/src/parser.c index f80d5ff3ddfcd70a224843bfdbe1112c354e558c..b58392a0954069e373e679f83dbae14051260e1b 100644 GIT binary patch delta 18577 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 Y+f+C@XibHZy&2KWg~1emQZ>>40oVm#F#rGn diff --git a/test/corpus/attributes.txt b/test/corpus/attributes.txt index 5e98b4f..542efca 100644 --- a/test/corpus/attributes.txt +++ b/test/corpus/attributes.txt @@ -13,6 +13,8 @@ stroke: red stroke-width: 5 stroke-dash: 4 border-radius: 1 +font: mono +font-size: 20 font-color: red shadow: false multiple: true @@ -36,6 +38,8 @@ near: abc (attribute (attr_key (reserved)) (attr_value (integer))) (attribute (attr_key (reserved)) (attr_value (integer))) (attribute (attr_key (reserved)) (attr_value)) + (attribute (attr_key (reserved)) (attr_value (integer))) + (attribute (attr_key (reserved)) (attr_value)) (attribute (attr_key (reserved)) (attr_value (boolean))) (attribute (attr_key (reserved)) (attr_value (boolean))) (attribute (attr_key (reserved)) (attr_value (boolean))) diff --git a/tree-sitter-d2.wasm b/tree-sitter-d2.wasm index 832a280a6c864f68df95d842fc70cf1f890d562a..b753ef35513c68e96d45eadb9d7c357c2cacbc74 100755 GIT binary patch literal 71776 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 X;BzrPr=VPiQi1x(D03lq5On`PofW5e literal 71705 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