> On Dec 16, 2022, at 09:48, João Távora wrote: > > On Fri, Dec 16, 2022 at 3:38 PM Eli Zaretskii wrote: > > From: João Távora > > Date: Fri, 16 Dec 2022 15:24:59 +0000 > > Cc: Perry Smith , emacs-devel@gnu.org > > > > I agree this is a problem, especially the language specific parser > > bits. Yesterday I tried out tree sitter Emacs on my Arch system. > > Finding the tree-sitter system lib was easy enough, but finding the C++ > > definition object wasn't so easy. Eventually I made it, but it needed > > compilation from source and a NodeJS toolchain that I didn't know > > I needed for that. > > No, you don't need a NodeJS toolchain to compile a grammar. You only > need to compile the C/C++ source files that are part of the grammar, > and then link them into a shared library. I use a simple Makefile to > build all of them, as the structure of the files and the way to > compile and link them are identical and boilerplate. And I definitely > don't have NodeJS installed here. > > I used: > > https://aur.archlinux.org/packages/tree-sitter-cpp-git > > which builds with the makepkg tool, and am pretty sure > it used NodeJS somewhere down the line. The language > definition it seems to use is https://github.com/tree-sitter/tree-sitter-cpp > which also contains a log of JS stuff. > > Is that where you get your C++ grammar from? Or am I > looking at an alternate outlet for slightly different grammar? > If so where do you get your grammars from and can we > bundle some version of them with Emacs? This file is in the Emacs source and outlines a lot of good stuff https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/notes/tree-sitter/starter-guide