aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOmer Tuchfeld <otuchfel@redhat.com>2021-12-16 22:40:06 +0100
committerStephan Seitz <stephan.seitz@fau.de>2021-12-18 20:02:08 +0100
commit3b05ef44927cc245d2c68873d0a526592d3f93cd (patch)
treed732680a54cedbb52b19c1f74a00d37657628d9a
parentFix misleading text in `CONTRIBUTING.md` (#2137) (diff)
downloadnvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar.gz
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar.bz2
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar.lz
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar.xz
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.tar.zst
nvim-treesitter-3b05ef44927cc245d2c68873d0a526592d3f93cd.zip
Add support for new golang `go.work` files
The new golang 1.18 version (currently in beta) [introduced](https://github.com/golang/go/issues/45713) a new file type called `go.work`. This commit adds support for the syntax of that file using the https://github.com/omertuc/tree-sitter-go-work repository That repository is heavily based on previous work in the https://github.com/camdencheek/tree-sitter-go-mod repository, with a few minor changes to make it work on the very similar `go.work` files.
-rw-r--r--README.md1
-rw-r--r--ftdetect/gowork.vim1
-rw-r--r--lockfile.json3
-rw-r--r--lua/nvim-treesitter/parsers.lua10
-rw-r--r--queries/gomod/injections.scm1
-rw-r--r--queries/gowork/highlights.scm14
-rw-r--r--queries/gowork/injections.scm1
7 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index ec9876d64..8fef504bd 100644
--- a/README.md
+++ b/README.md
@@ -186,6 +186,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [go](https://github.com/tree-sitter/tree-sitter-go) (maintained by @theHamsta, @WinWisely268)
- [x] [Godot Resources (gdresource)](https://github.com/PrestonKnopp/tree-sitter-godot-resource) (maintained by @pierpo)
- [x] [gomod](https://github.com/camdencheek/tree-sitter-go-mod) (maintained by @camdencheek)
+- [x] [gowork](https://github.com/omertuc/tree-sitter-go-work) (maintained by @omertuc)
- [x] [graphql](https://github.com/bkegley/tree-sitter-graphql) (maintained by @bkegley)
- [ ] [haskell](https://github.com/tree-sitter/tree-sitter-haskell)
- [x] [hcl](https://github.com/MichaHoffmann/tree-sitter-hcl) (maintained by @MichaHoffmann)
diff --git a/ftdetect/gowork.vim b/ftdetect/gowork.vim
new file mode 100644
index 000000000..47edcb63c
--- /dev/null
+++ b/ftdetect/gowork.vim
@@ -0,0 +1 @@
+au BufRead,BufNewFile go.work set filetype=gowork
diff --git a/lockfile.json b/lockfile.json
index b3391b432..ca0a6f70f 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -89,6 +89,9 @@
"gomod": {
"revision": "3cbcb572109ea0bc476a292208722c326c9e6c3a"
},
+ "gowork": {
+ "revision": "aafab008b4c855f20871cb978e41cf3b94466c70"
+ },
"graphql": {
"revision": "5e66e961eee421786bdda8495ed1db045e06b5fe"
},
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 57280e820..304166ef8 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -184,6 +184,16 @@ list.gomod = {
filetype = "gomod",
}
+list.gowork = {
+ install_info = {
+ url = "https://github.com/omertuc/tree-sitter-go-work",
+ branch = "main",
+ files = { "src/parser.c" },
+ },
+ maintainers = { "@omertuc" },
+ filetype = "gowork",
+}
+
list.graphql = {
install_info = {
url = "https://github.com/bkegley/tree-sitter-graphql",
diff --git a/queries/gomod/injections.scm b/queries/gomod/injections.scm
new file mode 100644
index 000000000..4bb7d675d
--- /dev/null
+++ b/queries/gomod/injections.scm
@@ -0,0 +1 @@
+(comment) @comment
diff --git a/queries/gowork/highlights.scm b/queries/gowork/highlights.scm
new file mode 100644
index 000000000..9c84bcc44
--- /dev/null
+++ b/queries/gowork/highlights.scm
@@ -0,0 +1,14 @@
+[
+ "replace"
+ "go"
+ "use"
+] @keyword
+
+"=>" @operator
+
+(comment) @comment
+
+[
+(version)
+(go_version)
+] @string
diff --git a/queries/gowork/injections.scm b/queries/gowork/injections.scm
new file mode 100644
index 000000000..4bb7d675d
--- /dev/null
+++ b/queries/gowork/injections.scm
@@ -0,0 +1 @@
+(comment) @comment