From: Yuan Fu <casouri@gmail.com>
To: Theodor Thornhill <theo@thornhill.no>
Cc: emacs-devel <emacs-devel@gnu.org>,
"Simen Heggestøyl" <simenheg@runbox.com>
Subject: Re: Mode names for C-like tree-sitter modes
Date: Mon, 14 Nov 2022 01:09:58 -0800 [thread overview]
Message-ID: <9B1731B7-3DF2-48E1-B18F-7E3FBE50B3DB@gmail.com> (raw)
In-Reply-To: <1E870C80-8435-4305-8FA1-A5A8FF681E2C@thornhill.no>
> On Nov 13, 2022, at 10:34 PM, Theodor Thornhill <theo@thornhill.no> wrote:
>
>
>
> On 14 November 2022 02:16:13 CET, Yuan Fu <casouri@gmail.com> wrote:
>> Thanks to Theo’s great work, we now have tree-sitter powered major modes for C, C++, Java, JSON, CSS. Right now they are named c-ts-mode, c++-ts-mode, java-ts-mode, etc. And c-ts-mode and c++-ts-mode inherits from a dummy mode c-ts-mode--base-mode.
>>
>> I think it’s fair to make C, C++ and Java modes independent, since all the cc-mode options are invalidated when we use tree-sitter. However, their name could be improved, IMO. But I can’t think of anything better than c-ts-mode :-)
>>
>> (neo-c-mode… just saying)
>>
>
> I agree and can't think of a better name either...
c-nouveau-mode ;-)
>
>> c-ts-mode--base-mode should probably be a public mode, since the intention (IIUC) is enable users to configure C and C++ together, by adding hooks to this base-mode. So something like c-base-mode or c-ts-base-mode?
>>
>
> Sure!
>
>> CSS and JSON could be merged with current modes, I think. Css-ts-mode could merge with css-mode, and json-ts-mode could be merged with js-json-mode. Or we can just have a dedicated json-mode.
>>
>> Theo, WDYT?
>>
>
> That's fine with me. In any case I think we should remove tree-sitter support from js-json-mode (or merge them). I think there exist a json-mode in both elpa and melpa, adding another isn't the best idea I think.
>
> Not sure what is best, really.
Js-json-mode inherits from js-mode, which complicates the matter if tree-sitter is enabled for js-mode… Probably should remove tree-sitter from js-json-mode. Also if we decided cc-mode and tree-sitter should be mutually exclusive (which we kind of have), we should remove some cc-mode init in js-mode that runs even when tree-sitter is enabled.
The json-mode you mentioned is on ELPA, and is fairly small, we might be able to merge json-ts-mode with it. Simen, WDYT?
>
> My vote goes to merging css and keeping others separate, but I don't have the strongest opinion there.
>
> I can prepare such a patch after we decide on something.
I can also do it, that’ll save us some patching and merging ;-)
Yuan
next prev parent reply other threads:[~2022-11-14 9:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-14 1:16 Mode names for C-like tree-sitter modes Yuan Fu
2022-11-14 6:34 ` Theodor Thornhill
2022-11-14 9:09 ` Yuan Fu [this message]
2022-11-14 9:49 ` Theodor Thornhill
2022-11-14 10:07 ` Theodor Thornhill
2022-11-14 10:17 ` Simen Heggestøyl
2022-11-15 2:49 ` Stefan Monnier
2022-11-14 19:04 ` Eli Zaretskii
2022-11-15 4:17 ` Richard Stallman
2022-11-15 6:33 ` Theodor Thornhill
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=9B1731B7-3DF2-48E1-B18F-7E3FBE50B3DB@gmail.com \
--to=casouri@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=simenheg@runbox.com \
--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).