From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuan Fu Newsgroups: gmane.emacs.devel Subject: Re: Average-user-facing interface for tree-sitter Date: Wed, 26 Oct 2022 18:56:44 -0700 Message-ID: <486B2CA9-058E-4842-B9FB-0393F3D5F079@gmail.com> References: <8BAAB6CC-C8BA-4255-9E60-8963A828BE31@gmail.com> <41838564-B3F1-46C8-A316-EE888C4B9968@gmail.com> <1E3B06A0-46B0-495B-90B0-618CCA5D1C59@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32523"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Theodor Thornhill , Lars Ingebrigtsen , emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Oct 27 03:58:19 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 1ons9z-0008JO-Go for ged-emacs-devel@m.gmane-mx.org; Thu, 27 Oct 2022 03:58:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ons8Z-00016S-RX; Wed, 26 Oct 2022 21:56:51 -0400 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 1ons8Y-0000x4-Qp for emacs-devel@gnu.org; Wed, 26 Oct 2022 21:56:50 -0400 Original-Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ons8W-0004FP-Um for emacs-devel@gnu.org; Wed, 26 Oct 2022 21:56:50 -0400 Original-Received: by mail-pf1-x42c.google.com with SMTP id b29so13021051pfp.13 for ; Wed, 26 Oct 2022 18:56:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=BOMtisS1izFuI4OOgXBbmJ9x0hqn1JLx4HhB9y9SaJ8=; b=FK0GjyBFi4oLE+NXptbYQ4dhvOcRIYRQ+mk3JqrV2I6ZconPzlr2qYl0mZtc0YGKRy e5p8JWfbEtV/MJxOlk4I0N37izTd5KO5IMB8xJW2vviNWa9Y33LFu0dILi32jlCcvfwI +6ujo4zC8n3Czmmig9cYULfUEWvbXZlOhiFKH5c/OeBnhbp9HQPp4Y8aWcFYfJotxc75 yhxs82BuKz9OQ++XeVtFpoatwmkDHAaA651yBNI/7jU7DW9EJTk4r2FQvs1zeY8GNDYS 5VfS/+g433gqNquvkq/rNHEpSeTgxrwgoXxxHY1nP5nlrJQVb+NXBAQGGDSdbnmsE66F TQmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BOMtisS1izFuI4OOgXBbmJ9x0hqn1JLx4HhB9y9SaJ8=; b=YbS12MeHjuVtSa1W+PQ/0zUKN/E6ammyeCyAWcejOPp8tjN5KaqjheGYCgQKpoRdk2 PHzdhCC1+75iRuXx4+XT+zDYu9XAVzcAcSOBPmnQpv510z4EB8gHeRORBieFwu3ZziHy bS2zqqsEJX/h8agUylgeZHLK0zKH9WLrpyuU3JX9FJ/8BCshqggFr9+S0E/HkYYAfaYt Vrtl2kiAztYdNwL65nHOzbzpU1Mn3vAcG+zkcDt3LigYueuSAB5ob6330b7WF0mwk3Km nn07LMQKFfdAG8wvEMiWXmXj3cl6ZxqXp1IRj4YsmW9jqphvQlZh6ZDpwurtkz2VL0FO fbBQ== X-Gm-Message-State: ACrzQf2r2JgKvct7nfy5KvSFNlZTqYLOOJCW/75fvSAku0MEZ3CsnYXj aTEUkuGn64ZryErhm8nNRc0= X-Google-Smtp-Source: AMsMyM5zEIlfNGFoOvr4JWiEoMtnxzUcy+5YF40B2hW0KHYea6YaVQs842ZWSb5SejsB38l/IyLojQ== X-Received: by 2002:a65:6e8c:0:b0:435:144e:445e with SMTP id bm12-20020a656e8c000000b00435144e445emr41427318pgb.96.1666835807368; Wed, 26 Oct 2022 18:56:47 -0700 (PDT) Original-Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id v129-20020a622f87000000b0056c7b49a011sm46064pfv.76.2022.10.26.18.56.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Oct 2022 18:56:47 -0700 (PDT) In-Reply-To: X-Mailer: Apple Mail (2.3696.120.41.1.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=casouri@gmail.com; helo=mail-pf1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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: , Original-Sender: "Emacs-devel" Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:298593 Archived-At: > On Oct 25, 2022, at 3:49 PM, Stefan Monnier = wrote: >=20 >> Ok, I pushed the change. I didn=E2=80=99t move as many setup in = js-mode as you did >> in the patch, because I think some of them are still needed? For = example, >> filling. Js-mode=E2=80=99s tree-sitter code doesn=E2=80=99t provide = filling right now, so we >> should setup filling regardless of tree-sitter. >=20 > Yes, there are indeed some non-trivial tradeoffs here. Reading some old bug report made me realize another problem: what if a = derived-mode of js-mode, A-mode expects cc-mode stuff to be setup by = js-mode, but js-mode doesn=E2=80=99t setup cc-mode because it=E2=80=99s = using tree-sitter? But if A-mode uses tree-sitter too, then it wouldn=E2=80=99t want = js-mode to setup cc-mode. So it seems A-mode needs a way to control = whether it wants its parent mode(s) to setup tree-sitter or not. One way would be adding another flag in treesit-settings, which controls = whether this mode=E2=80=99s parent should setup tree-sitter. Yuan=