From d4ca2c679104a598f9cc0cb2a1f47de04bfa1ad9 Mon Sep 17 00:00:00 2001 From: ShootingStarDragons Date: Tue, 23 Aug 2022 18:52:45 +0800 Subject: feat(meson): add support for meson Log: meson build --- lua/nvim-treesitter/parsers.lua | 11 +++++++ queries/meson/folds.scm | 9 ++++++ queries/meson/highlights.scm | 72 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 queries/meson/folds.scm create mode 100644 queries/meson/highlights.scm diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 2031e69b5..edc062edb 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -54,6 +54,17 @@ list.agda = { filetype = "agda", maintainers = { "@Decodetalkers" }, } + +list.meson = { + install_info = { + url = "https://github.com/Decodetalkers/tree-sitter-meson", + branch = "master", + files = { "src/parser.c" }, + }, + filetype = "meson", + maintainers = { "@Decodetalkers" }, +} + list.qmljs = { install_info = { url = "https://github.com/yuja/tree-sitter-qmljs", diff --git a/queries/meson/folds.scm b/queries/meson/folds.scm new file mode 100644 index 000000000..bb6c3c877 --- /dev/null +++ b/queries/meson/folds.scm @@ -0,0 +1,9 @@ +[ + (normal_command) + (if_condition) + (if_command) + (else_command) + (elseif_command) + (foreach_command) + (list) +] @fold diff --git a/queries/meson/highlights.scm b/queries/meson/highlights.scm new file mode 100644 index 000000000..4f842b45b --- /dev/null +++ b/queries/meson/highlights.scm @@ -0,0 +1,72 @@ +(comment) @comment +(number) @number +(bool) @boolean + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] +@punctuation.bracket + +[ + "and" + "not" + "or" + "in" +] @keyword.operator + +[ + "=" + "==" + "!=" + "+" + "/" + "/=" + "+=" + "-=" + ">" + ">=" +] @operator + +[ + "if" + "elif" + "else" + "endif" +] @conditional + +[ + "foreach" + "endforeach" + (keyword_break) + (keyword_continue) +] @repeat + +;;; format +(string) @string +["@"] @punctuation.special + +(experession_statement + object: (identifier) @variable) + +(normal_command + command: (identifier) @function) + +(list + variable: (identifier) @variable) + +(formatunit + variable: (identifier) @variable) + +(variableunit + value: (identifier) @variable) +(pair + key: (identifier) @property) +(pair + value: (identifier) @variable) + +(escape_sequence) @string.escape -- cgit v1.2.3-70-g09d2