feat(robot): update parser, queries and maintainer

* Update tree-sitter-robot version and maintainer

* Improve query code style

* Update tree-sitter-robot revision
This commit is contained in:
Tomas Sandven 2023-08-17 06:27:51 +02:00 committed by GitHub
parent 0e27391e90
commit 087166aae1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 80 additions and 18 deletions

5
queries/robot/folds.scm Normal file
View file

@ -0,0 +1,5 @@
[
(section)
(keyword_definition)
(test_case_definition)
] @fold

View file

@ -1,21 +1,57 @@
(argument (dictionary_variable) @string.special)
(argument (list_variable) @string.special)
(argument (scalar_variable) @string.special)
(argument (text_chunk) @string)
[
(comment)
(extra_text)
] @comment
(keyword_invocation (keyword) @function)
(test_case_definition (name) @property)
(keyword_definition (body (keyword_setting) @keyword))
(keyword_definition (name) @function)
[
(section_header)
(setting_statement)
(keyword_setting)
(test_case_setting)
] @keyword
(variable_definition (variable_name) @variable)
(keyword_definition (name) @function)
(test_case_definition (name) @function)
(setting_statement) @keyword
(extra_text) @comment
(section_header) @keyword
(keyword_invocation (keyword) @function.call)
(ellipses) @punctuation.delimiter
(comment) @comment
(text_chunk) @string
(inline_python_expression) @string.special
[
(scalar_variable)
(list_variable)
(dictionary_variable)
] @variable
; Control structures
[
"FOR"
"IN"
"IN RANGE"
"IN ENUMERATE"
"IN ZIP"
(break_statement)
(continue_statement)
] @repeat
(for_statement "END" @repeat)
"WHILE" @repeat
(while_statement "END" @repeat)
[
"IF"
"ELSE IF"
] @conditional
(if_statement "END" @conditional)
(if_statement (else_statement "ELSE" @conditional))
[
"TRY"
"EXCEPT"
"FINALLY"
] @exception
(try_statement "END" @exception)
(try_statement (else_statement "ELSE" @exception))

21
queries/robot/indents.scm Normal file
View file

@ -0,0 +1,21 @@
(keyword_definition) @indent.begin
(test_case_definition) @indent.begin
(for_statement) @indent.begin
(for_statement "END" @indent.branch)
(for_statement
right: (_ (arguments (continuation (ellipses) @indent.branch))))
(while_statement) @indent.begin
(while_statement "END" @indent.branch)
(if_statement) @indent.begin
(if_statement (elseif_statement) @indent.branch)
(if_statement (else_statement) @indent.branch)
(if_statement "END" @indent.branch)
(try_statement) @indent.begin
(try_statement (except_statement) @indent.branch)
(try_statement (finally_statement) @indent.branch)
(try_statement (else_statement) @indent.branch)
(try_statement "END" @indent.branch)