mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
feat(faust): add tree-sitter-faust (#6043)
This commit is contained in:
parent
3e71d65447
commit
b444afa1da
5 changed files with 233 additions and 0 deletions
|
|
@ -225,6 +225,7 @@ We are looking for maintainers to add more parsers and to write query files for
|
|||
- [ ] [embedded_template](https://github.com/tree-sitter/tree-sitter-embedded-template)
|
||||
- [x] [erlang](https://github.com/WhatsApp/tree-sitter-erlang) (maintained by @filmor)
|
||||
- [x] [facility](https://github.com/FacilityApi/tree-sitter-facility) (maintained by @bryankenote)
|
||||
- [x] [faust](https://github.com/khiner/tree-sitter-faust) (maintained by @khiner)
|
||||
- [x] [fennel](https://github.com/travonted/tree-sitter-fennel) (maintained by @TravonteD)
|
||||
- [x] [firrtl](https://github.com/amaanq/tree-sitter-firrtl) (maintained by @amaanq)
|
||||
- [x] [fish](https://github.com/ram02z/tree-sitter-fish) (maintained by @ram02z)
|
||||
|
|
|
|||
|
|
@ -155,6 +155,9 @@
|
|||
"facility": {
|
||||
"revision": "a52579670e2b14ec03d410c3c980fafaf6d659c4"
|
||||
},
|
||||
"faust": {
|
||||
"revision": "4609dd2c126a4803139db03eed784d26effe9844"
|
||||
},
|
||||
"fennel": {
|
||||
"revision": "15e4f8c417281768db17080c4447297f8ff5343a"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -514,6 +514,15 @@ list.facility = {
|
|||
maintainers = { "@bryankenote" },
|
||||
}
|
||||
|
||||
list.faust = {
|
||||
install_info = {
|
||||
url = "https://github.com/khiner/tree-sitter-faust",
|
||||
files = { "src/parser.c" },
|
||||
},
|
||||
filetype = "dsp",
|
||||
maintainers = { "@khiner" },
|
||||
}
|
||||
|
||||
list.fennel = {
|
||||
install_info = {
|
||||
url = "https://github.com/travonted/tree-sitter-fennel",
|
||||
|
|
|
|||
218
queries/faust/highlights.scm
Normal file
218
queries/faust/highlights.scm
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
; Identifiers
|
||||
(identifier) @variable
|
||||
|
||||
(process) @variable.builtin
|
||||
|
||||
(parameters
|
||||
(identifier)) @variable.parameter
|
||||
|
||||
(global_metadata
|
||||
key: (identifier) @variable.member)
|
||||
|
||||
(function_metadata
|
||||
function_name: (identifier) @variable.member)
|
||||
|
||||
; Literals
|
||||
(_
|
||||
filename: (string)) @string.special.path
|
||||
|
||||
(documentation) @string.documentation @spell
|
||||
|
||||
[
|
||||
(string)
|
||||
(fstring)
|
||||
] @string
|
||||
|
||||
(int) @number
|
||||
|
||||
(real) @number.float
|
||||
|
||||
; Types
|
||||
(_
|
||||
type:
|
||||
[
|
||||
(int_type)
|
||||
(float_type)
|
||||
(any_type)
|
||||
]) @type.builtin
|
||||
|
||||
[
|
||||
(single_precision)
|
||||
(double_precision)
|
||||
(quad_precision)
|
||||
(fixed_point_precision)
|
||||
] @attribute
|
||||
|
||||
; Functions
|
||||
(function_definition
|
||||
name: (identifier) @function)
|
||||
|
||||
(function_names) @function
|
||||
|
||||
[
|
||||
(lambda)
|
||||
(prefix)
|
||||
(prim1)
|
||||
(prim2)
|
||||
(prim3)
|
||||
(prim4)
|
||||
(prim5)
|
||||
(function_call)
|
||||
] @function.call
|
||||
|
||||
[
|
||||
"exp"
|
||||
"log"
|
||||
"log10"
|
||||
"sqrt"
|
||||
"abs"
|
||||
"floor"
|
||||
"ceil"
|
||||
"rint"
|
||||
"round"
|
||||
"acos"
|
||||
"asin"
|
||||
"atan"
|
||||
"cos"
|
||||
"sin"
|
||||
"tan"
|
||||
"atan2"
|
||||
"int"
|
||||
"float"
|
||||
"pow"
|
||||
"min"
|
||||
"max"
|
||||
"fmod"
|
||||
"remainder"
|
||||
"prefix"
|
||||
"attach"
|
||||
"enable"
|
||||
"control"
|
||||
"rdtable"
|
||||
"rwtable"
|
||||
"select2"
|
||||
"select3"
|
||||
"lowest"
|
||||
"highest"
|
||||
"assertbounds"
|
||||
(par)
|
||||
(seq)
|
||||
(sum)
|
||||
(prod)
|
||||
(component)
|
||||
(library)
|
||||
(vslider_type)
|
||||
(hslider_type)
|
||||
(nentry_type)
|
||||
(vbargraph_type)
|
||||
(hbargraph_type)
|
||||
(vgroup_type)
|
||||
(hgroup_type)
|
||||
(tgroup_type)
|
||||
"button"
|
||||
"checkbox"
|
||||
"soundfile"
|
||||
"inputs"
|
||||
"outputs"
|
||||
"route"
|
||||
] @function.builtin
|
||||
|
||||
; xor is a @keyword.operator
|
||||
[
|
||||
(add)
|
||||
(sub)
|
||||
(mult)
|
||||
(div)
|
||||
(mod)
|
||||
(pow)
|
||||
(or)
|
||||
(and)
|
||||
(lshift)
|
||||
(rshift)
|
||||
(lt)
|
||||
(le)
|
||||
(gt)
|
||||
(ge)
|
||||
(eq)
|
||||
(neq)
|
||||
(delay)
|
||||
(one_sample_delay)
|
||||
"="
|
||||
"=>"
|
||||
"->"
|
||||
] @operator
|
||||
|
||||
(recursive
|
||||
"~" @operator)
|
||||
|
||||
(sequential
|
||||
":" @operator)
|
||||
|
||||
(split
|
||||
"<:" @operator)
|
||||
|
||||
(merge
|
||||
":>" @operator)
|
||||
|
||||
(parallel
|
||||
"," @operator)
|
||||
|
||||
; Keywords
|
||||
[
|
||||
(par)
|
||||
(seq)
|
||||
(sum)
|
||||
(prod)
|
||||
] @keyword.repeat
|
||||
|
||||
(file_import
|
||||
"import" @keyword.import)
|
||||
|
||||
[
|
||||
(wire)
|
||||
(cut)
|
||||
(mem)
|
||||
"declare"
|
||||
"with"
|
||||
"environment"
|
||||
"case"
|
||||
"ffunction"
|
||||
"fconstant"
|
||||
"fvariable"
|
||||
] @keyword
|
||||
|
||||
(xor) @keyword.operator
|
||||
|
||||
; Punctuation
|
||||
[
|
||||
","
|
||||
";"
|
||||
"."
|
||||
] @punctuation.delimiter
|
||||
|
||||
[
|
||||
"("
|
||||
")"
|
||||
"["
|
||||
"]"
|
||||
"{"
|
||||
"}"
|
||||
] @punctuation.bracket
|
||||
|
||||
; Comments
|
||||
(comment) @comment @spell
|
||||
|
||||
; Tags
|
||||
[
|
||||
"<mdoc>"
|
||||
"</mdoc>"
|
||||
"<metadata>"
|
||||
"</metadata>"
|
||||
"<equation>"
|
||||
"</equation>"
|
||||
"<diagram>"
|
||||
"</diagram>"
|
||||
"<listing"
|
||||
"<notice"
|
||||
"/>"
|
||||
] @tag
|
||||
2
queries/faust/injections.scm
Normal file
2
queries/faust/injections.scm
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
Loading…
Add table
Add a link
Reference in a new issue