feat: add TYPE/STRUCT and DATA_BLOCK support to tree-sitter grammar

- Add type_definition rule for UDT files (TYPE/STRUCT/END_STRUCT/END_TYPE)
- Add data_block rule for DB files (DATA_BLOCK/BEGIN/END_DATA_BLOCK)
- Add NON_RETAIN and RETAIN modifiers support in data blocks
- Keywords now highlighted correctly in .udt and .db files
This commit is contained in:
2026-02-20 23:42:28 +01:00
parent 553192e7a1
commit 7b25cf6202
4 changed files with 62784 additions and 53370 deletions
+116
View File
@@ -193,6 +193,60 @@
]
}
},
{
"type": "data_block",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "attribute_list",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "keyword",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "statement",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
}
},
{
"type": "else_clause",
"named": true,
@@ -851,6 +905,10 @@
"multiple": true,
"required": false,
"types": [
{
"type": "data_block",
"named": true
},
{
"type": "function",
"named": true
@@ -866,6 +924,10 @@
{
"type": "statement",
"named": true
},
{
"type": "type_definition",
"named": true
}
]
}
@@ -989,6 +1051,60 @@
]
}
},
{
"type": "type_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "attribute_list",
"named": true
},
{
"type": "block_comment",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "keyword",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "var_item",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,