[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
- [NonGNU ELPA] New packages proposal: tree-sitter,
Tuấn-Anh Nguyễn <=