mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-21 12:50:09 -04:00
Added parser info and queries for the brightscript programming language
This commit is contained in:
parent
0e21ee8df6
commit
4335ac47e4
7 changed files with 208 additions and 0 deletions
|
|
@ -191,6 +191,7 @@ We are looking for maintainers to add more parsers and to write query files for
|
||||||
- [x] [blade](https://github.com/EmranMR/tree-sitter-blade) (maintained by @calebdw)
|
- [x] [blade](https://github.com/EmranMR/tree-sitter-blade) (maintained by @calebdw)
|
||||||
- [x] [blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) (experimental, maintained by @gabmus)
|
- [x] [blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) (experimental, maintained by @gabmus)
|
||||||
- [x] [bp](https://github.com/ambroisie/tree-sitter-bp) (maintained by @ambroisie)
|
- [x] [bp](https://github.com/ambroisie/tree-sitter-bp) (maintained by @ambroisie)
|
||||||
|
- [x] [brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) (maintained by @ajdelcimmuto)
|
||||||
- [x] [c](https://github.com/tree-sitter/tree-sitter-c) (maintained by @amaanq)
|
- [x] [c](https://github.com/tree-sitter/tree-sitter-c) (maintained by @amaanq)
|
||||||
- [x] [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) (maintained by @amaanq)
|
- [x] [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) (maintained by @amaanq)
|
||||||
- [x] [caddy](https://github.com/opa-oz/tree-sitter-caddy) (maintained by @opa-oz)
|
- [x] [caddy](https://github.com/opa-oz/tree-sitter-caddy) (maintained by @opa-oz)
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,9 @@
|
||||||
"bp": {
|
"bp": {
|
||||||
"revision": "16c43068ec30828c5aed11e87262c56f36782595"
|
"revision": "16c43068ec30828c5aed11e87262c56f36782595"
|
||||||
},
|
},
|
||||||
|
"brightscript": {
|
||||||
|
"revision": "a5a68f3e4215c866659df7939fc4a6617d04341b"
|
||||||
|
},
|
||||||
"c": {
|
"c": {
|
||||||
"revision": "2a265d69a4caf57108a73ad2ed1e6922dd2f998c"
|
"revision": "2a265d69a4caf57108a73ad2ed1e6922dd2f998c"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,14 @@ list.bp = {
|
||||||
maintainers = { "@ambroisie" },
|
maintainers = { "@ambroisie" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.brightscript = {
|
||||||
|
install_info = {
|
||||||
|
url = "https://github.com/ajdelcimmuto/tree-sitter-brightscript",
|
||||||
|
files = { "src/parser.c" },
|
||||||
|
},
|
||||||
|
maintainers = { "@ajdelcimmuto" },
|
||||||
|
}
|
||||||
|
|
||||||
list.c = {
|
list.c = {
|
||||||
install_info = {
|
install_info = {
|
||||||
url = "https://github.com/tree-sitter/tree-sitter-c",
|
url = "https://github.com/tree-sitter/tree-sitter-c",
|
||||||
|
|
|
||||||
9
queries/brightscript/folds.scm
Normal file
9
queries/brightscript/folds.scm
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
[
|
||||||
|
(function_statement)
|
||||||
|
(sub_statement)
|
||||||
|
(while_statement)
|
||||||
|
(for_statement)
|
||||||
|
(if_statement)
|
||||||
|
(try_statement)
|
||||||
|
] @fold
|
||||||
|
|
||||||
144
queries/brightscript/highlights.scm
Normal file
144
queries/brightscript/highlights.scm
Normal file
|
|
@ -0,0 +1,144 @@
|
||||||
|
; Identifiers
|
||||||
|
(identifier) @variable
|
||||||
|
|
||||||
|
; Function and sub declarations
|
||||||
|
(function_statement
|
||||||
|
name: (identifier) @function)
|
||||||
|
(sub_statement
|
||||||
|
name: (identifier) @function)
|
||||||
|
|
||||||
|
; Function calls
|
||||||
|
(function_call
|
||||||
|
function: (prefix_exp
|
||||||
|
(identifier) @function.call))
|
||||||
|
|
||||||
|
; Parameters
|
||||||
|
(parameter
|
||||||
|
name: (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
; Types
|
||||||
|
(type_specifier) @type
|
||||||
|
|
||||||
|
; Variables
|
||||||
|
(variable_declarator) @variable
|
||||||
|
|
||||||
|
(multiplicative_expression
|
||||||
|
operator: (_) @keyword.operator)
|
||||||
|
|
||||||
|
(logical_not_expression
|
||||||
|
operator: (_) @keyword.operator)
|
||||||
|
|
||||||
|
(logical_expression
|
||||||
|
operator: (_) @keyword.operator)
|
||||||
|
|
||||||
|
; Property access
|
||||||
|
(prefix_exp
|
||||||
|
(prefix_exp
|
||||||
|
(identifier) @variable)
|
||||||
|
(identifier) @property)
|
||||||
|
|
||||||
|
; Statements
|
||||||
|
(if_statement) @conditional
|
||||||
|
(conditional_compl) @conditional
|
||||||
|
(for_statement) @repeat
|
||||||
|
(while_statement) @repeat
|
||||||
|
(try_statement) @exception
|
||||||
|
(return_statement) @keyword.return
|
||||||
|
(throw_statement) @keyword.throw
|
||||||
|
(assignment_statement) @operator
|
||||||
|
(print_statement) @function.builtin
|
||||||
|
(constant) @constant
|
||||||
|
|
||||||
|
; Keywords
|
||||||
|
[
|
||||||
|
(function_start)
|
||||||
|
(sub_start)
|
||||||
|
(if_start)
|
||||||
|
(if_then)
|
||||||
|
(if_else)
|
||||||
|
(for_start)
|
||||||
|
(for_to)
|
||||||
|
(for_step)
|
||||||
|
(for_each)
|
||||||
|
(for_in)
|
||||||
|
(while_start)
|
||||||
|
(try_start)
|
||||||
|
(try_catch)
|
||||||
|
(as)
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
; Operators
|
||||||
|
[
|
||||||
|
"="
|
||||||
|
"<>"
|
||||||
|
"<"
|
||||||
|
"<="
|
||||||
|
">"
|
||||||
|
">="
|
||||||
|
"+"
|
||||||
|
"-"
|
||||||
|
"*"
|
||||||
|
"/"
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
; Literals
|
||||||
|
(boolean) @boolean
|
||||||
|
(number) @number
|
||||||
|
(string) @string
|
||||||
|
(invalid) @constant.builtin
|
||||||
|
|
||||||
|
; Comments
|
||||||
|
(comment) @comment
|
||||||
|
|
||||||
|
; Punctuation
|
||||||
|
["(" ")" "[" "]" "{" "}" "." "," "?." "?["] @punctuation.delimiter
|
||||||
|
|
||||||
|
; Special highlights for library statements
|
||||||
|
(library_statement) @include
|
||||||
|
(library_statement
|
||||||
|
path: (string) @string.special)
|
||||||
|
|
||||||
|
; Array and associative array literals
|
||||||
|
(array) @constructor
|
||||||
|
(assoc_array) @constructor
|
||||||
|
(assoc_array_element
|
||||||
|
key: (identifier) @property)
|
||||||
|
|
||||||
|
; Increment/decrement operators
|
||||||
|
[
|
||||||
|
(prefix_increment_expression)
|
||||||
|
(prefix_decrement_expression)
|
||||||
|
(postfix_increment_expression)
|
||||||
|
(postfix_decrement_expression)
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
; Comparison operators
|
||||||
|
(comparison_expression
|
||||||
|
[
|
||||||
|
"="
|
||||||
|
"<>"
|
||||||
|
"<"
|
||||||
|
"<="
|
||||||
|
">"
|
||||||
|
">="
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
; End statements
|
||||||
|
[
|
||||||
|
(end_sub)
|
||||||
|
(end_function)
|
||||||
|
(end_if)
|
||||||
|
(end_for)
|
||||||
|
(end_while)
|
||||||
|
(end_try)
|
||||||
|
(conditional_compl_end_if)
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
; Special keywords (these might still need to be strings if not defined as separate nodes)
|
||||||
|
["then" "else" "else if" "#else" "#else if"] @keyword
|
||||||
|
|
||||||
|
; Exit statements
|
||||||
|
[
|
||||||
|
(exit_while_statement)
|
||||||
|
(exit_for_statement)
|
||||||
|
] @keyword
|
||||||
39
queries/brightscript/indents.scm
Normal file
39
queries/brightscript/indents.scm
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
; Start indentation for block-level constructs
|
||||||
|
[
|
||||||
|
(sub_statement)
|
||||||
|
(function_statement)
|
||||||
|
(annonymous_sub)
|
||||||
|
(annonymous_function)
|
||||||
|
(conditional_compl)
|
||||||
|
(multi_line_if)
|
||||||
|
(for_statement)
|
||||||
|
(while_statement)
|
||||||
|
(try_statement)
|
||||||
|
(array)
|
||||||
|
(assoc_array)
|
||||||
|
] @indent.begin
|
||||||
|
|
||||||
|
; End indentation for all end statements
|
||||||
|
[
|
||||||
|
(end_sub)
|
||||||
|
(end_function)
|
||||||
|
(end_if)
|
||||||
|
(end_for)
|
||||||
|
(end_while)
|
||||||
|
(end_try)
|
||||||
|
(conditional_compl_end_if)
|
||||||
|
"]"
|
||||||
|
"}"
|
||||||
|
] @indent.branch @indent.end
|
||||||
|
|
||||||
|
; Handle branching constructs
|
||||||
|
[
|
||||||
|
(else_if_clause)
|
||||||
|
(else_clause)
|
||||||
|
(conditional_compl_else_if_clause)
|
||||||
|
(conditional_compl_else_clause)
|
||||||
|
(catch_clause)
|
||||||
|
] @indent.branch
|
||||||
|
|
||||||
|
; Ignore comments for indentation
|
||||||
|
(comment) @indent.ignore
|
||||||
4
queries/brightscript/injections.scm
Normal file
4
queries/brightscript/injections.scm
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
([
|
||||||
|
(comment)
|
||||||
|
] @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue