feat(lang): add Meson language support (#2314)
https://mesonbuild.com/Syntax.html
This commit is contained in:
parent
807cdc60bf
commit
2cb1ea7127
4 changed files with 92 additions and 0 deletions
|
@ -53,6 +53,7 @@
|
||||||
| lua | ✓ | | ✓ | |
|
| lua | ✓ | | ✓ | |
|
||||||
| make | ✓ | | | |
|
| make | ✓ | | | |
|
||||||
| markdown | ✓ | | | |
|
| markdown | ✓ | | | |
|
||||||
|
| meson | ✓ | | ✓ | |
|
||||||
| mint | | | | `mint` |
|
| mint | | | | `mint` |
|
||||||
| nickel | ✓ | | ✓ | `nls` |
|
| nickel | ✓ | | ✓ | `nls` |
|
||||||
| nix | ✓ | | ✓ | `rnix-lsp` |
|
| nix | ✓ | | ✓ | `rnix-lsp` |
|
||||||
|
|
|
@ -1342,3 +1342,16 @@ indent = { tab-width = 4, unit = " " }
|
||||||
[[grammar]]
|
[[grammar]]
|
||||||
name = "odin"
|
name = "odin"
|
||||||
source = { git = "https://github.com/MineBill/tree-sitter-odin", rev = "da885f4a387f169b9b69fe0968259ee257a8f69a" }
|
source = { git = "https://github.com/MineBill/tree-sitter-odin", rev = "da885f4a387f169b9b69fe0968259ee257a8f69a" }
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "meson"
|
||||||
|
scope = "source.meson"
|
||||||
|
injection-regex = "meson"
|
||||||
|
file-types = ["meson.build"]
|
||||||
|
roots = []
|
||||||
|
comment-token = "#"
|
||||||
|
indent = { tab-width = 2, unit = " " }
|
||||||
|
|
||||||
|
[[grammar]]
|
||||||
|
name = "meson"
|
||||||
|
source = { git = "https://github.com/bearcove/tree-sitter-meson", rev = "feea83be9225842490066522ced2d13eb9cce0bd" }
|
||||||
|
|
62
runtime/queries/meson/highlights.scm
Normal file
62
runtime/queries/meson/highlights.scm
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
(string_literal) @string
|
||||||
|
|
||||||
|
(boolean_literal) @constant.builtin.boolean
|
||||||
|
(integer_literal) @constant.numeric.integer
|
||||||
|
|
||||||
|
(comment) @comment.line
|
||||||
|
(function_id) @function
|
||||||
|
(keyword_arg_key) @variable.other.member
|
||||||
|
(id_expression) @variable
|
||||||
|
|
||||||
|
[
|
||||||
|
"if"
|
||||||
|
"elif"
|
||||||
|
"else"
|
||||||
|
"endif"
|
||||||
|
] @keyword.control.conditional
|
||||||
|
|
||||||
|
[
|
||||||
|
"foreach"
|
||||||
|
"endforeach"
|
||||||
|
] @keyword.control.repeat
|
||||||
|
|
||||||
|
[
|
||||||
|
"break"
|
||||||
|
"continue"
|
||||||
|
] @keyword.control
|
||||||
|
|
||||||
|
[
|
||||||
|
"not"
|
||||||
|
"in"
|
||||||
|
"and"
|
||||||
|
"or"
|
||||||
|
] @keyword.operator
|
||||||
|
|
||||||
|
[
|
||||||
|
"!"
|
||||||
|
"+"
|
||||||
|
"-"
|
||||||
|
"*"
|
||||||
|
"/"
|
||||||
|
"%"
|
||||||
|
"=="
|
||||||
|
"!="
|
||||||
|
">"
|
||||||
|
"<"
|
||||||
|
">="
|
||||||
|
"<="
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
[
|
||||||
|
":"
|
||||||
|
","
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
] @punctuation.bracket
|
16
runtime/queries/meson/indents.scm
Normal file
16
runtime/queries/meson/indents.scm
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
[
|
||||||
|
(method_expression)
|
||||||
|
(function_expression)
|
||||||
|
(array_literal)
|
||||||
|
(dictionary_literal)
|
||||||
|
(selection_statement)
|
||||||
|
(iteration_statement)
|
||||||
|
] @indent
|
||||||
|
|
||||||
|
[
|
||||||
|
")"
|
||||||
|
"]"
|
||||||
|
"}"
|
||||||
|
"endif"
|
||||||
|
"endforeach"
|
||||||
|
] @outdent
|
Loading…
Reference in a new issue