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: Turning on/off tree-sitter modes Date: Sun, 24 Nov 2024 04:29:11 +0200 Message-ID: <0d1e2770-0889-4862-8105-8a5f4631b11c@gutov.dev> References: <864j43t8t9.fsf@gnu.org> <4cc676e8-cac5-4348-99b0-243baf74687e@gutov.dev> <8634jnt5e3.fsf@gnu.org> <4864104c-cb23-4356-ad89-2fea111db66c@gutov.dev> <86ttc2rrh8.fsf@gnu.org> <86cyipsp94.fsf@gnu.org> <9cd17f8b-f88c-49f6-9024-0b6d297e18ac@gutov.dev> <867c8xsmri.fsf@gnu.org> <566ac897-ea5e-4141-bcb3-306d43c9118a@gutov.dev> <865xohrvfa.fsf@gnu.org> <86wmgwnyle.fsf@gnu.org> <178dfc7f-bc2d-4e3b-8417-a616ccc0eef3@gutov.dev> <86v7wgnxlz.fsf@gnu.org> <01d83ec8-c02b-4806-8764-38dc89a89125@gutov.dev> <86ttbzojho.fsf@gnu.org> <930f5c8e-1481-43a5-8f1d-2c13a98df74f@gutov.dev> <86r072krq5.fsf@gnu.org> <8b907a41-aa08-4b61-bced-7d4d3fcef4b2@gutov.dev> <87frnhsvp3.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29729"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: Eli Zaretskii , johan.myreen@gmail.com, emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 24 03:29:54 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 1tF2Nl-0007WH-Mu for ged-emacs-devel@m.gmane-mx.org; Sun, 24 Nov 2024 03:29:54 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tF2ND-0008P8-T1; Sat, 23 Nov 2024 21:29:19 -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 1tF2NB-0008Or-ND for emacs-devel@gnu.org; Sat, 23 Nov 2024 21:29:17 -0500 Original-Received: from fhigh-a6-smtp.messagingengine.com ([103.168.172.157]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tF2NA-0001G6-9i; Sat, 23 Nov 2024 21:29:17 -0500 Original-Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfhigh.phl.internal (Postfix) with ESMTP id 6DE7C11400EC; Sat, 23 Nov 2024 21:29:14 -0500 (EST) Original-Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Sat, 23 Nov 2024 21:29:14 -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=fm2; t=1732415354; x=1732501754; bh=LLeYJ2dqFkjjWb1ilr8W1tQMtDbe5u0gYDm3RYR/sNg=; b= gYMbD1AFYZKNsCSnPRuNNTMZSdIwsIan5jhqSnf7H8OXur+DGGjcqsr4hDeMpOEt p2O2LjelLYMSnGXESJ1FaHX/0ADdxdF6JbCBEvFn9ZqhVfVs2h5EqgHJDUKVcas1 qL14m7teQKYoj8ghUwtQb4iSsdvWH7DZsi1P9Bo3o2kib5lP1D+wxfEc8bw4mv/O 6/plxw5EnX+iC7nkOAhSC50GLD3byrd1kTD3VpmLAyCX+VqvCOvIruc2yG130o9B g9C9S0PPLk4egJaTr2Du+C8Hk+ktkakLhrVMH7jwl/zz4A/qmwD/BFKySTD09EuW SqVL3ioUaaoY2GD7oz1dcg== 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-sender:x-me-sender:x-sasl-enc; s=fm1; t=1732415354; x= 1732501754; bh=LLeYJ2dqFkjjWb1ilr8W1tQMtDbe5u0gYDm3RYR/sNg=; b=E icFu14KaphQA3LVjJT5ZCKp5Ecnx1ygCjW1oXS2ohKCKFNpZJ88uXfamxcHoE+i+ P4/rbW/p1NqcNAzBaH2/3w65qS42yaiWVbE2aNIiKDqlHAZje45uRMJDfnofEJbU xozykhh6MP3Oq5MNdRekZt7FCzOwFJX8IfcXikcfvrmTMJTXY18116htmQJtaZi2 Se1Vv3wB6jVUsbDgqJa38HSwXQFUjbNKdBlqiHwvGtJkqZCn/n1TDgkk+9PtwYF+ 2Y0OAI9LCm+8Bk+4OROOnxIq51+TMhfsAsDMs0k/fbIE3izRMFDuXfKRYoFa+f6T Oq6xsjhKkN5ctBA/SKidw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrgedvgdegiecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnth hsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddvjeen ucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvg hvqeenucggtffrrghtthgvrhhnpeegleefteekgffhvdfhtdegveevveetteegteevgeet tdehhfdukeetheffueekkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthhtohep gedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhhurhhisehlihhnkhhovhdrnh gvthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehjohhhrghn rdhmhihrvggvnhesghhmrghilhdrtghomhdprhgtphhtthhopegvmhgrtghsqdguvghvvg hlsehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 23 Nov 2024 21:29:12 -0500 (EST) Content-Language: en-US In-Reply-To: <87frnhsvp3.fsf@mail.linkov.net> Received-SPF: pass client-ip=103.168.172.157; envelope-from=dmitry@gutov.dev; helo=fhigh-a6-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 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_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_SBL_A=0.1 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:325641 Archived-At: On 23/11/2024 19:51, Juri Linkov wrote: > Recently Philip rightly noticed that 'major-mode-remap-alist' > would be sufficient. And indeed, such a command could be implemented > just as > > (defun treesit-add-enabled-mode (non-ts-mode ts-mode) > (setopt major-mode-remap-alist > (cons (cons non-ts-mode ts-mode) > major-mode-remap-alist))) A few problems with that: - Where does the second argument come from? Do we read the first argument from the user as well? - Some modes can use major-mode-remap-alist, and some (such as go-ts-mode) don't have "original" modes to hook up to. For those cases, the command would have to read the regexps from the user, and it's #1 thing we apparently want to avoid. > Or the idea was to simplify this by using only ts-mode here > while maintaining a huge database of non-ts → ts mappings > in an internal variable? (that will eventually grow > into something like 'eglot-server-programs') If we want to have an option like treesit-enable-modes (allowing the user to turn on all built-in ts modes), it doesn't seem like we could do that without maintaining this database in some form. Only for built-in modes, though.