[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Make all tree-sitter modes optional
From: |
Theodor Thornhill |
Subject: |
Re: Make all tree-sitter modes optional |
Date: |
Thu, 16 Feb 2023 09:46:21 +0100 |
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Thu, 16 Feb 2023 08:53:56 +0100
>> From: Theodor Thornhill <theo@thornhill.no>
>> CC: monnier@iro.umontreal.ca, acm@muc.de, juri@linkov.net, casouri@gmail.com,
>> larsi@gnus.org, jostein@secure.kjonigsen.net, emacs-devel@gnu.org
>>
>> I'm thinking some devise like a "language layer", where major and minor
>> modes are pluggable.
>>
>> Let's say you want to program in JavaScript.
>>
>> Then you can for example do something like:
>>
>> (make-language-layer 'js-layer
>> :major-mode 'js-ts-mode
>> :lsp 'eglot
>> :dagnostics 'flymake)
>>
>>
>> Then
>>
>> (add-to-list auto-mode-alist ".js" 'js-layer)
>>
>> And so forth. In this case a person can swap out flymake for flycheck, eglot
>> for lsp-mode, js-ts-mode for js-mode etc. Then no implementation "owns" the
>> language namespace, and we hopefully don't step on anyone's toes.
>>
>> What do you think?
>
> I don't know yet. We should definitely think about this more. Emacs
> never had more than a single major mode per programming language, so
> for us "language" and "major mode" were always synonyms. (Perl mode
> and CPerl mode is the only exception I know of, and it did cause us
> grief.)
>
> So yes, this is a new situation that could call for some new concepts
> in Emacs.
Yes, absolutely. I just wanted to put out there a concrete thought that
hopefully moves the discussion forward.
Theo
- Re: Make all tree-sitter modes optional, (continued)
- Re: Make all tree-sitter modes optional, Stefan Monnier, 2023/02/16
- Re: Make all tree-sitter modes optional, tomas, 2023/02/16
- Re: Make all tree-sitter modes optional, Eli Zaretskii, 2023/02/16
- Re: Make all tree-sitter modes optional, Alan Mackenzie, 2023/02/16
- Re: Make all tree-sitter modes optional, Po Lu, 2023/02/16
- Re: Make all tree-sitter modes optional, Dmitry Gutov, 2023/02/16
- Re: Make all tree-sitter modes optional, Dmitry Gutov, 2023/02/15
- Re: Make all tree-sitter modes optional, Eli Zaretskii, 2023/02/16
- Re: Make all tree-sitter modes optional, Theodor Thornhill, 2023/02/16
- Re: Make all tree-sitter modes optional, Eli Zaretskii, 2023/02/16
- Re: Make all tree-sitter modes optional,
Theodor Thornhill <=
- Re: Make all tree-sitter modes optional, Dmitry Gutov, 2023/02/16
- Re: Make all tree-sitter modes optional, Dmitry Gutov, 2023/02/16
- Re: Make all tree-sitter modes optional, Theodor Thornhill, 2023/02/16
- Re: Make all tree-sitter modes optional, Dmitry Gutov, 2023/02/16
- Re: Make all tree-sitter modes optional, Theodor Thornhill, 2023/02/16
- Re: Make all tree-sitter modes optional, Lynn Winebarger, 2023/02/15
- Re: Make all tree-sitter modes optional, Stefan Monnier, 2023/02/15
- Re: Make all tree-sitter modes optional, Eli Zaretskii, 2023/02/15
- Re: Make all tree-sitter modes optional, Stefan Monnier, 2023/02/15
- Re: Make all tree-sitter modes optional, Basil L. Contovounesios, 2023/02/15