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

From: Maxime Devos <[email-masked]>
Date: Thu, 10 Mar 2022 13:36:35 +0100

Pierre Langlois schreef op do 10-03-2022 om 11:17 [+0000]:
> Before continuing to work on this build-system though, do you have
> any
> opinions about adding it to begin with?  As opposed to the current
> approach of defining a base grammar package (see tree-sitter-c) and
> have
> the other grammar packages inherit from it.  I'm wondering if it's
> worth
> adding the build-system, when I don't think we should expect the
> number
> of grammars we would package to grow too much.  But then again, the
> package definitions do look quite a bit nicer with the build-system,
> so
> I'm a bit on the fence about this :-).

Build systems only cost a module or two, there are quite a few tree
sitter packages (19 or so?) and the tree sitter packages have a lot
in common (custom test phases, install phases), so I wouldn't
hesitate to define a custom build system for tree-sitter stuff.

Even better would be to unify things a bit more, e.g. it looks like
tree-sitter-ocaml needs a custom 'install', 'build' and 'check' phase,
but they looks almost the same as the other phases for other treesitter
packages, so maybe 'tree-sitter-build-system' can be taught to mostly
automatically determine the exact invocation?  

Also, 'use-modules' only really works on the top-level, I recommend
#:modules instead, there are some problems with using it in expression
context (I don't think they are documented anywhere though).

Greetings,
Maxime