From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Is it better to add treesitter modes to core? Date: Sun, 7 Jan 2024 23:27:42 +0200 Message-ID: References: <87a5phiap4.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4652"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: Stephen Leake To: Stefan Kangas , Philip Kaludercic , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 07 22:28:46 2024 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 1rMahJ-0000up-Hz for ged-emacs-devel@m.gmane-mx.org; Sun, 07 Jan 2024 22:28:46 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rMagS-0005qu-QB; Sun, 07 Jan 2024 16:27:52 -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 1rMagQ-0005nM-VZ for emacs-devel@gnu.org; Sun, 07 Jan 2024 16:27:51 -0500 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rMagO-0004MY-G6 for emacs-devel@gnu.org; Sun, 07 Jan 2024 16:27:50 -0500 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 76DCB5C17D2; Sun, 7 Jan 2024 16:27:46 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sun, 07 Jan 2024 16:27:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1704662866; x=1704749266; bh=5IPmdcsfD8Wrxl2OOrGQ7On7SaZtZE8IudmcNmyR77g=; b= Fboy+hgseINLPzzxEPqyWBFgpD8Fn4OAXKDaOBRa4VZR2sVHwFWWz3cVITdmGJoV XR98wcGpW0NWdXSswYpykjXmzlka88tVebgbPauhQuTrMRdDJmrMjN3svI6a9zO2 HWVzVv4Pi2mecehsHKJ4iCiai8CcADsYpCCk95LAdRUNceSmCi78Tg0uKrtuVQIu YC/fbXQ52PKq4ApQ3H//eeGIeoJ9dbIyArGoioh72438TczJc5eO90qC5t83A++s VfmOnq1SG2ZoSWN7Q7q99T2nc8CGQdlu59TdHg86wb7fjSNL5rgNIxr+FnuXBaHj Zcf16rMXIfqHgSuaNQWkJA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1704662866; x= 1704749266; bh=5IPmdcsfD8Wrxl2OOrGQ7On7SaZtZE8IudmcNmyR77g=; b=T y3mSojjbp8JXHgP8pptOrZbqc0FleevgELAgTbL6gRGqzBpOBIIbMTFdXvV1Id9B oEFJ0oEXtY1rYZ4gjpBXGVJQ2v9s2M9sehlIFqnenoJ2VGM1+a1NYwfKRaiwOOtD cMoeTBRijGmWOPO17erROivjuwDLMVMtFe77GNiFVbZtYoL26w0L0s7nwrlZ7Iz8 P0gWW3RKLRjhc494O1pBS0u3YpDOMXrqcBV8Y/K5+th8+tqwxC5Zt85XiPUcrs4I 1aLUagufe2ca5AD//l3Z7DuvSRy3xEhAb+JYIRC9bvfjpw3OWFIaFHOU64eSP445 TtmGm9x9w/DUwkkjr4Ccg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdehgedgkeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepfeekheeuteeigeevledtjeefheefheehjeehkeeuhfeffeelveffleehfefh vdevnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 7 Jan 2024 16:27:44 -0500 (EST) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=66.111.4.25; envelope-from=dmitry@gutov.dev; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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:314711 Archived-At: On 07/01/2024 19:46, Stefan Kangas wrote: > Dmitry writes: > >> On Sun, Jan 7, 2024, at 2:34 PM, Philip Kaludercic wrote: >>> What I am wondering, is if this simplification were to take place, if it >>> would be possible to add ada-mode (or ada-ts-mode in that case) back to >>> the core? >> What is this fetish of adding everything to the core? >> ELPA is just one 'M-x package-install' away. > > In Emacs, whatever real work you need to do, it's often the case that > "it's just one M-x package-install" away. That's right. It doesn't work for every purpose, though. Not for infrastructure packages (which we expect to be used by other packages), nor for features that we want to have enabled by default. > I see little reason for that. You don't want ELPA to be used? > In my ideal world, we should have basic editing support in place in > Emacs for typical tasks, and packages should provide extensions. Most > users don't particularly enjoy starting work with installing a bunch of > extras. The way VS Code works and its level of popularity seem to say otherwise. > Take a look at how much better things are elsewhere and weep: > > https://github.com/vim/vim/tree/master/runtime/syntax > > Yes, vim is different, their job is easier and so on and so forth. It is only better if the features provided in there are reasonably complete and well-maintained. Also note that in no cases Vim bundles advanced completion functionality of the kind that Ada-mode has. It's much bigger than any of the files in the above dir. > But > also consider that treesitter modes are looking far easier to maintain > than some of the behemoths we have sometimes had to write in ELisp. And yet the Vim repository doesn't have any tree-sitter integration, it's all third-party. I don't think we'll see it there anytime soon (or even in the medium term). > We might not want _all_ language support in Emacs, but for the main > languages: why would we _not_ want it? While I appreciate the > importance of workflow related arguments, from the end users point of > view, it really is a no-brainer which way is better. I don't really mind having the major modes for most popular languages in here, because in those cases the problem of extra traffic is offset by the advantage that one can see a problem and contribute a fix that will go out to help a lot of people. Even if I don't use a language in question myself. But doing that with languages that are unfamiliar to most contributors, and have small audience, is questionable. > This doesn't only apply to prog-modes, but also many text-modes. Take a > look at toml-ts-mode.el for example, and tell me one reason why it > shouldn't be in Emacs core. Markdown. YAML. Stuff like that. Possible grammar versioning problems. But the above should be small and stable enough, nor should they require many changes over the years. >> And Ada is niche enough that even the argument of having the popular >> languages supported OOtB doesn't work. > > I think historical context matters here. Ada is not exactly in vogue > these days, but it _is_ supported by GCC, and it has an ISO standard. > It's not some random novelty language for people that feel that > Typescript is not edgy enough, or anything like that. > > We also happened to support it in Emacs for ages. And it's still there in ELPA, available for everybody to install. Note that I don't mean to belittle Stephen's work, nor have any desire to throw it away, but the sentiment "it's unmaintained, let's bring it in the core and see what happens" sounds very wrong to me. It would be a good idea for the interested parties to pay more attention to ELPA and improve it there. And if we really want basic support for Ada in the core, one could extract the "traditional" major mode from it. Or perhaps start anew and implement the tree-sitter based mode. Since there is an existing (LSP) language server, Eglot could be used for the IDE features. And then it would be easier to compare the feature sets.