From 704805a2989f1e17a842ac162dc349a7e2f44b0b Mon Sep 17 00:00:00 2001 From: Evgenii Klimov Date: Sat, 8 Nov 2025 16:52:14 +0000 Subject: [PATCH] gnu: Add tree-sitter-graphql. * gnu/packages/tree-sitter.scm (tree-sitter-graphql): New variable. Package definition contains fix to queries/graphql/formatter.scm: input_object_type_definition node can not have input_value_definition node as its direct child [1]. input_fields_definition should be put in between. [1] https://github.com/bkegley/tree-sitter-graphql/blob/5e66e961eee421786bdda8495ed1db045e06b5fe/grammar.js#L234 Change-Id: Ib11a2edd9cd8f8791dc181fcdb2fb7fae307f781 Signed-off-by: Liliana Marie Prikler --- gnu/packages/tree-sitter.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm index ff0982d5c2c462ee29a14c71c531d23fa883a581..02575aa9ac45c4399c756c54ddd18016e6eb5c84 100644 --- a/gnu/packages/tree-sitter.scm +++ b/gnu/packages/tree-sitter.scm @@ -868,6 +868,28 @@ which will be used as a snippet in origin." (delete-file-recursively "src/tree_sitter"))) '#$grammar-directories)))))) +(define-public tree-sitter-graphql + (let ((commit "5e66e961eee421786bdda8495ed1db045e06b5fe") + (revision "0")) + (tree-sitter-grammar + "graphql" "GraphQL" + "0xvrd6p9rxdjpqfq575ap6hpl2f7dad5i4d4m05w1qk9jx33vw9n" + (git-version "0.0.1" revision commit) + #:commit commit + #:repository-url + "https://github.com/bkegley/tree-sitter-graphql" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (mkdir-p "test/corpus") + (copy-recursively "corpus" "test/corpus") + ;; FIXME: Impossible pattern. + (substitute* "queries/graphql/formatter.scm" + (("(\\(input_value_definition(.*@name)?\\))" all value _) + (string-append "(input_fields_definition " value ")"))) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + (define-public tree-sitter-groovy (let ((version "0.0.1") (commit "86911590a8e46d71301c66468e5620d9faa5b6af")