From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Average-user-facing interface for tree-sitter Date: Tue, 18 Oct 2022 17:48:10 -0400 Message-ID: References: <3A7E7CD1-74A7-4352-9DFE-FC982EAA398E@gmail.com> <87ilko9r9e.fsf@gnus.org> <9794E2EF-4DB5-4A04-90F0-3EB51E6BE008@gmail.com> <87977C2D-844B-4F4E-BEA4-8BCBFC8AE354@gmail.com> <6A0F847F-910D-449B-B461-466493CC9847@gmail.com> <87sfjmg69q.fsf@gnus.org> <21B2ADDF-70BC-46D4-98D6-41C5D0EF7D40@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34544"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Lars Ingebrigtsen , emacs-devel To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 18 23:49:51 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 1okuT8-0008me-LR for ged-emacs-devel@m.gmane-mx.org; Tue, 18 Oct 2022 23:49:50 +0200 Original-Received: from localhost ([::1]:35164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1okuT7-0002NF-7Z for ged-emacs-devel@m.gmane-mx.org; Tue, 18 Oct 2022 17:49:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45916) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okuRf-0001cu-5I for emacs-devel@gnu.org; Tue, 18 Oct 2022 17:48:20 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59192) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okuRb-00020d-1w for emacs-devel@gnu.org; Tue, 18 Oct 2022 17:48:17 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5093E10013B; Tue, 18 Oct 2022 17:48:13 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8C0C91000E7; Tue, 18 Oct 2022 17:48:11 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1666129691; bh=mhnGT0k4XxAbcQe8d7GaopV/ZTSrOq8f6Tw3UCITbgA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=QW4vL25jOH/T6MTmNF1iSER3+/xOkdZpbolcjVZETXH7bVD4BvCoVvlbHPJ81GVWb xli+xSYPJbq8vyvmnNdCPgrC57rfmVT+lN4pvMgJi0zvZlOVQf10fpucxp8viTSPTu LhnUrmJJazcmSvBfOEk2833M2DsF96crwKOIIUN6vKLp/glxWDA2sLibCGMS7abBNm gzzvXCZ5HhdTmnOHQzio/ezJlpY4tnptCFz5r+q8fdJMbDLrCaI/ZVfwAbLwBTraWP KjPn239ggVhzq5pw+57WWzSJQzNluaV+0dABvoq6CPuy2vwyhpxkvsSH2pWTq2zqZ6 PGh0w788RR6Xw== Original-Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 778D9120513; Tue, 18 Oct 2022 17:48:11 -0400 (EDT) In-Reply-To: <21B2ADDF-70BC-46D4-98D6-41C5D0EF7D40@gmail.com> (Yuan Fu's message of "Tue, 18 Oct 2022 13:54:50 -0700") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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" Xref: news.gmane.io gmane.emacs.devel:298086 Archived-At: > For separated major modes, they need to do a bit of a dance. I don't think we should even try and document what they should do: they're evil and we should spend our efforts merging them into one instead. > Besides switching to the new major mode, they need to add (mode > . new-mode) to major-mode-remap-alist if global-treesit-mode is on (so > next time we go straight to new-mode as long as global-treesit-mode is > on). They also need to add (mode . new-mode) to > treesit-remapped-major-mode-alist so global-treesit-mode can remove > these entries when it turns off. Too much magic, IMO. Let each case handle it manually, since I suspect that every case will be different and the best thing to do will vary (it depends on whether the two modes are still actively maintained, whether by the same authors or not, the relative age and popularity of the respective modes, ...). Stefan