aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lockfile.json3
-rw-r--r--lua/nvim-treesitter/parsers.lua8
-rw-r--r--queries/readline/folds.scm1
-rw-r--r--queries/readline/highlights.scm69
-rw-r--r--queries/readline/indents.scm8
-rw-r--r--queries/readline/injections.scm2
7 files changed, 92 insertions, 0 deletions
diff --git a/README.md b/README.md
index 0f7c50cb4..f62213b41 100644
--- a/README.md
+++ b/README.md
@@ -353,6 +353,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [rasi](https://github.com/Fymyte/tree-sitter-rasi) (maintained by @Fymyte)
- [x] [rbs](https://github.com/joker1007/tree-sitter-rbs) (maintained by @joker1007)
- [x] [re2c](https://github.com/amaanq/tree-sitter-re2c) (maintained by @amaanq)
+- [x] [readline](https://github.com/ribru17/tree-sitter-readline) (maintained by @ribru17)
- [x] [regex](https://github.com/tree-sitter/tree-sitter-regex) (maintained by @theHamsta)
- [x] [rego](https://github.com/FallenAngel97/tree-sitter-rego) (maintained by @FallenAngel97)
- [x] [pip requirements](https://github.com/ObserverOfTime/tree-sitter-requirements) (maintained by @ObserverOfTime)
diff --git a/lockfile.json b/lockfile.json
index f6e095874..dc85a37d6 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -539,6 +539,9 @@
"re2c": {
"revision": "47aa19cf5f7aba2ed30e2b377f7172df76e819a6"
},
+ "readline": {
+ "revision": "221edd74cdca24bd5e54b39a0d73b7a1bd11d8cd"
+ },
"regex": {
"revision": "2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96"
},
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index b5c8778cb..852852986 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -1595,6 +1595,14 @@ list.re2c = {
maintainers = { "@amaanq" },
}
+list.readline = {
+ install_info = {
+ url = "https://github.com/ribru17/tree-sitter-readline",
+ files = { "src/parser.c" },
+ },
+ maintainers = { "@ribru17" },
+}
+
list.regex = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-regex",
diff --git a/queries/readline/folds.scm b/queries/readline/folds.scm
new file mode 100644
index 000000000..57c9bc7da
--- /dev/null
+++ b/queries/readline/folds.scm
@@ -0,0 +1 @@
+(conditional_construct) @fold
diff --git a/queries/readline/highlights.scm b/queries/readline/highlights.scm
new file mode 100644
index 000000000..e7aaf817a
--- /dev/null
+++ b/queries/readline/highlights.scm
@@ -0,0 +1,69 @@
+(comment) @comment @spell
+
+"set" @keyword
+
+[
+ "$if"
+ "$else"
+ "$endif"
+] @keyword.conditional
+
+"$include" @keyword.import
+
+[
+ "="
+ "=="
+ "!="
+ ">="
+ "<="
+ ">"
+ "<"
+] @operator
+
+[
+ ":"
+ "-"
+] @punctuation.delimiter
+
+[
+ (application_name)
+ (keyname)
+ (keyseq)
+ (macro)
+ (string_value)
+ (term_name)
+] @string
+
+(file_path) @string.special.path
+
+(escape_sequence) @string.escape
+
+(symbolic_character_name) @character.special
+
+(key_literal) @character
+
+(function_name) @function
+
+[
+ (bell_variable)
+ (bool_variable)
+ (edit_mode_variable)
+ (keymap_variable)
+ (number_variable)
+ (string_variable)
+] @variable.builtin
+
+[
+ (bell_value)
+ (edit_mode_value)
+ (keymap_value)
+ "version"
+ "term"
+ "mode"
+] @constant.builtin
+
+(number_value) @number
+
+(version_number) @string.special
+
+(bool_value) @boolean
diff --git a/queries/readline/indents.scm b/queries/readline/indents.scm
new file mode 100644
index 000000000..aa6fd88a3
--- /dev/null
+++ b/queries/readline/indents.scm
@@ -0,0 +1,8 @@
+(conditional_construct) @indent.begin
+
+[
+ "$else"
+ "$endif"
+] @indent.branch
+
+"$endif" @indent.end
diff --git a/queries/readline/injections.scm b/queries/readline/injections.scm
new file mode 100644
index 000000000..2f0e58eb6
--- /dev/null
+++ b/queries/readline/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))