emacs-devel
[Top][All Lists]
Advanced

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

[NonGNU ELPA] New packages proposal: tree-sitter


From: Tuấn-Anh Nguyễn
Subject: [NonGNU ELPA] New packages proposal: tree-sitter
Date: Fri, 27 Aug 2021 17:48:11 +0700

Hi,

I want to add 3 Tree-sitter packages to NonGNU ELPA:
- tsc: Low-level bindings of core tree-sitter functionalities, exposed to ELisp
  through a dynamic module, as well as facilities to compile that dynamic module
  from source.
- tree-sitter: High-level integration with Emacs's editing facilities, including
  per-buffer syntax trees and code highlighting mechanism.
- tree-sitter-langs: Collection of language-specific highlighting patterns, as
  well as facilities to compile/download language grammars.

After checking the guidance, I see that the packages satisfy most of the rules,
except for the following:

1. Copyright notices: I use the header SPDX-License-Identifier in each file,
   instead of putting in the full text. Is this acceptable?

2. No code downloading over the Internet:

Currently, on supported platforms (Linux/macOS/Windows on x86_64):
- The tsc package would download the pre-compiled dynamic module from GitHub.
- The tree-sitter-langs package would download an archive of pre-compiled
  grammars from GitHub (in the form of shared dynamic libraries).

Note that the packages do provide facilities for users to compile the binaries
on their own. (Documentation on how to do so is to be written.) The dynamic
module's source would be included in the tar archive. The sources of language
grammars would need to be obtained by other means, e.g. by downloading from
various git repositories over the Internet.

What's the best way to resolve this? I can think of several ways:
a. Disable downloading of pre-compiled binaries entirely, and ask users to
   compile on their own.
b. Include the pre-compiled binaries (for several platforms) in the tar
   archives.
c. Host the pre-compiled binaries separately, on NonGNU ELPA server
instead of GitHub.

Are there other questions/comments/objections?

Links:
- Doc: https://emacs-tree-sitter.github.io/
- Source for tree-sitter and tsc:
https://github.com/emacs-tree-sitter/elisp-tree-sitter
- Source for tree-sitter-langs:
https://github.com/emacs-tree-sitter/tree-sitter-langs

--
Tuấn-Anh Nguyễn
Software Engineer



reply via email to

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