unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Theodor Thornhill <theo@thornhill.no>, Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: Call for volunteers: add tree-sitter support to major modes
Date: Mon, 10 Oct 2022 08:55:06 +0300	[thread overview]
Message-ID: <83o7uki5ol.fsf@gnu.org> (raw)
In-Reply-To: <878rlo7on0.fsf@thornhill.no> (message from Theodor Thornhill on Sun, 09 Oct 2022 22:01:07 +0200)

> From: Theodor Thornhill <theo@thornhill.no>
> Date: Sun, 09 Oct 2022 22:01:07 +0200
> 
> I'd like to add in Java support here as well.

Sure, that'd be very good, TIA.

> But since java is part of cc-mode.el, maybe it'd be best if it got
> its own mode, say java-treesitter-mode.el, so that we don't add a
> dependency into cc-mode?  If you agree, I can create such a
> major-mode as well.

It depends on practical considerations.  If cc-mode's Java part has
significant features beyond those we intend to have supported by
tree-sitter, then a minor variation of cc-mode's java-mode is probably
the best; it could be via some minor mode or simply an optional
feature turned on by a defcustom.

OTOH, if Java support in cc-mode is more or less the same features as
we intend to provide with tree-sitter, a separate mode is probably the
best.

Alan, any comments and/or suggestions?

> Also, how should we mandate what modes get the new tree-sitter support?

Ideally, all of them.  The list I presented was just the minimal
program, considering the short time until Emacs 29 starts its release
cycle.  But there's no upper bound on the modes which should get
tree-sitter support.

> It is pretty fast to add new modes, and adding support for languages not
> already supported in core, such as say, golang, should be very feasible.
> But maybe that is something that should live in elpa?

I don't think programming-language modes should be outside of core, as
a matter of principle.  So, unless there are some specific reasons not
to include a mode (like lack of copyright assignments or the
author/maintainer objections), such modes should be in core.

There's also an issue of having popular modes for those languages as
3rd-party packages out there: it is best to try to bring them into
core and then add tree-sitter to them (unless they already support
it), than to come up with a completely separate implementation -- this
will allow their today's users to keep using the same more, instead of
having to decide whether to switch.

But otherwise, if it's easy to add support for more languages using
tree-sitter, let's do that, yes.



  parent reply	other threads:[~2022-10-10  5:55 UTC|newest]

