From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: Tree-sitter introduction documentation Date: Thu, 29 Dec 2022 18:12:26 +0000 Message-ID: <87r0wif59x.fsf@posteo.net> References: <4895891b-e5ea-9c37-f51b-df2e479ee758@yandex.ru> <83y1qt11xq.fsf@gnu.org> <9eb013da-d0fc-8e17-c6e3-1e8f913aebfa@yandex.ru> <83pmc50xxc.fsf@gnu.org> <71cfe4e8-3bb8-b0a6-9be5-8c0a6d92cfab@yandex.ru> <83h6xg29z3.fsf@gnu.org> <838ris22n4.fsf@gnu.org> <8335901zz3.fsf@gnu.org> <87cz84y5le.fsf@posteo.net> <3F91FDEA-881A-49DB-BB52-5A0D81C004CE@gmail.com> <87k02aihrz.fsf@posteo.net> <86ce08480352653995b8@heytings.org> <87r0wigqnb.fsf@posteo.net> <86ce08480372e6e5db04@heytings.org> <87358ygmm4.fsf@posteo.net> <86ce084803fb642d8fae@heytings.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39623"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Yuan Fu , Stefan Monnier , Eli Zaretskii , Dmitry Gutov , Tim Cross , emacs-devel@gnu.org To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 29 19:15:37 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pAxRJ-000A3J-0F for ged-emacs-devel@m.gmane-mx.org; Thu, 29 Dec 2022 19:15:37 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAxOL-0007QN-5h; Thu, 29 Dec 2022 13:12:33 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAxOF-0007MD-3p for emacs-devel@gnu.org; Thu, 29 Dec 2022 13:12:27 -0500 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAxOC-0003js-Ku for emacs-devel@gnu.org; Thu, 29 Dec 2022 13:12:26 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 7E88A2401A9 for ; Thu, 29 Dec 2022 19:12:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1672337542; bh=s2N/RkHWW+yImN7wv3sF+4mSqRAH+OX23jSZ49Gh5A8=; h=From:To:Cc:Subject:Date:From; b=ok43nA4OMHgy05jO8LMwMZZxsNWsrS9afUw1kNpQq9zIv0g9WIxktOB4Z15kT+W8Q HhimytqkkHKjHaeu3hsYQcrPQRaNDXedMQV1N+apmpx5RNk1YXBysaR8cSOltsWGOy 4NsKHdLjXIBXkGQkjjjwtwXLL6lZRmxIBeWe5qnWJcR/kB5gbL+3bLLa11i3DVXulC xjAqnP+Q4bu10u72Fvlo0a+dQY+T7vQDSsXxhEOaHzUaZaPNHx0g0vhJ6QU3sCtxGY 9y8daW7SJv+ftjOpdlscQsaJFUL4nHlqp5YgGvNJ7qTfre0czIzLXugkVwYzot3qDV GgTcjXU1J1B5g== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Njc1J6wXpz6tmF; Thu, 29 Dec 2022 19:12:20 +0100 (CET) In-Reply-To: <86ce084803fb642d8fae@heytings.org> (Gregory Heytings's message of "Thu, 29 Dec 2022 17:31:51 +0000") Received-SPF: pass client-ip=185.67.36.66; envelope-from=philipk@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:302054 Archived-At: Gregory Heytings 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.