feat(lang): add Meson language support (#2314)

https://mesonbuild.com/Syntax.html
imgbot
unrelentingtech 2 years ago committed by GitHub
parent 807cdc60bf
commit 2cb1ea7127
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -53,6 +53,7 @@
| lua | ✓ | | ✓ | |
| make | ✓ | | | |
| markdown | ✓ | | | |
| meson | ✓ | | ✓ | |
| mint | | | | `mint` |
| nickel | ✓ | | ✓ | `nls` |
| nix | ✓ | | ✓ | `rnix-lsp` |

@ -1342,3 +1342,16 @@ indent = { tab-width = 4, unit = " " }
[[grammar]]
name = "odin"
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" }

@ -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

@ -0,0 +1,16 @@
[
(method_expression)
(function_expression)
(array_literal)
(dictionary_literal)
(selection_statement)
(iteration_statement)
] @indent
[
")"
"]"
"}"
"endif"
"endforeach"
] @outdent
Loading…
Cancel
Save