unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Vasilij Schneidermann <mail@vasilij.de>
To: dev@rjt.dev
Cc: emacs-devel@gnu.org
Subject: Re: Should yaml-ts-mode inherit from prog-mode?
Date: Wed, 1 Mar 2023 17:35:58 +0100	[thread overview]
Message-ID: <Y/9+7iDoHz4Pf+lk@odonien> (raw)
In-Reply-To: <Gzj9Gg1HhvYRHFW7rS12F28VsNV-w-laKjEnMPmhQYDBHULyeztq4rTI39Js1a9SK6J5j71myDpun7m1AMSGQnMCjFZb5wneZfNe6V7SeyI=@rjt.dev>

[-- Attachment #1: Type: text/plain, Size: 2180 bytes --]

yaml-mode maintainer here. I saw the thread just by chance and found it
amusing that my decision was characterized as arbitrary, when the same
could be said about json-mode being indirectly derived from prog-mode
due to it looking a lot like JavaScript, not due to some deeper decision
making.

> Deriving from prog-mode feels weird since YAML is not a programming
> language.

Yes, that was pretty much my reasoning. To quote the `prog-mode`
docstring: "Major mode for editing programming language source code."

Unless there's some XSLT equivalent for YAML, I do not see it being
programming language source code at all.

> A lot of people (per OP's linked GitHub issues) seem to think/expect
> it to derive from prog-mode, but I'm not sure how correct those
> assumptions are. It seems they just want their prog-mode hooks to work
> with it.

Yes, I think it's a convenience argument really. I believe that
correctness/consistency are more important because such a decision is
long-lasting.

> If everyone thinks it should derive from prog-mode and there are no
> bad consequences for doing so, then I'm not against it.

- If the mode is already established, changing what it derives from
  would make customizations relying on that fail
- If there are any hooks associated with prog-mode that are
  inappropriate for editing YAML, that would be an annoying consequence

More generally speaking, maybe the whole idea of having a hierarchy of
major modes needs to be rethought. It is difficult to get such a
hierarchy right, especially when there are multiple ways to categorize a
major mode. YAML has been argued to be several things (configuration,
serialization, text) and having to choose one in particular cannot work
out in a satisfying way unless it's about a very basic property not
based on opinion (I believe it to *not* be a configuration format at
all, but many people disagree and keep using it despite obvious
deficiencies) or personal preference (YAML is often touted as JSON
superset, but who actually uses that property, some malicious hackers
aside?). Perhaps a keyword system as used by finder.el would make more
sense, plus keyword-specific hooks to be run.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  parent reply	other threads:[~2023-03-01 16:35 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-28 12:24 Should yaml-ts-mode inherit from prog-mode? Romanos Skiadas
2023-02-28 15:52 ` Basil Contovounesios
2023-03-01 14:08   ` Randy Taylor
2023-03-01 14:28     ` Lynn Winebarger
2023-03-01 16:35     ` Vasilij Schneidermann [this message]
2023-03-02 12:55       ` Lynn Winebarger
2023-03-02 13:44       ` Philip Kaludercic
2023-03-03  9:00         ` Rudolf Schlatte
2023-03-03 21:58           ` Yuan Fu
2023-03-04 18:45             ` Juri Linkov
2023-02-28 17:50 ` Daniel Fleischer
2023-02-28 17:56 ` Daniel Fleischer
2023-02-28 18:33   ` Dmitry Gutov
2023-03-01 13:35     ` Basil Contovounesios
2023-03-12  2:14   ` Ongaro
2023-03-12  9:20     ` Daniel Fleischer
2023-03-12 12:31       ` Rudolf Schlatte
2023-03-13  8:44       ` Yuri Khan
2023-03-14  1:45       ` David Ongaro
2023-03-01  7:46 ` Matthias Meulien
2023-03-01 13:45   ` Basil Contovounesios
2023-03-07 11:27     ` Jostein Kjønigsen
2023-03-07 14:28       ` Matthias Meulien
  -- strict thread matches above, loose matches on Subject: below --
2023-03-02 19:07 Romanos Skiadas
2023-03-03  4:23 ` Richard Stallman
2023-03-04 18:24   ` Romanos Skiadas
2023-03-20  1:52     ` Randy Taylor
2023-03-20 12:07       ` Eli Zaretskii
2023-03-20 14:37         ` Rudolf Schlatte
2023-03-20 16:20           ` Brian Cully via Emacs development discussions.
2023-03-20 16:53           ` Eli Zaretskii
2023-03-21 11:19           ` Jostein Kjønigsen
2023-03-21 13:26             ` Eli Zaretskii
2023-03-21 13:54               ` Rudolf Schlatte
2023-03-21 14:43                 ` Yuri Khan
2023-03-21 15:03                   ` Rudolf Schlatte
2023-03-22  6:04                     ` Yuri Khan
2023-03-22  2:37           ` David Ongaro
2023-03-21  3:13         ` Randy Taylor

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=Y/9+7iDoHz4Pf+lk@odonien \
    --to=mail@vasilij.de \
    --cc=dev@rjt.dev \
    --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).