From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Where to place third-party C source code? Date: Sat, 28 Sep 2019 08:54:41 -0400 Message-ID: References: <1504933445.581219.1569619792280.ref@mail.yahoo.com> <1504933445.581219.1569619792280@mail.yahoo.com> <83impdhqz1.fsf@gnu.org> <87pnjklvsb.fsf@yahoo.com.mx> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="74823"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Jorge Javier Araya Navarro Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 28 14:55:50 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iECGL-000JMA-U7 for ged-emacs-devel@m.gmane.org; Sat, 28 Sep 2019 14:55:50 +0200 Original-Received: from localhost ([::1]:60980 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iECGJ-0006Jb-Ts for ged-emacs-devel@m.gmane.org; Sat, 28 Sep 2019 08:55:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38391) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iECFX-0005dP-S9 for emacs-devel@gnu.org; Sat, 28 Sep 2019 08:55:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iECFV-0001Bg-Vd for emacs-devel@gnu.org; Sat, 28 Sep 2019 08:54:59 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:41667) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iECFU-000163-4x; Sat, 28 Sep 2019 08:54:56 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8809C81245; Sat, 28 Sep 2019 08:54:54 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B4D8D81098; Sat, 28 Sep 2019 08:54:48 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1569675288; bh=A0kpfttcxIdmHQ2Xtyp032jtjJaML3jNWQkWfvbq+F8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=ZFF7WyhKtVa0ldtdyAITELWJlhJv63kpybZHOWR6hw9lp2lQmtu0li7r7CzD6NtGr khvTz8tBn0GA3vg9f24sKnd63SrpJj0CNnyKX62z1itR9xjkm3MDxoZmpnKttDlmPU 7mQNJdE8rhElCSciBNhY2t2drF1kKEFXc99HtLAF6bBRNhSxCYD++sdWI0XEuUniTR axZVmmafrhjyqr566iZw2nnjEJh7I9q8XBE2zJEPbSdOn/gktEExiKReCJOzOEB7WV P7ap+AauYHIBJPcJdTJP92V5odrrvpboDAKdzYkq5gPfQznStNZ8vPhdRWymKyf0DK ttepAEvYqqScw== Original-Received: from pastel (107-179-151-143.cpe.teksavvy.com [107.179.151.143]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 79D521202F8; Sat, 28 Sep 2019 08:54:48 -0400 (EDT) In-Reply-To: <87pnjklvsb.fsf@yahoo.com.mx> (Jorge Javier Araya Navarro's message of "Sat, 28 Sep 2019 01:33:40 -0600") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 132.204.25.50 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:240368 Archived-At: > Ah, yes. There is one project that provides tree-sitter like a dynamic > module using the Emacs module API[1], but my concern is: why should > vanilla Emacs require their final users to download a bunch of > packages to make the user experience better when we could, like, > literally, provide them from the get-go? IIRC one pain-point of Emacs > for (new?) users is how much configuration is needed to have a better > editing experience. I'm vaguely familiar with tree-sitter but haven't spent the time investigating the situation enough to have a clear idea of what happens with it. Could you clarify the points below? 1- Other than the fact that it's not available "out of the box" is there some other problem with the existing dynamic module? I.e. would it be OK for Emacs to simply use this existing module as-is, just bundling it into the distribution tarball, or would it still not be as good as a "native" binding? 2- Say I find an SML grammar for tree-sitter, what extra (i.e. Emacs-specific) work do I need to do (as maintainer of sml-mode) in order for sml-mode users to benefit from it? and what kind of features would they get from it (I assume: indentation, of course, and probably some navigation, anything else)? 3- How does tree-sitter compare with the LSP-route (via eglot-mode or lsp-mode)? Stefan