feat: add liquidsoap

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
This commit is contained in:
Romain Beauxis 2023-10-04 09:58:10 -05:00 committed by GitHub
parent eb96ca52a7
commit 691fdc61a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 187 additions and 0 deletions

View file

@ -280,6 +280,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [latex](https://github.com/latex-lsp/tree-sitter-latex) (maintained by @theHamsta, @clason)
- [x] [ledger](https://github.com/cbarrete/tree-sitter-ledger) (maintained by @cbarrete)
- [x] [llvm](https://github.com/benwilliamgraham/tree-sitter-llvm) (maintained by @benwilliamgraham)
- [x] [liquidsoap](https://github.com/savonet/tree-sitter-liquidsoap) (maintained by @toots)
- [x] [lua](https://github.com/MunifTanjim/tree-sitter-lua) (maintained by @muniftanjim)
- [x] [luadoc](https://github.com/amaanq/tree-sitter-luadoc) (maintained by @amaanq)
- [x] [lua patterns](https://github.com/amaanq/tree-sitter-luap) (maintained by @amaanq)

View file

@ -320,6 +320,9 @@
"llvm": {
"revision": "1b96e58faf558ce057d4dc664b904528aee743cb"
},
"liquidsoap": {
"revision": "bfc9518d4289c1e0477f0c99cf37c84d895ef8e8"
},
"lua": {
"revision": "9668709211b2e683f27f414454a8b51bf0a6bda1"
},

View file

@ -975,6 +975,14 @@ list.llvm = {
maintainers = { "@benwilliamgraham" },
}
list.liquidsoap = {
install_info = {
url = "https://github.com/savonet/tree-sitter-liquidsoap",
files = { "src/parser.c", "src/scanner.cc" },
},
maintainers = { "@toots" },
}
list.lua = {
install_info = {
url = "https://github.com/MunifTanjim/tree-sitter-lua",

View file

@ -0,0 +1,21 @@
[
(let)
(binding)
(simple_fun)
(def)
(arglist)
(if)
(if_condition)
(if_then)
(elsif_condition)
(elsif_then)
(if_else)
(for)
(for_do)
(while)
(while_do)
(try)
(try_body)
(try_do)
(block)
] @fold

View file

@ -0,0 +1,85 @@
(var) @variable
(op) @operator
["and" "or" "not"] @keyword.operator
[
"def"
"fun"
"def_end"
] @keyword.function
(let_decoration) @keyword.coroutine
[
"open"
"begin"
"block_end"
"let"
] @keyword
[
"while"
"do"
"to"
"for"
"for_end"
"while_end"
] @repeat
[
"if"
"then"
"elsif"
"else"
"if_end"
] @conditional
[
"try"
"catch"
"try_end"
] @exception
(inline_if [ "?" ":" ] @conditional.ternary)
[
"%ifdef"
"%ifndef"
"%ifencoder"
"%ifnencoder"
"%ifversion"
"%else"
"%endif"
"%argsof"
"%include"
] @preproc
(encoder_name) @constant.builtin
(anonymous_argument (var) @parameter)
(labeled_argument label: (var) @parameter)
"." @punctuation.delimiter
[
"("
")"
"["
"]"
"{"
"}"
] @punctuation.bracket
(app name: (var) @function.call)
(method) @method
(method_app) @method.call
(string) @string
(string_interpolation [ "#{" "}" ] @punctuation.special)
(integer) @number
(float) @float
(bool) @boolean
(comment) @comment
(regexp) @string.regex
(type) @type

View file

@ -0,0 +1,54 @@
[
"%ifdef"
"%ifndef"
"%ifencoder"
"%ifnencoder"
"%ifversion"
"%else"
"%endif"
"%argsof"
"%include"
] @indent.zero
[
"if"
"def"
"let"
"for"
"while"
"try"
"{"
"["
"("
] @indent.begin
(ERROR "def") @indent.begin
(def "def_end" @indent.end)
(if "if_end" @indent.end)
(block "block_end" @indent.end)
(for "for_end" @indent.end)
(while "while_end" @indent.end)
(try "try_end" @indent.end)
[
"then"
"do"
"else"
"elsif"
"catch"
] @indent.branch
[
"def_end"
"if_end"
"block_end"
"for_end"
"while_end"
"try_end"
"}"
"]"
")"
] @indent.branch @indent.end
(comment) @indent.auto

View file

@ -0,0 +1,15 @@
[(anonymous_function) (binding) (def) (let)] @scope
(anonymous_argument (var) @definition.parameter)
(labeled_argument label: (var) @definition.parameter)
(binding
defined: (var) @definition.var)
(def defined: (var) @definition.var)
(let defined: (var) @definition.var)
(meth_pattern (var) @definition.var)
(list_pattern (var) @definition.var)
(tuple_pattern (var) @definition.var)
(spread (var) @definition.var)
(var) @reference