emacs-devel
[Top][All Lists]
Advanced

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

Re: Tree-sitter introduction documentation


From: Yuan Fu
Subject: Re: Tree-sitter introduction documentation
Date: Sat, 31 Dec 2022 17:18:53 -0800


> On Dec 30, 2022, at 4:12 PM, Philip Kaludercic <philipk@posteo.net> wrote:
> 
> Yuan Fu <casouri@gmail.com> writes:
> 
>>> On Dec 30, 2022, at 7:54 AM, Philip Kaludercic <philipk@posteo.net> wrote:
>>> 
>>> Eli Zaretskii <eliz@gnu.org> writes:
>>> 
>>>>         (message "Cloning repository")
>>>>         ;; git clone xxx --depth 1 --quiet workdir
>>>>         (treesit--call-process-signal
>>>>          "git" nil t nil "clone" url "--depth" "1" "--quiet"
>>>>          workdir)
>>>> 
>>>> Why "--depth 1"?  This should be a defcustom, and the default should
>>>> be to clone the full repository, IMO.  Also, what about updating the
>>>> library when it is already installed, and the Git repository already
>>>> exists for it?  Or are we going to clone anew each time and them
>>>> remove the repository? that could make its cloning be slow in some
>>>> cases.
>>> 
>>> I have proposed just downloading a tarball.  GitHub provides these for
>>> each tag, and the tree-sitter developers appear to tag versions on a
>>> regular basis.  The file could then be downloaded via url.el instead of
>>> using Git.
>>> 
>>> https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v0.20.2.tar.gz
>> 
>> Not all language grammars would bother to make a release[1]. The fallback 
>> method better support as many cases as possible.
>> 
>> [1] https://github.com/elixir-lang/tree-sitter-elixir
> 
> That doesn't have to be a blocker.  We can download a tarball for each
> commit, if an explicit release is missing.
> 
>  
> https://codeload.github.com/elixir-lang/tree-sitter-elixir/tar.gz/b20eaa75565243c50be5e35e253d8beb58f45d56

The command already requires a C/C++ compiler, in that case I don’t think Git 
is too much to ask. The git url is much simpler for the user to figure out IMO.

Yuan


reply via email to

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