@@ -22,6 +22,7 @@
#:use-module (guix build-system node)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages node-xyz))
@@ -201,3 +202,32 @@ library.")
(description
"This package provides a CSS grammar for the Tree-sitter library.")
(license license:expat)))
+
+(define-public tree-sitter-go
+ (package (inherit tree-sitter-c)
+ (name "tree-sitter-go")
+ (version "0.19.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tree-sitter/tree-sitter-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nxs47vd2fc2fr0qlxq496y852rwg39flhg334s7dlyq7d3lcx4x"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments tree-sitter-c)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; The parse-example script tries to clone git repositories.
+ (add-after 'unpack 'remove-parse-example
+ (lambda _
+ (substitute* "package.json"
+ ((" && script\\/parse-examples") ""))))))))
+ (home-page "https://github.com/tree-sitter/tree-sitter-go")
+ (synopsis "Tree-sitter Go grammar")
+ (description
+ "This package provides a Golang grammar for the Tree-sitter library.")
+ (license license:expat)))