tree-sitter and lsp-methods

This commit is contained in:
csh
2025-09-14 12:28:37 +08:00
parent e9972fd869
commit aac12137cb
214 changed files with 350938 additions and 142202 deletions
+423 -65
View File
@@ -131,6 +131,10 @@
{
"type": "SYMBOL",
"name": "matrix_iteration_statement"
},
{
"type": "SYMBOL",
"name": "_tslx_template_statement"
}
]
},
@@ -363,8 +367,41 @@
"type": "FIELD",
"name": "type",
"content": {
"type": "PATTERN",
"value": "[_a-zA-Z][_a-zA-Z0-9 .]*"
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "array"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "STRING",
"value": "of"
},
{
"type": "PATTERN",
"value": "\\s+"
},
{
"type": "PATTERN",
"value": "[_a-zA-Z][_a-zA-Z0-9_.]*"
}
]
},
{
"type": "PATTERN",
"value": "[_a-zA-Z][_a-zA-Z0-9_.]*"
}
]
}
}
},
"assignment_statement": {
@@ -5754,33 +5791,37 @@
]
},
{
"type": "FIELD",
"name": "names",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
]
}
}
]
},
{
"type": "CHOICE",
@@ -5910,12 +5951,12 @@
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "parents",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "parent",
"content": {
"type": "CHOICE",
"members": [
{
@@ -5927,17 +5968,21 @@
"name": "attribute"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "parent",
"content": {
"type": "CHOICE",
"members": [
{
@@ -5950,11 +5995,11 @@
}
]
}
]
}
}
]
}
]
}
}
]
},
{
"type": "BLANK"
@@ -6753,6 +6798,311 @@
}
]
},
"_tslx_template_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "tslx_open_tag"
},
{
"type": "SYMBOL",
"name": "tslx_close_tag"
},
{
"type": "SYMBOL",
"name": "tslx_output_tag"
},
{
"type": "SYMBOL",
"name": "tslx_expression_tag"
},
{
"type": "SYMBOL",
"name": "_tslx_html_tag"
}
]
},
"tslx_open_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<?"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)tslx"
},
"named": false,
"value": "tslx"
},
{
"type": "STRING",
"value": ">"
}
]
},
"tslx_close_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<?"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)tsl"
},
"named": false,
"value": "tsl"
}
]
},
"tslx_expression_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<?"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "(?i)tsl"
},
"named": false,
"value": "tsl"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
{
"type": "STRING",
"value": "?>"
}
]
},
"tslx_output_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<?="
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": "?>"
}
]
},
"_tslx_html_tag": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "html_self_closing_tag"
},
{
"type": "SYMBOL",
"name": "html_paired_tag"
},
{
"type": "SYMBOL",
"name": "html_comment"
}
]
},
"html_self_closing_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "FIELD",
"name": "tag_name",
"content": {
"type": "SYMBOL",
"name": "html_tag_name"
}
},
{
"type": "REPEAT",
"content": {
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "html_attribute"
}
}
},
{
"type": "STRING",
"value": "/>"
}
]
},
"html_paired_tag": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "FIELD",
"name": "tag_name",
"content": {
"type": "SYMBOL",
"name": "html_tag_name"
}
},
{
"type": "REPEAT",
"content": {
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "html_attribute"
}
}
},
{
"type": "STRING",
"value": ">"
},
{
"type": "FIELD",
"name": "content",
"content": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_tslx_template_statement"
}
}
},
{
"type": "STRING",
"value": "</"
},
{
"type": "FIELD",
"name": "tag_name",
"content": {
"type": "SYMBOL",
"name": "html_tag_name"
}
},
{
"type": "STRING",
"value": ">"
}
]
},
"html_attribute": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "PATTERN",
"value": "[a-zA-Z:_][a-zA-Z0-9:_.-]*"
}
},
{
"type": "STRING",
"value": "="
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "string"
}
}
]
},
"html_tag_name": {
"type": "PATTERN",
"value": "[a-zA-Z][a-zA-Z0-9-]*"
},
"html_comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<!--"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^-]"
},
{
"type": "PATTERN",
"value": "-[^-]"
},
{
"type": "PATTERN",
"value": "--[^>]"
}
]
}
},
{
"type": "STRING",
"value": "-->"
}
]
}
},
"modifier_method": {
"type": "SEQ",
"members": [
@@ -7357,33 +7707,37 @@
"value": "uses"
},
{
"type": "FIELD",
"name": "modules",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "module",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "module",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
}
]
}
}
]
},
{
"type": "STRING",
@@ -7418,6 +7772,10 @@
[
"tssql_select_expression",
"_table_or_subquery"
],
[
"tslx_close_tag",
"tslx_expression_tag"
]
],
"precedences": [],