~ruther/guix-local

704805a2989f1e17a842ac162dc349a7e2f44b0b — Evgenii Klimov 11 months ago 4f8be53
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 <liliana.prikler@gmail.com>
1 files changed, 22 insertions(+), 0 deletions(-)

M gnu/packages/tree-sitter.scm
M gnu/packages/tree-sitter.scm => gnu/packages/tree-sitter.scm +22 -0
@@ 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")