diff mbox series

[bug#49946,v7,31/32] gnu: Add emacs-tree-sitter.

Message ID 20221125012142.22579-32-pierre.langlois@gmx.com
State New
Headers show
Series gnu: Add tree-sitter for emacs. | expand

Commit Message

Pierre Langlois Nov. 25, 2022, 1:21 a.m. UTC
* gnu/packages/tree-sitter.scm (emacs-tree-sitter): New variable.
---
 gnu/packages/tree-sitter.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

\( Nov. 25, 2022, 7:24 a.m. UTC | #1
On Fri Nov 25, 2022 at 1:21 AM GMT, Pierre Langlois wrote:
> * gnu/packages/tree-sitter.scm (emacs-tree-sitter): New variable.

> --- a/gnu/packages/tree-sitter.scm
> +++ b/gnu/packages/tree-sitter.scm

> @@ -822,3 +822,30 @@ (module (search-input-file inputs "/lib/tsc-dyn.so")))

> +    (arguments
> +     `(#:phases

LIST please.

> +       (modify-phases %standard-phases

Aaaand gexp.

    -- (
diff mbox series

Patch

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index d23fa2fbd8..26b0206575 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -822,3 +822,30 @@  (module (search-input-file inputs "/lib/tsc-dyn.so")))
     (description "This package provides core APIs of the Emacs binding for
 Tree-sitter, an incremental parsing system.")
     (license license:expat)))
+
+(define-public emacs-tree-sitter
+  (package
+    (name "emacs-tree-sitter")
+    (version (package-version emacs-tree-sitter-core))
+    (source (package-source emacs-tree-sitter-core))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     (list emacs-tree-sitter-core))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "lisp"))))))
+    (home-page "https://github.com/emacs-tree-sitter/elisp-tree-sitter")
+    (synopsis "Tree-sitter bindings for Emacs Lisp")
+    (description "This package provides Emacs bindings for Tree-sitter, an
+incremental parsing library.  It aims to be the foundation for a new breed of
+Emacs packages that understand code structurally.  For example:
+
+@enumerate
+@item Faster, fine-grained code highlighting.
+@item More flexible code folding.
+@item Structural editing (like Paredit, or even better) for non-Lisp code.
+@item More informative indexing for imenu.
+@end enumerate")
+    (license license:expat)))