Showing content from https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg01241.html below:
Re: Tree-sitter and major mode inheritance
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] From: Yuan Fu Subject: Re: Tree-sitter and major mode inheritance Date: Sat, 19 Nov 2022 01:41:47 -0800
> On Nov 16, 2022, at 12:45 PM, Yuan Fu <casouri@gmail.com> wrote:
>
> So Iâm trying to merge css-ts-mode with css-mode. Scss-mode inherits
> css-mode, but if user enables tree-sitter for css-mode, scss-mode will
> inherit all that tree-sitter setup, and lose all the native css setup. Then
> if a user doesnât want to enable tree-sitter in scss-mode, too bad: scss-mode
> breaks.
>
> Essentially scss-mode needs to be able to control which parts of css-modeâs
> setup it wants to inheritânative setup or tree-sitter setupâregardless of
> whether css-mode enables tree-sitter or not.
>
> I wonder if we can do something like this:
>
> css-mode
> |
> +---------+-----+-----------+
> | | |
> css-native-mode css-ts-mode scss-mode
> |
> +----+------------+
> | |
> scss-native-mode scss-ts-mode
>
> css-mode: a virtual mode, only sets up basic things that both native and
> tree-sitter mode needs, like comment-start.
> css-native-mode: native setup
> css-ts-mode: tree-sitter setup
>
> scss-mode: a virtual mode, inherits css-mode
> scss-native-mode: native setup
> scss-ts-mode: tree-sitter setup
>
> And user could use major-mode-remap-alist to choose which mode they want:
>
> (css-mode . css-ts-mode) for enabling tree-sitter
> (css-mode . css-native-mode) for not enabling tree-sitter
>
> This could also used for other modes, like c-mode: c-mode, c-native-mode
> (cc-mode), c-ts-mode.
>
> Yuan
Anyway, does anyone think this is a good/bad idea? Should I go implement this
on css, js, c, etc? It can also be the other way around: instead of having
c-mode being the virtual mode, we can leave c-mode as-is, and have a
c-base-mode inherited by c-mode and c-ts-mode. And similarly rss-base-mode,
rss-mode, and rss-ts-mode.
Yuan
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), (continued)
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Eli Zaretskii, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Theodor Thornhill, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Eli Zaretskii, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Theodor Thornhill, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Stefan Kangas, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Eli Zaretskii, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Stefan Kangas, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Theodor Thornhill, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Eli Zaretskii, 2022/11/19
- Re: Suggesting that feature/tree-sitter be merged (was Re: Tree-sitter and major mode inheritance), Eli Zaretskii, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Yuan Fu <=
- Re: Tree-sitter and major mode inheritance, Eli Zaretskii, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Po Lu, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Stefan Monnier, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Yuan Fu, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Eli Zaretskii, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Yuan Fu, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Eli Zaretskii, 2022/11/20
- Re: Tree-sitter and major mode inheritance, Po Lu, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Dmitry Gutov, 2022/11/19
- Re: Tree-sitter and major mode inheritance, Yuan Fu, 2022/11/19
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4