summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/nvim-treesitter/parsers.lua10
-rw-r--r--queries/gitignore/highlights.scm31
2 files changed, 41 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 18273e42..7aab74e9 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -1156,6 +1156,16 @@ list.tiger = {
maintainers = { "@ambroisie" },
}
+list.gitignore = {
+ install_info = {
+ url = "https://github.com/shunsambongi/tree-sitter-gitignore",
+ files = { "src/parser.c" },
+ branch = "main",
+ requires_generate_from_grammar = true,
+ },
+ maintainers = { "@theHamsta" },
+}
+
local M = {
list = list,
filetype_to_parsername = filetype_to_parsername,
diff --git a/queries/gitignore/highlights.scm b/queries/gitignore/highlights.scm
new file mode 100644
index 00000000..c5f1ac5e
--- /dev/null
+++ b/queries/gitignore/highlights.scm
@@ -0,0 +1,31 @@
+(comment) @comment
+
+[
+ (directory_separator)
+ (directory_separator_escaped)
+] @punctuation.delimiter
+
+[
+ (wildcard_char_single)
+ (wildcard_chars)
+ (wildcard_chars_allow_slash)
+ (bracket_negation)
+] @operator
+
+(negation) @punctuation.special
+
+[
+ (pattern_char_escaped)
+ (bracket_char_escaped)
+] @string.escape
+
+;; bracket expressions
+[
+ "["
+ "]"
+] @punctuation.bracket
+
+(bracket_char) @constant
+(bracket_range
+ "-" @operator)
+(bracket_char_class) @constant.builtin