From: Brian <brian.miller.0235@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Call for volunteers: add tree-sitter support to major modes
Date: Sun, 9 Oct 2022 14:36:22 +0000 [thread overview]
Message-ID: <CAE-M5t19_h0axM=HqO4fbxfAmsbXj9W0Q40Rh=TgE+VOYcmqWQ@mail.gmail.com> (raw)
In-Reply-To: <83czb1jrm3.fsf@gnu.org>
Hello,
I looked through some major modes and IIUC they already have an
author assigned to them. I haven't seen this practice on other
FLOSS projects I encountered GitHub, any pointers on how this
process works on Emacs?
TIA
On Sun, Oct 9, 2022 at 9:03 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> The Emacs 29 release branch is planned to be cut in about 1.5 months,
> and we want tree-sitter support to be in Emacs 29. The Emacs Git
> repository has a feature branch that integrates tree-sitter with
> Emacs. That branch is being prepared for landing on master. However,
> currently there's only one major-mode which can use tree-sitter
> support on the branch: Python mode. We need to add tree-sitter
> integration to more major modes, so that Emacs 29 could have
> reasonably useful tree-sitter support options in at least the popular
> major modes.
>
> This is a call for volunteers to work on adding tree-sitter support to
> major modes beyond Python, and on improving the existing support in
> Python mode.
>
> Some of the popular major modes for which we would like to see
> tree-sitter support in Emacs 29 are:
>
> c-mode
> c++-mode
> emacs-lisp-mode
> js-mode
> js-json-mode
> ruby-mode
> shell-script-mode
>
> We probably won't have all of them by Emacs 29, but we hope to have at
> least some.
>
> So if you are interested in enhancing your favorite major-mode with
> tree-sitter support, and by doing that making Emacs 29 much better,
> please checkout the feature/tree-sitter branch, and start working on
> some mode(s). Tree-sitter support for a major-mode should include
> enhancement of one or more of the following Emacs features:
>
> - font-lock
> - indentation
> - navigation (beginning-of-defun-function etc.)
> - imenu
> - which-func
> - thing-at-point
>
> We think that font-lock is the absolute minimum, followed by
> indentation.
>
> To help with this effort, Yuan Fu, who did most of the development on
> this feature branch, wrote a document with guidance notes which aim to
> help you implement tree-sitter support for the above features. You
> will find that document and some other helpful documentation in the
> admin/notes/tree-sitter directory and its subdirectories on the
> branch. That directory also includes scripts for easy compilation of
> tree-sitter language modules (which you will need to download from the
> tree-sitter site).
>
> We hope that the existing support for Python can serve as working
> example of how to add tree-sitter support for other major modes, and
> together with the guidance document it will allow you to add support
> for more modes with minimum effort. Don't hesitate to ask questions
> if something is unclear or you need more advice.
>
> We hope volunteers will step forward in time to make tree-sitter
> integration in Emacs 29 functional and useful. To avoid waste of
> effort, please announce here on which major mode(s) you decided to
> work.
>
> Thanks in advance.
>
next prev parent reply other threads:[~2022-10-09 14:36 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 ` Brian [this message]
2022-10-09 14:53 ` Call for volunteers: add tree-sitter support to major modes 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
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='CAE-M5t19_h0axM=HqO4fbxfAmsbXj9W0Q40Rh=TgE+VOYcmqWQ@mail.gmail.com' \
--to=brian.miller.0235@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/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).