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
+33 -3
View File
@@ -1,4 +1,34 @@
select ["性别"],AvgOf(["英语成绩"]),CountOf( * ),groupfunc(["英语成绩"]) from EnglishScore group by ["性别"],groupfunc(["英语成绩"]) end;
// r := sselect * from attrs where lName = lowerCase([0]) end;
// R := select [1].*,[2].["英语成绩"] from A join B on [1].["学号"]=[2].["学号"] end;
type ImageDimensions = class
property Width read width_;
property Width : array of string index 2 read width_;
end;
// <?tslx>
// <div class="element-data-container">
// <?tsl
// rpt_data_bar(data[i],canAudit);
// ?>
// <div class="diff-section <?= isDiffed?'diff-section-diffed':''?>" id="eid-<?=tempid?>">
// <div class="diff-left span5">
// <?tsl
// try
// rpt_show_data(other_data_i);
// except
// dolog("diffrepot_erData","数据解析展示出错:"$data[i]["NAME"]);
// dolog("diffrepot_erData",tostn(data[i]["DATA_ID"]));
// end;
// ?>
// </div>
// <div class="diff-right span5">
// <?tsl rpt_show_data(data[i]); ?>
// </div>
// <div class="span2">
// <?=class(IDS_LiveReport).rpt_data_comments(data[i]['comment'])?>
// </div>
// <div class="clear"></div>
// </div>
// </div><!--end element-data-container -->
// <?tsl
@@ -2,7 +2,7 @@
# 生成 Tree-sitter 解析器
echo "=== 生成 Tree-sitter 解析器 ==="
tree-sitter generate || { echo "❌ tree-sitter generate 失败"; exit 1; }
# tree-sitter generate || { echo "❌ tree-sitter generate 失败"; exit 1; }
# 要解析的根目录数组
ROOT_DIRS=(
File diff suppressed because it is too large Load Diff
+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": [],
+521 -15
View File
@@ -776,6 +776,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -804,6 +816,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -1023,14 +1051,10 @@
}
]
},
"parents": {
"parent": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "attribute",
"named": true
@@ -1655,6 +1679,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -1683,6 +1719,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -2090,6 +2142,108 @@
}
}
},
{
"type": "html_attribute",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "string",
"named": true
}
]
}
}
},
{
"type": "html_paired_tag",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "html_attribute",
"named": true
}
]
},
"content": {
"multiple": true,
"required": false,
"types": [
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
}
]
},
"tag_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "html_tag_name",
"named": true
}
]
}
}
},
{
"type": "html_self_closing_tag",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "html_attribute",
"named": true
}
]
},
"tag_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "html_tag_name",
"named": true
}
]
}
}
},
{
"type": "if_clause",
"named": true,
@@ -2222,6 +2376,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -2250,6 +2416,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -2379,6 +2561,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -2407,6 +2601,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -2537,6 +2747,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -2565,6 +2787,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -3923,14 +4161,10 @@
}
]
},
"names": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
@@ -4528,6 +4762,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -4556,6 +4802,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "unit",
"named": true
@@ -4877,6 +5139,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -4905,6 +5179,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -5303,6 +5593,18 @@
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
@@ -5331,6 +5633,22 @@
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
@@ -5347,6 +5665,162 @@
}
}
},
{
"type": "tslx_close_tag",
"named": true,
"fields": {}
},
{
"type": "tslx_expression_tag",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_function_statement",
"named": true
},
{
"type": "assignment_statement",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "case_statement",
"named": true
},
{
"type": "class_definition_statement",
"named": true
},
{
"type": "const_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "external_method_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "function_declaration_statement",
"named": true
},
{
"type": "function_definition_statement",
"named": true
},
{
"type": "global_statement",
"named": true
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_paired_tag",
"named": true
},
{
"type": "html_self_closing_tag",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "inherited_statement",
"named": true
},
{
"type": "matrix_iteration_statement",
"named": true
},
{
"type": "repeat_statement",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "static_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "tslx_close_tag",
"named": true
},
{
"type": "tslx_expression_tag",
"named": true
},
{
"type": "tslx_open_tag",
"named": true
},
{
"type": "tslx_output_tag",
"named": true
},
{
"type": "uses_statement",
"named": true
},
{
"type": "var_statement",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "tslx_open_tag",
"named": true,
"fields": {}
},
{
"type": "tslx_output_tag",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "tssql_dml_expression",
"named": true,
@@ -5601,14 +6075,10 @@
"type": "uses_statement",
"named": true,
"fields": {
"modules": {
"module": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
@@ -6081,6 +6551,10 @@
"type": "/=",
"named": false
},
{
"type": "/>",
"named": false
},
{
"type": ":",
"named": false
@@ -6145,6 +6619,10 @@
"type": "<",
"named": false
},
{
"type": "</",
"named": false
},
{
"type": "<=",
"named": false
@@ -6153,6 +6631,14 @@
"type": "<>",
"named": false
},
{
"type": "<?",
"named": false
},
{
"type": "<?=",
"named": false
},
{
"type": "=",
"named": false
@@ -6169,6 +6655,10 @@
"type": "?",
"named": false
},
{
"type": "?>",
"named": false
},
{
"type": "@",
"named": false
@@ -6346,6 +6836,14 @@
"type": "having",
"named": false
},
{
"type": "html_comment",
"named": true
},
{
"type": "html_tag_name",
"named": true
},
{
"type": "identifier",
"named": true
@@ -6572,6 +7070,14 @@
"type": "try",
"named": false
},
{
"type": "tsl",
"named": false
},
{
"type": "tslx",
"named": false
},
{
"type": "type",
"named": false
+152625 -139574
View File
File diff suppressed because it is too large Load Diff