emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Turing on tree-sitter


From: Yuan Fu
Subject: Re: Turing on tree-sitter
Date: Mon, 10 Oct 2022 09:06:29 -0700


> On Oct 10, 2022, at 7:52 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> 
>>> Is there a reason we can't use a minor mode?  Something like
>>> 
>>>        (add-hook 'python-mode-hook #'treesit-mode)
>>> 
>>> or a list
>>> 
>>>        (add-to-list 'treesit-modes 'python-mode)
>>> 
>>> ?
>> 
>> We could, if a minor mode is justified.  When this was previously
>> brought up, someone said the justification for a minor mode was too
>> weak in most cases.  But maybe we should revisit that idea.
> 
> I think a buffer-local `treesit-mode` plus a `global-treesit-mode` would
> make a lot of sense, from a user's perspective.  This way they don't
> have to hunt for the name of the boolean variable that their mode
> decided to use to control the use of treesitter: all modes use the same
> boolean variable called `treesit-mode`.

Usually users set buffer-local variables in a major mode hook, which runs after 
the major mode is loaded, no? But major modes need to know whether to use 
tree-sitter up-front.

I don’t think xxx-mode-use-tree-sitter would be hard to find if every mode uses 
this pattern. Though now we are discussing adding separate major modes which 
wouldn’t use this variable. I think that indeed could be confusing. (How do I 
know if xxx language uses xxx-mode-use-tree-sitter or a separate major mode 
xxx-tree-sitter-mode?)

> 
> Then again, to me a minor mode is something so cheap that the idea that
> "justification for a minor mode was too weak" is rather hard to grasp.

I don’t think there is too much problem using minor modes, but minor modes 
wouldn’t fit very well with separate major modes. IMO it would be weird if 
turning on tree-sitter-mode changes the major mode.

Yuan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]