Thread overview: 208+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-09  9:03 Call for volunteers: add tree-sitter support to major modes Eli Zaretskii
2022-10-09  9:47 ` Theodor Thornhill
2022-10-09 12:21   ` Eli Zaretskii
2022-10-09 12:41     ` Theodor Thornhill
2022-10-09 14:04       ` Eli Zaretskii
2022-10-09 15:18         ` Theodor Thornhill
2022-10-09 15:36           ` Eli Zaretskii
2022-10-09 19:25             ` Theodor Thornhill
2022-10-09 21:21               ` Theodor Thornhill
2022-10-09 22:03                 ` Emanuel Berg
2022-10-10  6:35                   ` Theodor Thornhill
2022-10-09 22:39                 ` Yuan Fu
2022-10-10  4:05                   ` Yuan Fu
2022-10-10  6:28                     ` Eli Zaretskii
2022-10-10  6:35                       ` Theodor Thornhill
2022-10-10  8:11                         ` Eli Zaretskii
2022-10-10  6:46                       ` Yuan Fu
2022-10-10  8:16                         ` Eli Zaretskii
2022-10-10  7:08                   ` Theodor Thornhill
2022-10-10 15:48                     ` Yuan Fu
2022-10-10 16:29                       ` Theodor Thornhill
2022-10-10 17:16                         ` Yuan Fu
2022-10-10 17:53                           ` Yuan Fu
2022-10-10 18:04                             ` Theodor Thornhill
2022-10-11  6:53                     ` Jostein Kjønigsen
2022-10-11  7:16                       ` Theodor Thornhill
2022-10-09 14:08       ` Dmitry Gutov
2022-10-09 12:26 ` Philip Kaludercic
2022-10-09 12:27   ` Po Lu
2022-10-09 13:27     ` Eli Zaretskii
2022-10-09 14:01       ` Po Lu
2022-10-09 14:07         ` Eli Zaretskii
2022-10-09 13:25   ` Eli Zaretskii
2022-10-10  6:39     ` Turing on tree-sitter (was: Call for volunteers: add tree-sitter support to major modes) Eli Zaretskii
2022-10-10  6:46       ` Theodor Thornhill
2022-10-10  6:54         ` Yuan Fu
2022-10-10  7:26           ` Turing on tree-sitter Philip Kaludercic
2022-10-10  8:22             ` Eli Zaretskii
2022-10-10 14:52               ` Stefan Monnier
2022-10-10 15:29                 ` Daniel Martín
2022-10-10 16:04                 ` Eli Zaretskii
2022-10-10 16:06                 ` Yuan Fu
2022-10-10 16:24                   ` Philip Kaludercic
2022-10-10 16:54                     ` Yuan Fu
2022-10-10 17:05                       ` Theodor Thornhill
2022-10-10 20:56                         ` Buliding with tree-sitter (Was: Turing on tree-sitter) Jostein Kjønigsen
2022-10-10 21:34                           ` Jostein Kjønigsen
2022-10-10 22:54                       ` Turing on tree-sitter Daniel Martín
2022-10-10  8:19           ` Turing on tree-sitter (was: Call for volunteers: add tree-sitter support to major modes) Eli Zaretskii
2022-10-10  8:18         ` Eli Zaretskii
2022-10-10  6:59       ` Turing on tree-sitter Lars Ingebrigtsen
2022-10-09 14:36 ` Call for volunteers: add tree-sitter support to major modes Brian
2022-10-09 14:53   ` Eli Zaretskii
2022-10-09 15:20     ` Brian
2022-10-09 15:39       ` Eli Zaretskii
2022-10-09 16:03         ` Brian
2022-10-09 17:23           ` Eli Zaretskii
2022-10-09 23:45           ` Yuan Fu
2022-10-10  9:34             ` Brian
2022-10-10 10:10               ` Po Lu
2022-10-10 10:27                 ` Brian
2022-10-10 15:53               ` Yuan Fu
2022-10-10  3:04       ` Stefan Monnier
2022-10-10  6:25         ` Eli Zaretskii
2022-10-10  9:23           ` Brian
2022-10-09 20:01 ` Theodor Thornhill
2022-10-09 20:54   ` Stefan Kangas
2022-10-09 21:12     ` Theodor Thornhill
2022-10-10  0:01   ` Yuan Fu
2022-10-10 19:44     ` Alan Mackenzie
2022-10-10 20:54       ` Yuan Fu
2022-10-17 17:59       ` Eli Zaretskii
2022-10-17 18:47         ` Alan Mackenzie
2022-10-17 22:04           ` Stefan Monnier
2022-10-18 13:47             ` Ketevan Lomidze
2022-10-18  3:24           ` Po Lu
2022-10-18  4:42             ` Yuan Fu
2022-10-18  6:35               ` Po Lu
2022-10-18  9:45                 ` Eli Zaretskii
2022-10-18 10:36                   ` Po Lu
2022-10-18 14:52                     ` Eli Zaretskii
2022-10-20  0:19                       ` Po Lu
2022-10-20  1:15                         ` Stefan Monnier
2022-10-20  6:16                           ` Eli Zaretskii
2022-10-21 19:19                           ` Jostein Kjønigsen
2022-10-20  6:12                         ` Eli Zaretskii
2022-10-18 13:53             ` Stefan Monnier
2022-10-19  8:03             ` Jostein Kjønigsen
2022-10-10  5:55   ` Eli Zaretskii [this message]
2022-10-10  6:44     ` Theodor Thornhill
2022-10-10  8:15       ` Eli Zaretskii
2022-10-10  9:04         ` Theodor Thornhill
2022-10-10  9:10           ` Eli Zaretskii
2022-10-10  9:20             ` Theodor Thornhill
2022-10-10  9:39               ` Eli Zaretskii
2022-10-10  9:44                 ` Theodor Thornhill
2022-10-11 21:38           ` Stefan Monnier
2022-10-11 21:45             ` Theodor Thornhill
2022-10-11  0:34         ` Lars Ingebrigtsen
2022-10-11  6:30           ` Eli Zaretskii
2022-10-11  6:41             ` Theodor Thornhill
2022-10-11  6:51               ` Eli Zaretskii
2022-10-11  7:23                 ` Theodor Thornhill
2022-10-11  7:36                   ` Eli Zaretskii
2022-10-11  7:41                     ` Theodor Thornhill
2022-10-11  8:15                     ` Jostein Kjønigsen
2022-10-11  9:54                       ` Stefan Kangas
2022-10-11  9:58                         ` Theodor Thornhill
2022-10-11  6:58               ` Jostein Kjønigsen
2022-10-11  7:13                 ` Theodor Thornhill
2022-10-11 18:31                   ` Lars Ingebrigtsen
2022-10-11 18:43                     ` Theodor Thornhill
2022-10-11 18:54                       ` Lars Ingebrigtsen
2022-10-11 18:57                         ` Theodor Thornhill
2022-10-11 19:01                         ` Theodor Thornhill
2022-10-11 19:30                           ` Lars Ingebrigtsen
2022-10-11 20:36                             ` Theodor Thornhill
2022-10-11 20:49                               ` Lars Ingebrigtsen
2022-10-11 21:01                                 ` Theodor Thornhill
2022-10-11 21:44                             ` Stefan Monnier
2022-10-12 10:58                               ` Lars Ingebrigtsen
2022-10-11 19:20                     ` Philip Kaludercic
2022-10-11 19:28                       ` Theodor Thornhill
2022-10-11  4:43       ` Po Lu
2022-10-11  5:14         ` Yuan Fu
2022-10-11  5:33           ` Theodor Thornhill
2022-10-11  6:45             ` Eli Zaretskii
2022-10-11  6:50               ` Theodor Thornhill
2022-10-11  5:47           ` Po Lu
2022-10-11  7:18             ` Eli Zaretskii
2022-10-11  7:50               ` Po Lu
2022-10-11  8:06                 ` Eli Zaretskii
2022-10-11  8:23                   ` Po Lu
2022-10-11  8:40                     ` Eli Zaretskii
2022-10-11  8:51                       ` Po Lu
2022-10-11 10:09                     ` Stefan Kangas
2022-10-11 12:49                   ` Visuwesh
2022-10-11 16:56                     ` Daniel Martín
2022-10-11 18:18                       ` Yuan Fu
2022-10-11  7:13           ` Eli Zaretskii
2022-10-11  7:35             ` Po Lu
2022-10-11  7:47               ` Theodor Thornhill
2022-10-11  8:17                 ` Po Lu
2022-10-11  8:40                   ` Theodor Thornhill
2022-10-11 10:46                     ` Po Lu
2022-10-11  8:51             ` Yuan Fu
2022-10-11  7:10         ` Eli Zaretskii
2022-10-11  7:31           ` Po Lu
2022-10-11  7:56             ` Eli Zaretskii
2022-10-11  8:15               ` Po Lu
2022-10-11  8:34                 ` Eli Zaretskii
2022-10-11  8:47                   ` Po Lu
2022-10-11 10:17                     ` Daniel Martín
2022-10-11  8:43             ` Jostein Kjønigsen
2022-10-11 16:01             ` Dmitry Gutov
2022-10-11 21:14         ` Stefan Monnier
2022-10-11 21:49           ` Lars Ingebrigtsen
2022-10-11 22:00             ` Stefan Monnier
2022-10-11 22:49               ` Lars Ingebrigtsen
2022-10-12  0:41                 ` Po Lu
2022-10-12  9:51                   ` Stefan Kangas
2022-10-12 10:47                     ` Po Lu
2022-10-12  5:30               ` Eli Zaretskii
2022-10-12  0:26           ` Po Lu
2022-10-12  3:31             ` João Paulo Labegalini de Carvalho
2022-10-12  4:27               ` Po Lu
2022-10-12  9:51                 ` Stefan Kangas
2022-10-12 10:48                   ` Po Lu
2022-10-11 21:29       ` Stefan Monnier
2022-10-10  7:34   ` Roman Rudakov
2022-10-10  7:48     ` Theodor Thornhill
2022-10-10  7:53       ` Roman Rudakov
2022-10-10  9:04         ` Theodor Thornhill
2022-10-11 20:44       ` Roman Rudakov
2022-10-11 21:00         ` Theodor Thornhill
2022-10-11 21:52         ` Stefan Monnier
2022-10-10 15:28 ` TypeScript support for tree-sitter (was Re: Call for volunteers: add tree-sitter support to major modes) Theodor Thornhill
2022-10-10 16:13   ` Eli Zaretskii
2022-10-10 16:43     ` Theodor Thornhill via Emacs development discussions.
2022-10-10 17:07       ` Yuan Fu
2022-10-10 17:48         ` Theodor Thornhill via Emacs development discussions.
2022-10-10 18:04           ` Theodor Thornhill via Emacs development discussions.
2022-10-10 18:53             ` Theodor Thornhill via Emacs development discussions.
2022-10-11 20:07               ` Theodor Thornhill via Emacs development discussions.
2022-10-11 20:22                 ` Theodor Thornhill via Emacs development discussions.
2022-10-12  6:51                   ` Yuan Fu
2022-10-12  7:11                     ` Theodor Thornhill
2022-10-11  8:25         ` Po Lu
2022-10-11  8:42           ` Theodor Thornhill
2022-10-11 13:26       ` Stefan Monnier
2022-10-11 13:48         ` Theodor Thornhill
  -- strict thread matches above, loose matches on Subject: below --
2022-10-11 23:14 Call for volunteers: add tree-sitter support to major modes João Paulo Labegalini de Carvalho
2022-10-12  5:43 ` Eli Zaretskii
2022-10-12 15:09   ` João Paulo Labegalini de Carvalho
2022-10-12 15:36     ` Eli Zaretskii
2022-10-21 16:47       ` João Paulo Labegalini de Carvalho
2022-10-21 23:45         ` João Paulo Labegalini de Carvalho
2022-10-22  1:52           ` Yuan Fu
2022-10-22  3:42             ` Yuan Fu
2022-10-22  6:42           ` Eli Zaretskii
2022-10-22 15:51             ` João Paulo Labegalini de Carvalho
2022-10-24  4:20               ` Yuan Fu
2022-10-24 15:41                 ` João Paulo Labegalini de Carvalho
2022-10-24 15:46                   ` João Paulo Labegalini de Carvalho
2022-10-24  6:23               ` Theodor Thornhill
2022-10-24 15:44                 ` João Paulo Labegalini de Carvalho
2022-10-24 16:00                   ` Theodor Thornhill
2022-10-12  7:18 Payas Relekar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83o7uki5ol.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=theo@thornhill.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).