tree-sitter-d2/test/corpus/attributes.txt

523 lines
16 KiB
Text
Raw Permalink Normal View History

2022-12-06 00:34:41 +03:00
================================================================================
2022-12-04 23:45:53 +03:00
Root attribute
2022-12-06 00:34:41 +03:00
================================================================================
2022-12-04 18:35:50 +03:00
direction: value
shape: oval
2022-12-09 18:49:33 +03:00
label: 'one two'
constraint: utehu
2022-12-09 15:02:21 +03:00
icon: ./test.svg
2022-12-09 18:49:33 +03:00
opacity: 0.5
fill: red
stroke: red
stroke-width: 5
stroke-dash: 4
border-radius: 1
2023-06-16 05:20:03 +03:00
font: mono
font-size: 20
font-color: red
2022-12-09 18:49:33 +03:00
shadow: false
multiple: true
animated: true
link: https://to
near: abc
2022-12-07 18:52:19 +03:00
--------------------------------------------------------------------------------
(source_file
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value (string (string_fragment))))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value (float)))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value (integer)))
(attribute (attr_key (reserved)) (colon) (attr_value (integer)))
(attribute (attr_key (reserved)) (colon) (attr_value (integer)))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value (integer)))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value (boolean)))
(attribute (attr_key (reserved)) (colon) (attr_value (boolean)))
(attribute (attr_key (reserved)) (colon) (attr_value (boolean)))
(attribute (attr_key (reserved)) (colon) (attr_value))
(attribute (attr_key (reserved)) (colon) (attr_value))
2022-12-07 18:52:19 +03:00
)
2022-12-06 00:34:41 +03:00
================================================================================
Style attribute
2022-12-06 00:34:41 +03:00
================================================================================
2022-12-09 18:49:33 +03:00
foo.style.opacity: 0.5
foo.style.fill: red
foo.style.stroke: red
foo.style.stroke-width: 5
foo.style.stroke-dash: 4
foo.style.border-radius: 1
foo.style.font-color: red
2022-12-09 18:49:33 +03:00
foo.style.shadow: false
foo.style.multiple: true
foo.style.animated: true
foo.style.link: https://to
foo.style.text-transform: uppercase
2022-12-04 23:45:53 +03:00
2022-12-06 00:34:41 +03:00
--------------------------------------------------------------------------------
2022-12-04 23:45:53 +03:00
(source_file
2024-07-12 20:36:24 +03:00
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (float)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean)))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value))))
(shape (shape_key) (dot) (attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value))))
2022-12-04 23:45:53 +03:00
)
2022-12-06 00:34:41 +03:00
================================================================================
Block style attributes
2022-12-06 00:34:41 +03:00
================================================================================
foo.style: {
2022-12-09 18:49:33 +03:00
opacity: 0.5
fill: red
stroke: red
stroke-width: 5
stroke-dash: 4
border-radius: 1
font-color: red
2022-12-09 18:49:33 +03:00
shadow: false
multiple: true
animated: true
link: https://to
text-transform: uppercase
}
2022-12-04 23:45:53 +03:00
2022-12-06 00:34:41 +03:00
--------------------------------------------------------------------------------
2022-12-04 23:45:53 +03:00
(source_file
(shape
(shape_key) (dot)
(attribute
2023-06-16 00:43:30 +03:00
(keyword_style)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (float)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
)
)
)
2022-12-04 23:45:53 +03:00
)
2022-12-06 11:57:59 +03:00
================================================================================
Container attributes
2022-12-06 11:57:59 +03:00
================================================================================
foo: {
shape: oval
2022-12-09 18:49:33 +03:00
label: 'Baz'
constraint: primary-key
icon: pathto
width: 100
height: 200
link: https://microsoft.com
tooltip: Gee, I feel kind of LIGHT in the head now,\nknowing I can't make my satellite dish PAYMENTS!
2022-12-06 11:57:59 +03:00
}
--------------------------------------------------------------------------------
(source_file
(container
(container_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (string (string_fragment))))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (escape_sequence)))
)
2022-12-06 11:57:59 +03:00
)
)
================================================================================
Container style attributes
2022-12-06 11:57:59 +03:00
================================================================================
foo: {
2022-12-09 18:49:33 +03:00
style.opacity: 0.5
style.fill: red
style.stroke: red
style.stroke-width: 5
style.stroke-dash: 4
style.border-radius: 1
style.font-color: red
style.shadow: true
style.multiple: true
style.animated: true
style.link: https://to
}
2022-12-06 11:57:59 +03:00
--------------------------------------------------------------------------------
(source_file
(container
(container_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (float))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value)))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value)))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (integer))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value)))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value (boolean))))
(attribute (keyword_style) (dot) (attribute (attr_key) (colon) (attr_value)))
)
2022-12-06 11:57:59 +03:00
)
)
2022-12-08 02:04:36 +03:00
================================================================================
Block style attributes inside a container
2022-12-08 02:04:36 +03:00
================================================================================
foo: {
style: {
2022-12-09 18:49:33 +03:00
opacity: 0.5
fill: red
stroke: red
stroke-width: 5
stroke-dash: 4
border-radius: 1
font-color: red
shadow: true
multiple: true
animated: true
link: https://to
}
}
2022-12-08 02:04:36 +03:00
--------------------------------------------------------------------------------
(source_file
(container
(container_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
(attribute
2023-06-16 00:43:30 +03:00
(keyword_style)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (float)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value))
)
)
)
)
2022-12-08 02:04:36 +03:00
)
================================================================================
Block style attributes inside a connection
================================================================================
foo -> bar: {
style: {
2022-12-09 18:49:33 +03:00
opacity: 0.5
fill: red
stroke: red
stroke-width: 5
stroke-dash: 4
border-radius: 1
font-color: red
2022-12-09 18:49:33 +03:00
shadow: false
multiple: true
animated: true
link: https://to
}
}
--------------------------------------------------------------------------------
(source_file
(connection
(shape_key)
(arrow)
(shape_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
(attribute
2023-06-16 00:43:30 +03:00
(keyword_style)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (float)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value))
)
)
)
)
)
================================================================================
Labels for connection arrowheads
================================================================================
foo -> bar: {
source-arrowhead: 0
target-arrowhead: 1
}
--------------------------------------------------------------------------------
(source_file
(connection
(shape_key)
(arrow)
(shape_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (label))
(attribute (attr_key) (colon) (label))
)
)
)
================================================================================
Define attributes for connection in single-line
================================================================================
foo -> bar: {source-arrowhead: 0; target-arrowhead: 1}
--------------------------------------------------------------------------------
(source_file
(connection
(shape_key)
(arrow)
(shape_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (label))
(attribute (attr_key) (colon) (label))
)
)
)
================================================================================
Block style attributes inside a connection arrowhead
================================================================================
foo -> bar: {
target-arrowhead: {
style: {
2022-12-09 18:49:33 +03:00
opacity: 0.5
fill: red
stroke: red
stroke-width: 5
stroke-dash: 4
border-radius: 1
font-color: red
2022-12-09 18:49:33 +03:00
shadow: false
multiple: true
animated: true
link: https://to
}
}
}
--------------------------------------------------------------------------------
(source_file
(connection
(shape_key)
(arrow)
(shape_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
(attribute
(attr_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
(attribute
2023-06-16 00:43:30 +03:00
(keyword_style)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (float)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value (boolean)))
(attribute (attr_key) (colon) (attr_value))
)
)
)
)
)
)
)
================================================================================
Container attributes inside a connection arrowhead
================================================================================
foo -> bar: {
target-arrowhead: {
shape: oval
2022-12-09 18:49:33 +03:00
label: 'Baz'
constraint: primary-key
icon: pathto
width: 100
height: 200
}
}
--------------------------------------------------------------------------------
(source_file
(connection
(shape_key)
(arrow)
(shape_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
(attribute
(attr_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (string (string_fragment))))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
)
)
)
)
)
================================================================================
Declare style attributes in single-line
================================================================================
foo.style: {opacity: 0.5; fill: red}
--------------------------------------------------------------------------------
(source_file
(shape
(shape_key) (dot)
(attribute
2023-06-16 00:43:30 +03:00
(keyword_style)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (float)))
(attribute (attr_key) (colon) (attr_value))
)
)
)
)
2022-12-09 15:02:21 +03:00
================================================================================
Declare grid attributes
================================================================================
grid-gap: 0
grid-columns: 1
header
body: "" {
vertical-gap: 0
horizontal-gap: 0
grid-columns: 2
content
sidebar
}
footer
--------------------------------------------------------------------------------
(source_file
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(shape (shape_key))
(container
(container_key)
2024-07-12 20:36:24 +03:00
(colon)
(label (string))
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(attribute (attr_key) (colon) (attr_value (integer)))
(shape (shape_key))
(shape (shape_key))
)
)
(shape (shape_key))
)
================================================================================
Declare a attribute with many values
================================================================================
block: {
constraint: primary_key
constraint: [primary_key]
constraint: [primary_key; unique]
constraint: [
primary_key
unique
]
}
--------------------------------------------------------------------------------
(source_file
(container
(container_key)
2024-07-12 20:36:24 +03:00
(colon)
(block
2024-07-12 20:36:24 +03:00
(attribute (attr_key) (colon) (attr_value))
(attribute (attr_key) (colon) (attr_value_list (attr_value)))
(attribute (attr_key) (colon) (attr_value_list (attr_value) (attr_value)))
(attribute (attr_key) (colon) (attr_value_list (attr_value) (attr_value)))
)
)
)