feat: improve tree-sitter syntax highlighting with named nodes
- Add aliases for keywords (VAR_INPUT, BEGIN, IF, etc.) as named nodes - Add aliases for built-in types (INT, BOOL, STRING, etc.) as type_builtin - Add aliases for constants (TRUE, FALSE) - Add aliases for operators (AND, OR, NOT, MOD) - Add prefix node for # variable prefix highlighting - Highlight FB instance names in calls - Highlight FB parameter names as properties - Update README with detailed syntax highlighting features - Update .gitignore for *.wasm files
This commit is contained in:
+216
-431
@@ -84,8 +84,12 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "constant",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
@@ -108,6 +112,10 @@
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "operator",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -162,6 +170,25 @@
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "continue_statement",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -172,8 +199,12 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -193,6 +224,10 @@
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -205,6 +240,21 @@
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "exit_statement",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true,
|
||||
@@ -264,6 +314,77 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "fb_call",
|
||||
"named": true,
|
||||
"fields": {
|
||||
"instance": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "prefixed_identifier",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "fb_parameter_list",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "fb_parameter",
|
||||
"named": true,
|
||||
"fields": {
|
||||
"name": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "fb_parameter_list",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "fb_parameter",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "field_access",
|
||||
"named": true,
|
||||
@@ -303,6 +424,10 @@
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -327,7 +452,7 @@
|
||||
},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "attribute_list",
|
||||
@@ -341,6 +466,10 @@
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"named": true
|
||||
@@ -397,7 +526,7 @@
|
||||
},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "attribute_list",
|
||||
@@ -407,6 +536,10 @@
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"named": true
|
||||
@@ -484,6 +617,10 @@
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -539,7 +676,7 @@
|
||||
},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "attribute_list",
|
||||
@@ -549,6 +686,10 @@
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"named": true
|
||||
@@ -607,12 +748,16 @@
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "prefix",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -659,6 +804,10 @@
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "region_name",
|
||||
"named": true
|
||||
@@ -682,6 +831,10 @@
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -745,6 +898,10 @@
|
||||
"type": "exit_statement",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "fb_call",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "for_statement",
|
||||
"named": true
|
||||
@@ -803,12 +960,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"named": true
|
||||
@@ -820,6 +981,10 @@
|
||||
{
|
||||
"type": "type",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "type_builtin",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -829,12 +994,16 @@
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "operator",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -845,12 +1014,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "block_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "var_item",
|
||||
"named": true
|
||||
@@ -864,12 +1037,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "block_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "var_item",
|
||||
"named": true
|
||||
@@ -923,12 +1100,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "block_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "var_item",
|
||||
"named": true
|
||||
@@ -942,12 +1123,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "block_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "var_item",
|
||||
"named": true
|
||||
@@ -961,12 +1146,16 @@
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "block_comment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "var_item",
|
||||
"named": true
|
||||
@@ -986,6 +1175,10 @@
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "statement",
|
||||
"named": true
|
||||
@@ -1001,10 +1194,6 @@
|
||||
"type": "\"\"",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "#",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "'",
|
||||
"named": false
|
||||
@@ -1089,346 +1278,6 @@
|
||||
"type": ">=",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "AND",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "ARRAY",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "BEGIN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "BOOL",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "BY",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "BYTE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Bool",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Byte",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "CASE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "CHAR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "CONSTANT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Char",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DINT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DInt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DO",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DWORD",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "DWord",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Dt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "ELSE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "ELSIF",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_CASE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_FOR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_FUNCTION",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_FUNCTION_BLOCK",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_IF",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_ORGANIZATION_BLOCK",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_REGION",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_REPEAT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_VAR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "END_WHILE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "FALSE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "FOR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "FUNCTION",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "FUNCTION_BLOCK",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "IF",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "INT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Int",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "LREAL",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "LReal",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "MOD",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "NON_RETAIN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "NOT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "OF",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "OR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "ORGANIZATION_BLOCK",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "REAL",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "REGION",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "RETAIN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Real",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "SINT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "SInt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "String",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "THEN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TIME",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TITLE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TO",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TOD",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TRUE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Time",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Tod",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "UINT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "UInt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "UNTIL",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "USINT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "USInt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_CONSTANT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_INPUT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_IN_OUT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_NON_RETAIN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_OUTPUT",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_RETAIN",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VAR_TEMP",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "VERSION",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WCHAR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WChar",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WHILE",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WORD",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WSTRING",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "WString",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "Word",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "XOR",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "[",
|
||||
"named": false
|
||||
@@ -1442,37 +1291,13 @@
|
||||
"named": true,
|
||||
"extra": true
|
||||
},
|
||||
{
|
||||
"type": "byte",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "c_style_comment",
|
||||
"named": true,
|
||||
"extra": true
|
||||
},
|
||||
{
|
||||
"type": "char",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "continue_statement",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "dint",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "dt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "dword",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "exit_statement",
|
||||
"type": "constant",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
@@ -1484,73 +1309,33 @@
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "int",
|
||||
"named": false
|
||||
"type": "keyword",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "line_comment",
|
||||
"named": true,
|
||||
"extra": true
|
||||
},
|
||||
{
|
||||
"type": "lreal",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "real",
|
||||
"named": false
|
||||
"type": "operator",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "sint",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "time",
|
||||
"named": false
|
||||
"type": "prefix",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "time_value",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "tod",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "TOD",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "uint",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "UInt",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "usint",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "wchar",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "word",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "wstring",
|
||||
"named": false
|
||||
"type": "type_builtin",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "{",
|
||||
@@ -1560,4 +1345,4 @@
|
||||
"type": "}",
|
||||
"named": false
|
||||
}
|
||||
]
|
||||
]
|
||||
Reference in New Issue
Block a user