summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-02-25 10:02:19 +0100
committerRicardo Wurmus <rekado@elephly.net>2024-02-25 10:02:19 +0100
commit1306beaf3f6c8ddded2a956f5863bc65aad78882 (patch)
treed86f07be31d23e23bf07f375d5223e34374f41e9 /gnu
parente79a2b77e37e73cf40ab007064ce8ad36bbee78d (diff)
gnu: Add emacs-combobulate.
* gnu/packages/emacs-xyz.scm (emacs-combobulate): New variable. Change-Id: I0a46340861c920a3cbbd628733c18e5a302c065d
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs-xyz.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8038c5d2c0..6414c98fa9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -9224,6 +9224,40 @@ tupfiles, such as rule definitions, user-defined variables, macros, flags, bin
variables, and so on. The mode also allows you to execute Tup commands.")
(license license:gpl3+)))
+(define-public emacs-combobulate
+ (let ((commit "c7e4670a3047c0b58dff3746577a5c8e5832cfba")
+ (revision "1"))
+ (package
+ (name "emacs-combobulate")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mickeynp/combobulate")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "063w2sm0c7xhg3ml31xp870azb0sv7z689lnbnjnbl3rfdy4kg50"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list tree-sitter-javascript
+ tree-sitter-python
+ tree-sitter-typescript))
+ (native-inputs
+ (list python-minimal))
+ (home-page "https://www.masteringemacs.org/article/combobulate-structured-movement-editing-treesitter")
+ (synopsis "Structured editing and navigation in Emacs with tree-sitter")
+ (description
+ "Combobulate is a package that adds structured editing and movement to
+a wide range of programming languages. Unlike most programming major modes
+that use error-prone imperative code and regular expressions to determine
+what's what in your code, Combobulate uses Emacs 29's tree-sitter library.
+Tree-sitter maintains a concrete syntax tree of your code; it gives
+Combobulate absolute clarity of all aspects of your code, enabling more
+correct movement and editing than you would otherwise have.")
+ (license license:gpl3+))))
+
(define-public emacs-compat
(package
(name "emacs-compat")