all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrew Tropin <andrew@trop.in>
To: Pierre Langlois <pierre.langlois@gmx.com>
Cc: "\(" <paren@disroot.org>,
	Pierre Langlois <pierre.langlois@gmx.com>,
	49946@debbugs.gnu.org,
	Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>,
	zimoun <zimon.toutoune@gmail.com>
Subject: [bug#49946] [PATCH v7 01/32] gnu: tree-sitter: Move to its own module.
Date: Tue, 14 Feb 2023 17:24:02 +0400	[thread overview]
Message-ID: <87zg9g753h.fsf@trop.in> (raw)
In-Reply-To: <871qmvm5qh.fsf@gmx.com>

[-- Attachment #1: Type: text/plain, Size: 10587 bytes --]

On 2023-02-12 12:07, Pierre Langlois wrote:

> Hi,
>
> Andrew Tropin <andrew@trop.in> writes:
>
>> [[PGP Signed Part:Undecided]]
>> On 2023-02-10 15:48, Pierre Langlois wrote:
>>
>>> Hi Andrew, thanks for pushing this along! It's great to see things
>>> getting merged.
>>>
>>> Andrew Tropin <andrew@trop.in> writes:
>>>
>>>> [[PGP Signed Part:Undecided]]
>>>> On 2023-02-09 18:04, Andrew Tropin wrote:
>>>>
>>>>> On 2023-02-09 13:39, zimoun wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On Thu, 09 Feb 2023 at 14:11, Andrew Tropin <andrew@trop.in> wrote:
>>>>>>
>>>>>>> I applied tree-sitter and tree-sitter-cli patches,
>>>>>>
>>>>>> Just to be sure to understand, you have only applied 02/32 and 05/32,
>>>>>> right?
>>>>>>
>>>>>>
>>>>>> [bug#49946] [PATCH v7 02/32] gnu: tree-sitter: Update to 0.20.7.
>>>>>> id:20221125012142.22579-3-pierre.langlois@gmx.com
>>>>>> http://issues.guix.gnu.org/msgid/20221125012142.22579-3-pierre.langlois@gmx.com
>>>>>>
>>>>>> [bug#49946] [PATCH v7 05/32] gnu: Add tree-sitter-cli.
>>>>>> id:20221125012142.22579-6-pierre.langlois@gmx.com
>>>>>> http://issues.guix.gnu.org/msgid/20221125012142.22579-6-pierre.langlois@gmx.com
>>>>>>
>>>>>> Leaving out all the others, right?
>>>>>
>>>>> Merged first 5 patches from 01 to 05, also added one more commit, which
>>>>> addresses some things from reviews and one commit, which adds html
>>>>> grammar.
>>>>>
>>>>> The html grammar is added for the testing purposes.  It relies on
>>>>> generated parser.c and scanner.c and we will need to repackage it using
>>>>> grammar.js instead.  I'm not sure if a separate build system is needed
>>>>> for this, I guess we can just rewrite tree-sitter-grammar function,
>>>>> which generates packages as in example with tree-sitter-grammar-html:
>>>>> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/tree-sitter.scm?h=53b00b91b73bd60412d5bd057e22e6d63194a7f7#n158
>>>>>
>>>>> Anyway, I only skimmed tree-sitter-build-system source code, and plan to
>>>>> read it carefully, evaluate and either introduce new build system or
>>>>> just move all needed parts to tree-sitter-grammar function.  WDYT?
>>>>> After we done with it we can package all other grammars.
>>>>
>>>> Ok, I realized that the proper build process for tree-sitter grammars is
>>>> a little harder than I expected, tree-sitter-build system make sense.  I
>>>> reviewed it, made a small change:
>>>
>>> Ah great, I was going to comment to try and push for us to keep the
>>> build system. I originally went with a template package and inheritance,
>>> but Maxime suggested moving to a build-system which ended up making the
>>> package definitions a *lot* nicer IMO (see previous discussion here
>>> https://issues.guix.gnu.org/49946#144). It also allows us to deal with
>>> grammars that depend on each other more nicely I think.
>>>
>>>>
>>>> @@ -29,7 +29,7 @@ (define-module (guix build tree-sitter-build-system)
>>>>  ;; Commentary:
>>>>  ;;
>>>>  ;; Build procedures for tree-sitter grammar packages.  This is the
>>>> -;; builder-side code, which builds on top fo the node build-system.
>>>> +;; builder-side code, which builds on top of the node build-system.
>>>>  ;;
>>>>  ;; Tree-sitter grammars are written in JavaScript and compiled to a native
>>>>  ;; shared object.  The `tree-sitter generate' command invokes `node' in order
>>>> @@ -114,7 +114,7 @@ (define (compile-language dir)
>>>>                     "-fno-exceptions"
>>>>                     "-O2"
>>>>                     "-g"
>>>> -                   "-o" ,(string-append lib "/" lang ".so")
>>>> +                   "-o" ,(string-append lib "/libtree-sitter-" lang ".so")
>>>>                     ;; An additional `scanner.{c,cc}' file is sometimes
>>>>                     ;; provided.
>>>>                     ,@(cond
>>>>
>>>>
>>>> rewrote html grammar to use this build system and made it work with
>>>> built-in treesit package.  Also, tried examples of c and cpp grammars
>>>> from patches in this thread.
>>>>
>>>> If you ok with it, I'll push the build system to master and update the
>>>> html grammar accordingly.
>>>>
>>>> The final result will look like this:
>>>>
>>>> (define tree-sitter-delete-generated-files
>>>>   #~(begin
>>>>       (delete-file "binding.gyp")
>>>>       (delete-file-recursively "bindings")
>>>>       (delete-file "src/grammar.json")
>>>>       (delete-file "src/node-types.json")
>>>>       (delete-file "src/parser.c")
>>>>       (delete-file-recursively "src/tree_sitter")))
>>>>
>>>> (define* (tree-sitter-grammar
>>>>           language language-for-synopsis version commit hash
>>>>           #:key
>>>>           (repository-url
>>>>            (format #f "https://github.com/tree-sitter/tree-sitter-~a" language))
>>>>           (inputs '()))
>>>>   (let ((synopsis (string-append language-for-synopsis
>>>>                                  " grammar for tree-sitter"))
>>>>         (name (string-append "tree-sitter-grammar-" language)))
>>>>     (package
>>>>       (name name)
>>>>       (version version)
>>>>       (home-page repository-url)
>>>>       (source (origin
>>>>                 (method git-fetch)
>>>>                 (uri (git-reference
>>>>                       (url repository-url)
>>>>                       (commit commit)))
>>>>                 (file-name (git-file-name name version))
>>>>                 (sha256 (base32 hash))
>>>>                 (modules '((guix build utils)))
>>>>                 (snippet tree-sitter-delete-generated-files)))
>>>>       (build-system tree-sitter-build-system)
>>>>       (inputs inputs)
>>>>       (synopsis synopsis)
>>>>       (description (string-append synopsis "."))
>>>>       (license license:expat))))
>>>>
>>>> (define-public tree-sitter-grammar-html
>>>>   (tree-sitter-grammar
>>>>    "html" "HTML"
>>>>    "0.19.0" "v0.19.0"
>>>>    "1hg7vbcy7bir6b8x11v0a4x0glvqnsqc3i2ixiarbxmycbgl3axy"))
>>>>
>>>> After that we can bring the rest of the grammars.
>>>
>>> I would suggest to rmeove the `tree-sitter-grammar' function, and keep
>>> grammars as "regular" package records, even though it's a little bit
>>> more verbose:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> (define-public tree-sitter-html
>>>   (package
>>>     (name "tree-sitter-html")
>>
>> It seems tree-sitter-html mimics upstream package name and probably make
>> more sense than tree-sitter-grammar-html used by me.
>
> Yeah, at some point I think I had named the packages with "grammar" as
> well, but thought it was a bit of a mouthful.  I'm also thinking one day
> we may build language bindings as part of the build system (Rust and
> NodeJS I think ATM), so those packages could do more than ship the
> grammar in the future (although we don't know if we'll ever really need
> that).
>
>>
>>>     (version "0.19.0")
>>>     (source (origin
>>>               (method git-fetch)
>>>               (uri (git-reference
>>>                     (url "https://github.com/tree-sitter/tree-sitter-html")
>>>                     (commit (string-append "v" version))))
>>>               (file-name (git-file-name name version))
>>>               (sha256
>>>                (base32
>>>                 "1hg7vbcy7bir6b8x11v0a4x0glvqnsqc3i2ixiarbxmycbgl3axy"))
>>>               (modules '((guix build utils)))
>>>               (snippet tree-sitter-delete-generated-files)))
>>>     (build-system tree-sitter-build-system)
>>>     (home-page "https://github.com/tree-sitter/tree-sitter-html")
>>>     (synopsis "Tree-sitter HTML grammar")
>>>     (description
>>>      "This package provides a HTML grammar for the Tree-sitter library.")
>>>     (license license:expat)))
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> This way, they look like any other package in Guix, which makes it
>>> easier for us to apply automatic changes in the future if needed (for
>>> example like how the input format could be automically updated for all
>>> "simple" package definitions, but had to be manual whenever custom code
>>> refactoring was done). Does this make sense?
>>
>> Make sense, but on the other hand we already have hunspell, aspell
>> dictionaries and probably a few more others, which are very similiar in
>> spirit and we already have to keep in mind their existence on such
>> automatic code updates.
>>
>> It looks that the packages differ only in url for the source code, lang
>> name and sometimes in inputs.  Having template package function can make
>> management of shared parts more centralized, reduce possibility of
>> copy-paste mistakes, when the description wasn't updated and so on and
>> can reduce the amount of the code overall (which also reduces the change
>> of introducing an error).
>>
>> I don't have a strong opinion on this topic, but leaning towards the
>> template function slightly more, however I'm completely ok with the
>> standalone package definitions as well.  WDYT?
>
> I can think of both cost/benefits to the template so I don't have a
> strong opinion either :-).
>
> I do like the template to make sure people don't forget to delete
> generated files, that's quite important as it seems upstream packages
> often check-in the generated C code.  Although, we could probably assert
> that with in the build-system phase?  I'll think about that.
>
> On the other hand, I wonder how the template works for packages that
> provide multiple grammars (see ocaml and typescript for example).  I
> guess we could use the template for trivial packages, and standalone
> definitions for more complex ones?  In general, if we keep the template
> interface really simple, then I'm happy with it.

Hi Pierre!

I spend two days trying grammars with and without helper function and
found hepler quite helpful to reduce boilerplate and errors from
copypaste, so I went the way with helper.  The logic inside is quite
trivial, the only downside I found so far is that in cases when
repository url constructed automatically I can't easily open the repo
url in the browser.

I packaged all the grammars from this thread and a few more on top of
it.  Updated them to usually latest versions, added some comments, when
needed.

If I forgot to reply on something or you have any comments/ideas, let me
know! :)

Kudos to Pierre and everyone, who helped with all the tree-sitter stuff.

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2023-02-14 13:25 UTC|newest]

Thread overview: 316+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-08 22:29 [bug#49946] [PATCH 00/31] Tree-sitter, node-gyp addon support and emacs-tree-sitter Pierre Langlois
2021-08-08 23:33 ` [bug#49946] [PATCH 01/31] gnu: rust-chunked-transfer: Update to 1.4.0 Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 02/31] gnu: Add rust-fdlimit Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 03/31] gnu: Add rust-html-escape Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 04/31] gnu: Add rust-smallbitvec Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 05/31] gnu: rust-tiny-http: Update to 0.8 Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 06/31] gnu: rust-spin: Update to 0.7 Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 07/31] gnu: Add tree-sitter Pierre Langlois
2021-08-13 13:17     ` Pierre Langlois
2021-08-29 10:34     ` [bug#49946] [PATCH v2 00/33] " Pierre Langlois
2021-08-29 10:45       ` [bug#49946] [PATCH v2 01/33] gnu: rust-chunked-transfer: Update to 1.4.0 Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 02/33] gnu: Add rust-fdlimit Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 03/33] gnu: Add rust-html-escape Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 04/33] gnu: Add rust-smallbitvec Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 05/33] gnu: rust-tiny-http: Update to 0.8 Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 06/33] gnu: rust-spin: Update to 0.7 Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 07/33] gnu: Add tree-sitter Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 08/33] gnu: Add tree-sitter-cli Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 09/33] gnu: node: Patch /usr/bin/env in node-gyp Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 10/33] guix: node-build-system: Support compiling addons with node-gyp Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 11/33] gnu: Add node-nan Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 12/33] gnu: Add tree-sitter-c Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 13/33] gnu: Add tree-sitter-cpp Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 14/33] gnu: Add tree-sitter-bash Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 15/33] gnu: Add tree-sitter-css Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 16/33] gnu: Add tree-sitter-go Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 17/33] gnu: Add tree-sitter-html Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 18/33] gnu: Add tree-sitter-java Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 19/33] gnu: Add tree-sitter-javascript Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 20/33] gnu: Add tree-sitter-json Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 21/33] gnu: Add tree-sitter-julia Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 22/33] gnu: Add tree-sitter-php Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 23/33] gnu: Add tree-sitter-python Pierre Langlois
2021-08-29 10:45         ` [bug#49946] [PATCH v2 24/33] gnu: Add tree-sitter-rust Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 25/33] gnu: Add tree-sitter-typescript Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 26/33] gnu: Add rust-bindgen@0.56 Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 27/33] gnu: Add rust-tree-sitter Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 28/33] gnu: rust-emacs-module: Update to 0.16 Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 29/33] gnu: rust-emacs-macros: Update to 0.17 Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 30/33] gnu: rust-emacs: " Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 31/33] gnu: Add emacs-tree-sitter-core Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 32/33] gnu: Add emacs-tree-sitter Pierre Langlois
2021-08-29 10:46         ` [bug#49946] [PATCH v2 33/33] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2021-08-29 10:53           ` Pierre Langlois
2022-02-10 22:39       ` [bug#49946] [WIP PATCH v3 00/26] gnu: Add tree-sitter for emacs (and neovim as well?) Pierre Langlois
2022-02-10 22:55         ` [bug#49946] [WIP PATCH v3 01/26] gnu: Add rust-smallbitvec Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 02/26] gnu: Add rust-html-escape Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 03/26] gnu: Add rust-spin@0.7 Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 04/26] gnu: Add tree-sitter Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 05/26] gnu: Add tree-sitter-cli Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 07/26] gnu: Add tree-sitter-cpp Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 08/26] gnu: Add tree-sitter-bash Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 09/26] gnu: Add tree-sitter-css Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 10/26] gnu: Add tree-sitter-go Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 11/26] gnu: Add tree-sitter-html Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 12/26] gnu: Add tree-sitter-java Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 13/26] gnu: Add tree-sitter-javascript Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 14/26] gnu: Add tree-sitter-json Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 15/26] gnu: Add tree-sitter-julia Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 16/26] gnu: Add tree-sitter-php Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 17/26] gnu: Add tree-sitter-python Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 18/26] gnu: Add tree-sitter-rust Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 19/26] gnu: Add tree-sitter-typescript Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 20/26] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 21/26] gnu: rust-emacs-module: Update to 0.18 Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 22/26] gnu: rust-emacs-macros: Update to 0.17 Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 23/26] gnu: rust-emacs: Update to 0.18 Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 24/26] gnu: Add emacs-tree-sitter-core Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 25/26] gnu: Add emacs-tree-sitter Pierre Langlois
2022-02-10 22:55           ` [bug#49946] [WIP PATCH v3 26/26] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-02-18 14:12         ` [bug#49946] [PATCH v4 00/31] gnu: Add tree-sitter for emacs Pierre Langlois
2022-02-18 14:39           ` [bug#49946] [PATCH v4 01/31] gnu: Add rust-smallbitvec Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 02/31] gnu: Add rust-html-escape Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 03/31] gnu: Add rust-spin@0.7 Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 04/31] gnu: Add tree-sitter Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 05/31] gnu: Add tree-sitter-cli Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 07/31] gnu: Add tree-sitter-cpp Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 08/31] gnu: Add tree-sitter-bash Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 09/31] gnu: Add tree-sitter-css Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 10/31] gnu: Add tree-sitter-c-sharp Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 11/31] gnu: Add tree-sitter-elixir Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 12/31] gnu: Add tree-sitter-elm Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 13/31] gnu: Add tree-sitter-go Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 14/31] gnu: Add tree-sitter-html Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 15/31] gnu: Add tree-sitter-java Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 16/31] gnu: Add tree-sitter-javascript Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 17/31] gnu: Add tree-sitter-json Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 18/31] gnu: Add tree-sitter-julia Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 20/31] gnu: Add tree-sitter-php Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 21/31] gnu: Add tree-sitter-python Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 22/31] gnu: Add tree-sitter-ruby Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 23/31] gnu: Add tree-sitter-rust Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 24/31] gnu: Add tree-sitter-typescript Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 25/31] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 26/31] gnu: rust-emacs-module: Update to 0.18 Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 27/31] gnu: rust-emacs-macros: Update to 0.17 Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 28/31] gnu: rust-emacs: Update to 0.18 Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 29/31] gnu: Add emacs-tree-sitter-core Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 30/31] gnu: Add emacs-tree-sitter Pierre Langlois
2022-02-18 14:39             ` [bug#49946] [PATCH v4 31/31] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-03-29 19:42           ` [bug#49946] [PATCH v5 00/27] gnu: Add tree-sitter for emacs Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 01/27] gnu: tree-sitter: Move to its own module Pierre Langlois
2022-03-29 19:57               ` Maxime Devos
2022-03-29 20:23                 ` Maxime Devos
2022-03-29 19:58               ` Maxime Devos
2022-05-15 13:16                 ` Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 02/27] gnu: Add tree-sitter-cli Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 04/27] gnu: Add tree-sitter-c Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 05/27] gnu: Add tree-sitter-cpp Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 06/27] gnu: Add tree-sitter-bash Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 07/27] gnu: Add tree-sitter-css Pierre Langlois
2022-03-29 19:42             ` [bug#49946] [PATCH v5 08/27] gnu: Add tree-sitter-c-sharp Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 09/27] gnu: Add tree-sitter-elixir Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 10/27] gnu: Add tree-sitter-elm Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 11/27] gnu: Add tree-sitter-go Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 12/27] gnu: Add tree-sitter-html Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 13/27] gnu: Add tree-sitter-java Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 14/27] gnu: Add tree-sitter-javascript Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 15/27] gnu: Add tree-sitter-json Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 16/27] gnu: Add tree-sitter-julia Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 17/27] gnu: Add tree-sitter-ocaml Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 18/27] gnu: Add tree-sitter-php Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 19/27] gnu: Add tree-sitter-python Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 20/27] gnu: Add tree-sitter-ruby Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 21/27] gnu: Add tree-sitter-rust Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 22/27] gnu: Add tree-sitter-typescript Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 23/27] gnu: Add rust-tree-sitter Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 24/27] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 25/27] gnu: Add emacs-tree-sitter-core Pierre Langlois
2022-05-15 15:22               ` Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 26/27] gnu: Add emacs-tree-sitter Pierre Langlois
2022-03-29 19:43             ` [bug#49946] [PATCH v5 27/27] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-03-29 19:55               ` Maxime Devos
2022-05-15 12:20                 ` Pierre Langlois
2022-05-15 14:33                   ` Maxime Devos
2022-05-15 14:55                     ` Pierre Langlois
2022-05-15 16:05                       ` Maxime Devos
2022-05-15 18:28             ` [bug#49946] [PATCH v6 00/27] gnu: Add tree-sitter for emacs Pierre Langlois
2022-05-15 18:38               ` [bug#49946] [PATCH v6 01/27] gnu: tree-sitter: Move to its own module Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 02/27] gnu: Add tree-sitter-cli Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 04/27] gnu: Add tree-sitter-c Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 05/27] gnu: Add tree-sitter-cpp Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 06/27] gnu: Add tree-sitter-bash Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 07/27] gnu: Add tree-sitter-css Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 08/27] gnu: Add tree-sitter-c-sharp Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 09/27] gnu: Add tree-sitter-elixir Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 10/27] gnu: Add tree-sitter-elm Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 11/27] gnu: Add tree-sitter-go Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 12/27] gnu: Add tree-sitter-html Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 13/27] gnu: Add tree-sitter-java Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 14/27] gnu: Add tree-sitter-javascript Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 15/27] gnu: Add tree-sitter-json Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 16/27] gnu: Add tree-sitter-julia Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 17/27] gnu: Add tree-sitter-ocaml Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 18/27] gnu: Add tree-sitter-php Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 19/27] gnu: Add tree-sitter-python Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 20/27] gnu: Add tree-sitter-ruby Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 21/27] gnu: Add tree-sitter-rust Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 22/27] gnu: Add tree-sitter-typescript Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 23/27] gnu: Add rust-tree-sitter Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 24/27] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 25/27] gnu: Add emacs-tree-sitter-core Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 26/27] gnu: Add emacs-tree-sitter Pierre Langlois
2022-05-15 18:38                 ` [bug#49946] [PATCH v6 27/27] gnu: Add emacs-tree-sitter-langs Pierre Langlois
     [not found]                 ` <20220515183834.18771-3-pierre.langlois@gmx.com>
2022-05-15 21:19                   ` [bug#49946] [PATCH v6 03/27] build-system: Add tree-sitter-build-system Pierre Langlois
2022-11-25  1:21               ` [bug#49946] [PATCH v7 00/32] gnu: Add tree-sitter for emacs Pierre Langlois
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 01/32] gnu: tree-sitter: Move to its own module Pierre Langlois
2022-11-25  6:37                   ` ( via Guix-patches via
2022-11-25 10:18                     ` Pierre Langlois
2023-02-09 10:11                       ` Andrew Tropin
2023-02-09 12:39                         ` zimoun
2023-02-09 14:04                           ` Andrew Tropin
2023-02-10 12:52                             ` Andrew Tropin
2023-02-10 15:48                               ` Pierre Langlois
2023-02-10 17:02                                 ` Pierre Langlois
2023-02-12  6:05                                   ` Andrew Tropin
2023-02-12 12:24                                     ` Pierre Langlois
2023-02-12  5:55                                 ` Andrew Tropin
2023-02-12 12:07                                   ` Pierre Langlois
2023-02-14 13:24                                     ` Andrew Tropin [this message]
2023-02-17 12:38                                       ` Pierre Langlois
2023-02-10 17:04                             ` Pierre Langlois
2023-02-12  6:28                               ` Andrew Tropin
2023-02-12 12:29                                 ` Pierre Langlois
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 02/32] gnu: tree-sitter: Update to 0.20.7 Pierre Langlois
2022-11-25  6:39                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 03/32] gnu: Add rust-html-escape Pierre Langlois
2022-11-25  6:46                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 04/32] gnu: Add rust-smallbitvec-2 Pierre Langlois
2022-11-25  6:46                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 05/32] gnu: Add tree-sitter-cli Pierre Langlois
2022-11-25  6:52                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 07/32] gnu: Add tree-sitter-c Pierre Langlois
2022-11-25  6:56                   ` ( via Guix-patches via
2022-11-25  6:57                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 08/32] gnu: Add tree-sitter-cpp Pierre Langlois
2022-11-25  7:00                   ` ( via Guix-patches via
2022-11-25  7:01                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 09/32] gnu: Add tree-sitter-bash Pierre Langlois
2022-11-25  6:58                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 10/32] gnu: Add tree-sitter-css Pierre Langlois
2022-11-25  6:58                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 11/32] gnu: Add tree-sitter-c-sharp Pierre Langlois
2022-11-25  6:58                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 12/32] gnu: Add tree-sitter-elixir Pierre Langlois
2022-11-25  6:59                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 13/32] gnu: Add tree-sitter-elm Pierre Langlois
2022-11-25  6:59                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 14/32] gnu: Add tree-sitter-go Pierre Langlois
2022-11-25  7:00                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 15/32] gnu: Add tree-sitter-haskell Pierre Langlois
2022-11-25  7:04                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 16/32] gnu: Add tree-sitter-html Pierre Langlois
2022-11-25  7:02                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 17/32] gnu: Add tree-sitter-java Pierre Langlois
2022-11-25  7:02                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 18/32] gnu: Add tree-sitter-javascript Pierre Langlois
2022-11-25  7:02                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 19/32] gnu: Add tree-sitter-json Pierre Langlois
2022-11-25  7:02                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 20/32] gnu: Add tree-sitter-julia Pierre Langlois
2022-11-25  7:04                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 21/32] gnu: Add tree-sitter-ocaml Pierre Langlois
2022-11-25  7:07                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 22/32] gnu: Add tree-sitter-php Pierre Langlois
2022-11-25  7:07                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 23/32] gnu: Add tree-sitter-python Pierre Langlois
2022-11-25  7:08                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 24/32] gnu: Add tree-sitter-r Pierre Langlois
2022-11-25  7:08                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 25/32] gnu: Add tree-sitter-ruby Pierre Langlois
2022-11-25  7:09                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 26/32] gnu: Add tree-sitter-rust Pierre Langlois
2022-11-25  7:09                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 27/32] gnu: Add tree-sitter-typescript Pierre Langlois
2022-11-25  7:09                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 28/32] gnu: Add rust-tree-sitter Pierre Langlois
2022-11-25  7:11                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 29/32] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2022-11-25  7:17                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 30/32] gnu: Add emacs-tree-sitter-core Pierre Langlois
2022-11-25  7:22                   ` ( via Guix-patches via
2022-11-25  7:24                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 31/32] gnu: Add emacs-tree-sitter Pierre Langlois
2022-11-25  7:24                   ` ( via Guix-patches via
2022-11-25  1:21                 ` [bug#49946] [PATCH v7 32/32] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-11-25  7:29                   ` ( via Guix-patches via
     [not found]                 ` <20221125012142.22579-7-pierre.langlois@gmx.com>
2022-11-25  1:57                   ` [bug#49946] [PATCH v7 06/32] build-system: Add tree-sitter-build-system Pierre Langlois
2023-02-07 11:25                     ` [bug#49946] [PATCH 00/31] Tree-sitter, node-gyp addon support and emacs-tree-sitter zimoun
2023-02-10 16:14                       ` Pierre Langlois
2023-02-12  7:42                     ` [bug#49946] [PATCH v7 06/32] build-system: Add tree-sitter-build-system Andrew Tropin
2023-02-17 12:37                 ` [bug#49946] [PATCH v8 0/7] Add tree-sitter support for Emacs 28 Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 1/7] gnu: Add tree-sitter-lua Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 2/7] gnu: Add tree-sitter-rust@0.20.2 Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 3/7] gnu: Add rust-tree-sitter Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 4/7] gnu: Add rust-tree-sitter-for-emacs Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 5/7] gnu: Add emacs-tree-sitter-core Pierre Langlois
2023-02-17 12:48                     ` Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 6/7] gnu: Add emacs-tree-sitter Pierre Langlois
2023-02-17 12:37                   ` [bug#49946] [PATCH v8 7/7] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-03-07 18:30         ` [bug#49946] [WIP PATCH v3 00/26] gnu: Add tree-sitter for emacs (and neovim as well?) Luis Henrique Gomes Higino
2022-03-09 13:46           ` Pierre Langlois
2022-03-09 21:04             ` Maxime Devos
2022-03-10 11:17               ` Pierre Langlois
2022-03-10 12:36                 ` Maxime Devos
2022-03-10 13:19                   ` Pierre Langlois
2022-03-10 15:34                     ` Maxime Devos
2021-08-08 23:33   ` [bug#49946] [PATCH 08/31] gnu: node: Patch /usr/bin/env in node-gyp Pierre Langlois
2021-08-10 18:28     ` Maxime Devos
2021-08-11 15:36       ` Pierre Langlois
2021-09-23  9:18       ` Philip McGrath
2021-09-25 10:24         ` Pierre Langlois
2021-09-26 22:02           ` Philip McGrath
2021-09-27 10:11             ` Maxime Devos
2021-09-29  4:45               ` Philip McGrath
2021-09-29  6:31           ` Philip McGrath
2021-09-30 22:56           ` [bug#49946] [PATCH 0/3] guix: node-build-system: Support compiling addons with node-gyp Philip McGrath
2021-09-30 22:56             ` [bug#49946] [PATCH 1/3] gnu: node: Avoid duplicating build phases Philip McGrath
2021-10-02 11:03               ` Pierre Langlois
2021-09-30 22:56             ` [bug#49946] [PATCH 2/3] gnu: node: Update to 10.24.1 for bootstrapping Philip McGrath
2021-09-30 22:56             ` [bug#49946] [PATCH 3/3] guix: node-build-system: Support compiling addons with node-gyp Philip McGrath
2021-10-02 11:49               ` Pierre Langlois
2021-10-02 11:30             ` [bug#49946] [PATCH 0/3] " Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 09/31] " Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 10/31] gnu: Add node-nan Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 11/31] gnu: Add tree-sitter-c Pierre Langlois
2021-08-10 18:30     ` Maxime Devos
2021-08-08 23:33   ` [bug#49946] [PATCH 12/31] gnu: Add tree-sitter-cpp Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 13/31] gnu: Add tree-sitter-css Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 14/31] gnu: Add tree-sitter-go Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 15/31] gnu: Add tree-sitter-html Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 16/31] gnu: Add tree-sitter-java Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 17/31] gnu: Add tree-sitter-javascript Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 18/31] gnu: Add tree-sitter-json Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 19/31] gnu: Add tree-sitter-julia Pierre Langlois
2021-08-08 23:33   ` [bug#49946] [PATCH 20/31] gnu: Add tree-sitter-php Pierre Langlois
2021-08-08 23:43     ` [bug#49946] [PATCH 21/31] gnu: Add tree-sitter-python Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 22/31] gnu: Add tree-sitter-rust Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 23/31] gnu: Add tree-sitter-typescript Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 24/31] gnu: Add rust-bindgen@0.56 Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 25/31] gnu: Add rust-tree-sitter Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 26/31] gnu: rust-emacs-module: Update to 0.16 Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 27/31] gnu: rust-emacs-macros: Update to 0.17 Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 28/31] gnu: rust-emacs: " Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 29/31] gnu: Add emacs-tree-sitter-core Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 30/31] gnu: Add emacs-tree-sitter Pierre Langlois
2021-08-08 23:43       ` [bug#49946] [PATCH 31/31] gnu: Add emacs-tree-sitter-langs Pierre Langlois
2022-05-14 22:36 ` [bug#49946] State of emacs-tree-sitter Mekeor Melire
2022-05-15 12:14   ` Pierre Langlois
2023-01-25 22:04 ` [bug#49946] About migrating support from emacs-tree-sitter to treesit Luis Henrique Gomes Higino
2023-01-29 23:10   ` Luis Henrique Gomes Higino
2023-02-06  0:00     ` Pierre Langlois
2023-02-10  9:21 ` [bug#49946] [PATCH 00/31] Tree-sitter, node-gyp addon support and emacs-tree-sitter Andrew Tropin
2023-02-10 16:22   ` Pierre Langlois
2023-02-10 18:02   ` Liliana Marie Prikler
2023-02-11  8:12     ` Andrew Tropin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zg9g753h.fsf@trop.in \
    --to=andrew@trop.in \
    --cc=49946@debbugs.gnu.org \
    --cc=luishenriquegh2701@gmail.com \
    --cc=paren@disroot.org \
    --cc=pierre.langlois@gmx.com \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.