[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tree-sitter introduction documentation
From: |
Eli Zaretskii |
Subject: |
Re: Tree-sitter introduction documentation |
Date: |
Sat, 31 Dec 2022 11:24:27 +0200 |
> From: Yuan Fu <casouri@gmail.com>
> Date: Fri, 30 Dec 2022 16:03:42 -0800
> Cc: Philip Kaludercic <philipk@posteo.net>,
> monnier@iro.umontreal.ca,
> dgutov@yandex.ru,
> theophilusx@gmail.com,
> emacs-devel@gnu.org
>
> > I don't think treesit-language-source-alist is a good idea, especially
> > if we don't intend populating it, at least not as a user-facing
> > feature. Instead, the command should ask the user for the relevant
> > values, and offer recording the values on some file that would be read
> > next time the user wants to install an updated library.
>
> I consider this as a fallback method for installing language grammars.
> Because distress might not end up bundle language grammar for us, and even if
> they do, they can’t cover every grammar so some user would end up needing to
> install some grammar by themselves. If we don’t include this feature, someone
> will definitely write something like this and make it a third-party package
> (indeed, someone already has). So we might have it in Emacs and do it right.
>
> This is the use case that I had in mind when writing this function: some
> major mode xxx-mode requires language grammar for xxx, so it has the
> following instruction in its readme:
>
> Add installation recipe of tree-sitter-xxx to your config, and run
> treesit-install-language-grammar:
>
> (add-to-list 'treesit-language-source-alist
> '(xxx "https://github.com/xxx/tree-sitter-xxx.git"))
This is a user command, so it must comply to some minimal level of
usefulness and user-friendliness. Right now, if you invoke the
command after just loading treesit.el, you will be stuck at the first
prompt, since Emacs says "No match" whatever language you try to type
at the front.
Why not allow the user to specify all the necessary data needed for a
language, if treesit-language-source-alist lacks those details for
that language? You can then update the data structure with those
details. Wouldn't this be much better and user-friendlier than asking
users to read the readme and fill a data structure (which some of them
could fill wrongly, not being Lisp programmers) in advance?
> > This command should also be mentioned in NEWS, where we describe how
> > to install the grammar libraries.
>
> I’ll do that if we decide this function is desirable and good.
?? It's already on the branch, so I think we are past that point?
- Re: Tree-sitter introduction documentation, (continued)
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/30
- Re: Tree-sitter introduction documentation, Eli Zaretskii, 2022/12/30
- Re: Tree-sitter introduction documentation, Philip Kaludercic, 2022/12/30
- Re: Tree-sitter introduction documentation, Eli Zaretskii, 2022/12/30
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/30
- Re: Tree-sitter introduction documentation, Philip Kaludercic, 2022/12/30
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/31
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/30
- Re: Tree-sitter introduction documentation, Stefan Monnier, 2022/12/30
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/31
- Re: Tree-sitter introduction documentation,
Eli Zaretskii <=
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/31
- Re: Tree-sitter introduction documentation, Yuan Fu, 2022/12/31
- Re: Tree-sitter introduction documentation, Gregory Heytings, 2022/12/30
- Re: Tree-sitter introduction documentation, Richard Stallman, 2022/12/31
- Re: Tree-sitter introduction documentation, Eli Zaretskii, 2022/12/27
- Re: Tree-sitter introduction documentation, Stefan Monnier, 2022/12/27
- Re: Tree-sitter introduction documentation, Eli Zaretskii, 2022/12/27
- Re: Tree-sitter introduction documentation, Stefan Monnier, 2022/12/27
- Re: Tree-sitter introduction documentation, Philip Kaludercic, 2022/12/27
- Re: Tree-sitter introduction documentation, Stefan Monnier, 2022/12/27