unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [NonGNU ELPA] New packages proposal: tree-sitter
@ 2021-08-27 10:48 Tuấn-Anh Nguyễn
  2021-08-27 11:46 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Tuấn-Anh Nguyễn @ 2021-08-27 10:48 UTC (permalink / raw)
  To: emacs-devel

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



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-08-28 16:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-27 10:48 [NonGNU ELPA] New packages proposal: tree-sitter Tuấn-Anh Nguyễn
2021-08-27 11:46 ` Eli Zaretskii
2021-08-28  7:00   ` Yuan Fu
2021-08-28 16:52     ` Tuấn-Anh Nguyễn

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).