emacs-devel
[Top][All Lists]
Advanced

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

Re: Call for volunteers: add tree-sitter support to major modes


From: Yuan Fu
Subject: Re: Call for volunteers: add tree-sitter support to major modes
Date: Sun, 9 Oct 2022 23:46:27 -0700


> On Oct 9, 2022, at 11:28 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Sun, 9 Oct 2022 21:05:09 -0700
>> Cc: Eli Zaretskii <eliz@gnu.org>,
>> emacs-devel@gnu.org
>> 
>>> +
>>> +(defun js--treesit-enable ()
>>> +  (unless (and (treesit-can-enable-p)
>>> +               (treesit-language-available-p 'javascript))
>>> +    (error "Tree sitter isn't available"))
>>> 
>>> I don't think we should error here, I'd displaying a message instead.
>> 
>> Actually we should also fall back to non-tree-sitter if the conditions 
>> aren’t met.
> 
> Automatically and silently?  I don't think so.  The user should know
> the knob they pressed didn't work.

Not silently, print a message, raise a user-error at the end, but don’t fail 
completely and leave the user in a broken mode. I suggest:

(define-derived-mode mode
  (if (and use-tree-sitter tree-sitter-works)
      init-tree-sitter
    init-non-tree-sitter)

  (if (and use-tree-sitter (not tree-sitter-works))
      ;; Or ‘message’.
      (user-error "Tree-sitter can’t be enabled")))

If we think this is good, I’ll add it to the starter guide.

Yuan


reply via email to

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