aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNTBBloodbath <bloodbathalchemist@protonmail.com>2024-03-17 07:27:42 -0400
committerObserverOfTime <chronobserver@disroot.org>2024-03-18 00:46:59 +0200
commitc4e0f290d744ceede4ec0c464a5f985e821b1502 (patch)
treea7c68b0b1d0b576762507ef61491581ee57593c4
parentbot(lockfile): update c_sharp, glimmer, hyprlang, meson, mlir, ocaml, ocaml_i... (diff)
downloadnvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar.gz
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar.bz2
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar.lz
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar.xz
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.tar.zst
nvim-treesitter-c4e0f290d744ceede4ec0c464a5f985e821b1502.zip
feat(http): switch to new parser version
fix(http): use `@variable.member` for fields fix(http): keep the comment injection fix(http): keep `method` capture as `@function.method` docs(README.md): update HTTP parser maintainers list feat(http): remove redundant captures cleanup(http): remove unneedeed highlighting captures
-rw-r--r--README.md2
-rw-r--r--lockfile.json2
-rw-r--r--lua/nvim-treesitter/parsers.lua3
-rw-r--r--queries/http/highlights.scm31
-rw-r--r--queries/http/injections.scm10
5 files changed, 35 insertions, 13 deletions
diff --git a/README.md b/README.md
index 23020bc39..496a9a82b 100644
--- a/README.md
+++ b/README.md
@@ -273,7 +273,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [hoon](https://github.com/urbit-pilled/tree-sitter-hoon) (experimental, maintained by @urbit-pilled)
- [x] [html](https://github.com/tree-sitter/tree-sitter-html) (maintained by @TravonteD)
- [x] [htmldjango](https://github.com/interdependence/tree-sitter-htmldjango) (experimental, maintained by @ObserverOfTime)
-- [x] [http](https://github.com/rest-nvim/tree-sitter-http) (maintained by @amaanq)
+- [x] [http](https://github.com/rest-nvim/tree-sitter-http) (maintained by @amaanq, @NTBBloodbath)
- [x] [hurl](https://github.com/pfeiferj/tree-sitter-hurl) (maintained by @pfeiferj)
- [x] [hyprlang](https://github.com/luckasRanarison/tree-sitter-hyprlang) (maintained by @luckasRanarison)
- [x] [ini](https://github.com/justinmk/tree-sitter-ini) (experimental, maintained by @theHamsta)
diff --git a/lockfile.json b/lockfile.json
index 0023e9583..aaeef174e 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -300,7 +300,7 @@
"revision": "ea71012d3fe14dd0b69f36be4f96bdfe9155ebae"
},
"http": {
- "revision": "6824a247d1326079aab4fa9f9164e9319678081d"
+ "revision": "e1c1085f1b36a19e82892cc1fc912cc9c968bb26"
},
"hurl": {
"revision": "cd1a0ada92cc73dd0f4d7eedc162be4ded758591"
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 53d1b7d96..1d587cdfa 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -912,9 +912,8 @@ list.http = {
install_info = {
url = "https://github.com/rest-nvim/tree-sitter-http",
files = { "src/parser.c" },
- generate_requires_npm = true,
},
- maintainers = { "@amaanq" },
+ maintainers = { "@amaanq", "@NTBBloodbath" },
}
list.hurl = {
diff --git a/queries/http/highlights.scm b/queries/http/highlights.scm
index a9c4dc079..8d9d0e640 100644
--- a/queries/http/highlights.scm
+++ b/queries/http/highlights.scm
@@ -1,5 +1,5 @@
-; Schemes
-(scheme) @type
+; Keywords
+(scheme) @module
; Methods
(method) @function.method
@@ -7,13 +7,24 @@
; Constants
(const_spec) @constant
+; Headers
+(header
+ name: (name) @constant)
+
; Variables
-(identifier) @variable
+(variable_declaration
+ name: (identifier) @variable)
; Fields
(pair
name: (identifier) @variable.member)
+; URL / Host
+(host) @string.special.url
+
+(path
+ (identifier) @string.special.url)
+
; Parameters
(query_param
(key) @variable.parameter)
@@ -24,17 +35,19 @@
"?"
"&"
"@"
+ "<"
] @operator
; Literals
-(string) @string
-
(target_url) @string.special.url
+(http_version) @constant
+
+(string) @string
+
(number) @number
-; (boolean) @boolean
-(null) @constant.builtin
+(boolean) @boolean
; Punctuation
[
@@ -44,5 +57,9 @@
":" @punctuation.delimiter
+; external JSON body
+(external_body
+ file_path: (path) @string.special.path)
+
; Comments
(comment) @comment @spell
diff --git a/queries/http/injections.scm b/queries/http/injections.scm
index a0cc1b4e9..68268afcb 100644
--- a/queries/http/injections.scm
+++ b/queries/http/injections.scm
@@ -1,11 +1,17 @@
+; Comments
((comment) @injection.content
(#set! injection.language "comment"))
+; Body
((json_body) @injection.content
(#set! injection.language "json"))
((xml_body) @injection.content
(#set! injection.language "xml"))
-; ((graphql_body) @injection.content
-; (#set! injection.language "graphql")) ; Not used as of now..
+((graphql_body) @injection.content
+ (#set! injection.language "graphql"))
+
+; Lua scripting
+((script_variable) @injection.content
+ (#set! injection.language "lua"))