emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tree-sitter introduction documentation


From: Philip Kaludercic
Subject: Re: Tree-sitter introduction documentation
Date: Thu, 29 Dec 2022 18:12:26 +0000

Gregory Heytings <gregory@heytings.org> writes:

>>> I'm puzzled.  What would be the benefit of doing that?  Installing
>>> Node.js and tree-sitter is easy.
>>
>> Not always, I always have issues with Node.js on Debian
>> Stable. Especially when external dependencies are added to the mix.
>>
>
> I don't use Debian stable, so I can't comment on that.  On Debian
> testing (which is pretty stable!) installing the complete toolchain
> requires only two commands:
>
> $ apt install gcc g++ nodejs rust-all
> $ cargo install tree-sitter-cli

... assuming that the grammar has no additional dependencies, which
would mean that you'd have to deal with npm.

> That takes a couple of minutes at most.

For me and you, since we have spent time reading up on with tree sitter
and are familiar with the technologies it makes use of.  But it is by no
means obvious.

>>
>> The advantage would be a simpler toolchain that would require less
>> effort for the user to get running, instead of dealing with version
>> mismatches and dependency resolution.
>>
>
> As you know, regular users do not need to install the complete
> toolchain, a C and C++ compiler is enough.  It is only those few users
> that want to change the grammars or create new grammars that need a
> complete toolchain.

I should clarify that these are the users I am concerned with, and
without a reason to, I do not distinguish from "regular" users.

My main worry with these changes, along with the popularity of LSP is
that while they are technological improvements, they all happen at the
deterioration of Emacs' introspectability, increasing the effort it
takes for the user to make changes.  IIUC you can't reload a .el file or
just a singular expression if you want to change how completion via
Eglot or how imenu works via Tree Sitter.  A simple hack becomes a
weekend project.  This is not an unconditional good.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]