From 5cb76e74f9bd226f1b4757f478bf49873d9ecfe6 Mon Sep 17 00:00:00 2001
From: Kasper Juul Hermansen <contact@kjuulh.io>
Date: Mon, 9 Oct 2023 17:30:27 +0200
Subject: [PATCH] add lsp for graphql (#8492)

graphql-lsp has quite the strange name upstream, the project is technically called graphql-language-service,
but the binary shipped is called graphql-lsp hence the strange naming scheme

Signed-off-by: kjuulh <contact@kjuulh.io>
---
 book/src/generated/lang-support.md | 2 +-
 languages.toml                     | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md
index a2c4ba97..429f54f5 100644
--- a/book/src/generated/lang-support.md
+++ b/book/src/generated/lang-support.md
@@ -59,7 +59,7 @@
 | gomod | ✓ |  |  | `gopls` |
 | gotmpl | ✓ |  |  | `gopls` |
 | gowork | ✓ |  |  | `gopls` |
-| graphql | ✓ |  |  |  |
+| graphql | ✓ |  |  | `graphql-lsp` |
 | hare | ✓ |  |  |  |
 | haskell | ✓ | ✓ |  | `haskell-language-server-wrapper` |
 | haskell-persistent | ✓ |  |  |  |
diff --git a/languages.toml b/languages.toml
index f0c27a0c..24b6cccf 100644
--- a/languages.toml
+++ b/languages.toml
@@ -30,6 +30,7 @@ forth-lsp = { command = "forth-lsp" }
 fortls = { command = "fortls", args = ["--lowercase_intrinsics"] }
 fsharp-ls = { command = "fsautocomplete", config = { AutomaticWorkspaceInit = true } }
 gleam = { command = "gleam", args = ["lsp"] }
+graphql-language-service = { command = "graphql-lsp", args = ["server", "-m", "stream"] }
 haskell-language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] }
 idris2-lsp = { command = "idris2-lsp" }
 intelephense = { command = "intelephense", args = ["--stdio"] }
@@ -1513,6 +1514,7 @@ scope = "source.graphql"
 injection-regex = "graphql"
 file-types = ["gql", "graphql", "graphqls"]
 roots = []
+language-servers = [ "graphql-language-service" ]
 indent = { tab-width = 2, unit = "  " }
 
 [[grammar]]