Subject: [bug#49946] [WIP PATCH v3 00/26] gnu: Add tree-sitter for emacs (and neovim as well?).

From: Pierre Langlois <[email-masked]>
Date: Thu, 10 Feb 2022 22:39:36 +0000

Hi Guix, hi Luis,

Here's a WIP V3 of my series for tree-sitter. I'm almost done with it, I
need to to another couple of passes to see if there's anything left to
cleanup.

I'm sharing it early as a WIP first, as I just noticed the other day
that Luis also contributed a patches for tree-sitter for neovim[0]. The
series I have here is quite a lot bigger though so I'm happy to rebase
it on top of yours, Luis :-). The package I had for tree-sitter looks
basically the same, I would then move it to a new file with all
tree-sitter related packages, if you're happy with that.

The other reason I'm posting this is this series, which while it only
supports emacs, actually builds grammars for some of the supported
languages, I picked a set that I think are popular, there are probably
more to add but I thought it was a good starting point. While the
grammars are originally in JSON, they are distributed as binaries it
seems so it'll be better if we can build them as part of Guix.

So I'm wondering, are these tree-sitter grammar packages also useful for
the neovim package for tree-sitter?

Anyways, see patches incoming in just a minute!

Thanks,
Pierre

[0]: https://issues.guix.gnu.org/53523

Pierre Langlois (26):
  gnu: Add rust-smallbitvec.
  gnu: Add rust-html-escape.
  gnu: Add [email-masked].
  gnu: Add tree-sitter.
  gnu: Add tree-sitter-cli.
  gnu: Add tree-sitter-c.
  gnu: Add tree-sitter-cpp.
  gnu: Add tree-sitter-bash.
  gnu: Add tree-sitter-css.
  gnu: Add tree-sitter-go.
  gnu: Add tree-sitter-html.
  gnu: Add tree-sitter-java.
  gnu: Add tree-sitter-javascript.
  gnu: Add tree-sitter-json.
  gnu: Add tree-sitter-julia.
  gnu: Add tree-sitter-php.
  gnu: Add tree-sitter-python.
  gnu: Add tree-sitter-rust.
  gnu: Add tree-sitter-typescript.
  gnu: Add rust-tree-sitter-for-emacs.
  gnu: rust-emacs-module: Update to 0.18.
  gnu: rust-emacs-macros: Update to 0.17.
  gnu: rust-emacs: Update to 0.18.
  gnu: Add emacs-tree-sitter-core.
  gnu: Add emacs-tree-sitter.
  gnu: Add emacs-tree-sitter-langs.

 gnu/local.mk                                  |   2 +
 gnu/packages/crates-io.scm                    | 154 +++-
 .../rust-tree-sitter-text-provider-fix.patch  |  98 +++
 gnu/packages/tree-sitter.scm                  | 808 ++++++++++++++++++
 4 files changed, 1044 insertions(+), 18 deletions(-)
 create mode 100644 gnu/packages/patches/rust-tree-sitter-text-provider-fix.patch
 create mode 100644 gnu/packages/tree-sitter.scm

-- 
2.34.0