From 721251dbfcd8160b189b8d8d47873e9d1fe9a5a4 Mon Sep 17 00:00:00 2001 From: ObserverOfTime Date: Thu, 8 Sep 2022 14:48:02 +0300 Subject: feat: add tree-sitter-gitattributes --- lua/nvim-treesitter/parsers.lua | 11 ++++++++ queries/gitattributes/highlights.scm | 54 ++++++++++++++++++++++++++++++++++++ queries/gitattributes/injections.scm | 1 + 3 files changed, 66 insertions(+) create mode 100644 queries/gitattributes/highlights.scm create mode 100644 queries/gitattributes/injections.scm diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 274be8a10..7abe2aa95 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1205,6 +1205,17 @@ list.gitignore = { maintainers = { "@theHamsta" }, } +list.gitattributes = { + install_info = { + url = "https://github.com/ObserverOfTime/tree-sitter-gitattributes", + files = { "src/parser.c" }, + branch = "master", + requires_generate_from_grammar = false, + }, + maintainers = { "@ObserverOfTime" }, + experimental = true, +} + local M = { list = list, filetype_to_parsername = filetype_to_parsername, diff --git a/queries/gitattributes/highlights.scm b/queries/gitattributes/highlights.scm new file mode 100644 index 000000000..2e2a89346 --- /dev/null +++ b/queries/gitattributes/highlights.scm @@ -0,0 +1,54 @@ +(dir_sep) @punctuation.delimiter + +(wildcard) @punctuation.special + +(quoted_pattern + ("\"" @character.special)) + +(range_notation) @string.special + +(range_notation + [ "[" "]" ] @punctuation.bracket) + +(range_negation) @operator + +(character_class) @constant + +(class_range ("-" @operator)) + +[ + (ansi_c_escape) + (escaped_char) +] @string.escape + +(attribute + (attr_name) @parameter) + +(attribute + (builtin_attr) @variable.builtin) + +[ + (attr_reset) + (attr_unset) + (attr_set) +] @operator + +(boolean_value) @boolean + +(string_value) @string + +(macro_tag) @preproc + +(macro_def + macro_name: (_) @property) + +[ + (pattern_negation) + (redundant_escape) + (trailing_slash) +] @error + +(ERROR) @error + +(comment) @comment +(comment) @spell diff --git a/queries/gitattributes/injections.scm b/queries/gitattributes/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/gitattributes/injections.scm @@ -0,0 +1 @@ +(comment) @comment -- cgit v1.2.3-70-g09d2