[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usa
From: |
Eli Zaretskii |
Subject: |
bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable |
Date: |
Mon, 16 Jan 2023 21:26:50 +0200 |
> From: Juri Linkov <juri@linkov.net>
> Cc: monnier@iro.umontreal.ca, sadiq@sadiqpk.org, 60176@debbugs.gnu.org
> Date: Mon, 16 Jan 2023 20:36:45 +0200
>
> >> >> (defcustom treesit-enable-modes nil
> >> >> :type '(repeat
> >> >> (choice (function-item c-ts-mode)
> >> >> (function-item c++-ts-mode)
> >> >> (function-item c-or-c++-ts-mode)
> >> >> ...
> >> >> ('c-ts-mode
> >> >> (when (treesit-ready-p 'c t)
> >> >> (add-to-list 'major-mode-remap-alist '(c-mode .
> >> >> c-ts-mode))))
> >> >
> >> > And this bit is completely unacceptable, from where I stand: it
> >> > basically means that the user activated a certain major mode he/she
> >> > wanted to use, but the result could be that an entirely different mode
> >> > was silently activated instead. What kind of UX is that, and for a
> >> > shining new feature at that??
> >>
> >> It could update 'auto-mode-alist' instead of 'major-mode-remap-alist'.
> >> >From the user's point of view this would be more manageable than
> >> what you proposed on emacs-devel with some obscure logic of activating
> >> ts modes when the package is loaded or when the mode is enabled first time.
> >
> > I don't understand the "obscure" part: the logic was exactly as above:
> > test that treesit-ready-p returns non-nil for the mode's language.
> >
> > Other than that, my proposal does exactly what you say here: it
> > updates auto-mode-alist. So it sounds like we are in violent agreement.
>
> The difference is that an explicit option is more controllable by the user.
> When the user needs to use some ts-mode then it's easier just to customize
> the option instead of tweaking 'auto-mode-alist' when the user want to
> start using that mode without first loading its package or calling it
> the first time that modifies 'auto-mode-alist' as the side effect.
With the changes I proposed, there's no need to tweak
auto-mode-alist. A simple load or require of the mode will install
the mode in auto-mode-alist. What can be easier and simpler?
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Juri Linkov, 2023/01/09
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Eli Zaretskii, 2023/01/09
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Stefan Monnier, 2023/01/09
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Eli Zaretskii, 2023/01/10
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Stefan Monnier, 2023/01/10
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Juri Linkov, 2023/01/10
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Eli Zaretskii, 2023/01/10
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Juri Linkov, 2023/01/16
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Eli Zaretskii, 2023/01/16
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Juri Linkov, 2023/01/16
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable,
Eli Zaretskii <=
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Juri Linkov, 2023/01/17
- bug#60176: 29.0.60; Fallback file variable mode if treesitter is not usable, Eli Zaretskii, 2023/01/17