summaryrefslogtreecommitdiff
path: root/gnu/packages/emacs-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r--gnu/packages/emacs-xyz.scm321
1 files changed, 238 insertions, 83 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7112a65181..07a9d4cbe7 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -95,7 +95,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
-;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021, 2022, 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
@@ -795,6 +795,35 @@ configuration language which makes it trivial to write your own themes.")
Common Lisp or Smalltalk, but for Emacs Lisp.")
(license license:gpl3+))))
+(define-public emacs-treebundel
+ (package
+ (name "emacs-treebundel")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/purplg/treebundel")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hk2xnjsr85in48h02xbzi8lsccp36li2bp9v9j0r8qn1bis2vv9"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-compat))
+ (home-page "https://github.com/purplg/treebundel")
+ (synopsis "Bundle related git-worktrees together")
+ (description
+ "This package is used for bundling related git-worktrees from multiple
+repositories together. This helps switch quickly between repositories and
+ensure you're on the correct branch. When you're done with your changes, you
+can use the repositories in the workspace and know which ones were modified to
+simplify the process of getting the changes merged in together. Additionally,
+git metadata is shared between all projects. You can stash, pop, and pull
+changes in from the same repository in other workspaces thanks to the power of
+git-worktrees.")
+ (license license:expat)))
+
(define-public emacs-tree-inspector
(let ((commit "bbb8d2dfe84fbf857fcc1579de5a1324b09a877e"))
(package
@@ -1730,6 +1759,27 @@ leveraging built-in functionality.")
purpose finder.")
(license license:gpl3+))))
+(define-public emacs-pacfiles-mode
+ (package
+ (name "emacs-pacfiles-mode")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/UndeadKernel/pacfiles-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d61s846r9ncmyx97f44r8i3p1ikgi4bab8k7xk868lja96y2ij7"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/UndeadKernel/pacfiles-mode")
+ (synopsis "ArchLinux's pacnew and pacsave merging tool")
+ (description
+ "This Emacs major mode helps manage @file{.pacnew} and @file{.pacsave}
+files left by ArchLinux's pacman.")
+ (license license:expat)))
+
(define-public emacs-minions
(package
(name "emacs-minions")
@@ -4547,6 +4597,30 @@ popup for completion candidates when using @code{emacs-corfu}. It can
be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
(license license:gpl3+)))
+(define-public emacs-corfu-candidate-overlay
+ (package
+ (name "emacs-corfu-candidate-overlay")
+ (version "1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://code.bsdgeek.org/adam/corfu-candidate-overlay")
+ (commit "265438b16155e899d82a869aebca16105665c998")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0i36g2i7435pby32vcapv4ydmp6rqn0r51qm91wqyzan1f3n3qck"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-corfu))
+ (license license:gpl3)
+ (home-page "https://code.bsdgeek.org/adam/corfu-candidate-overlay")
+ (synopsis "Show first Corfu's completion candidate in an overlay while
+ typing")
+ (description
+ "Simple corfu as-you-type auto-suggestion candidate overlay with a visual
+ indication of whether there are many or exactly one candidate available.")))
+
(define-public emacs-cape
(package
(name "emacs-cape")
@@ -5068,6 +5142,30 @@ This buffer is typically shown as a sidebar (Emacs vertically splits the
window).")
(license license:gpl3+))))
+(define-public emacs-imenu-anywhere
+ (package
+ (name "emacs-imenu-anywhere")
+ (version "1.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vspinu/imenu-anywhere")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0lbwfhcl40ayxskvmsvdrg8p63qp086xpzw61bqk4b3fxndxl04h"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/vspinu/imenu-anywhere")
+ (synopsis
+ "Imenu tag selection across buffers with the same mode/project")
+ (description
+ "This Emacs package provides navigation for imenu tags across all buffers
+that satisfy a filtering criteria. Available criteria are all buffers with
+the same major mode, same project buffers, and user-defined list of friendly
+mode buffers.")
+ (license license:gpl3+)))
+
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
@@ -9895,68 +9993,71 @@ in @code{html-mode}.")
(license license:gpl3+)))
(define-public emacs-slime
- (package
- (name "emacs-slime")
- (version "2.28")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/slime/slime")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1acmm4w1mv1qzpnkgc4wyiilbx8l0dk16sx8wv815ri5ks289rll"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:include #~(cons* "\\.lisp$" "\\.asd$"
- "contrib"
- "lib/hyperspec.el"
- %default-include)
- #:exclude #~(list "^slime-tests.el" "^contrib/test/"
- "^contrib/Makefile$" "^contrib/README.md$")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'install 'configure
- (lambda* _
- (emacs-substitute-variables "slime.el"
- ("inferior-lisp-program" "sbcl"))))
- (add-before 'install 'install-doc
- (lambda _
- (let ((info-dir (string-append #$output "/share/info"))
- (doc-dir (string-append #$output "/share/doc/"
- #$name "-" #$version))
- (doc-files '("doc/slime-refcard.pdf"
- "README.md" "NEWS" "PROBLEMS"
- "CONTRIBUTING.md")))
- (with-directory-excursion "doc"
- (substitute* "Makefile"
- (("infodir=/usr/local/info")
- (string-append "infodir=" info-dir)))
- (invoke "make" "html/index.html")
- (invoke "make" "slime.info")
- (install-file "slime.info" info-dir)
- (copy-recursively "html" (string-append doc-dir "/html")))
- (for-each (lambda (f)
- (install-file f doc-dir)
- (delete-file f))
- doc-files)
- (delete-file-recursively "doc")))))))
- (propagated-inputs
- (list emacs-macrostep))
- (native-inputs
- (list texinfo))
- (home-page "https://github.com/slime/slime")
- (synopsis "Superior Lisp Interaction Mode for Emacs")
- (description
- "SLIME extends Emacs with support for interactive programming in
+ ;; Update together with sbcl-slime-swank.
+ (let ((commit "0cc2e736112a0bc2a048ef6efd11dd67e3fbf7ad")
+ (revision "0"))
+ (package
+ (name "emacs-slime")
+ (version (git-version "2.28" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/slime/slime")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0iq9r4007rrnabj290y79i926x2m4j20j6b0x701pkywz926sn02"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:include #~(cons* "\\.lisp$" "\\.asd$"
+ "contrib"
+ "lib/hyperspec.el"
+ %default-include)
+ #:exclude #~(list "^slime-tests.el" "^contrib/test/"
+ "^contrib/Makefile$" "^contrib/README.md$")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'configure
+ (lambda* _
+ (emacs-substitute-variables "slime.el"
+ ("inferior-lisp-program" "sbcl"))))
+ (add-before 'install 'install-doc
+ (lambda _
+ (let ((info-dir (string-append #$output "/share/info"))
+ (doc-dir (string-append #$output "/share/doc/"
+ #$name "-" #$version))
+ (doc-files '("doc/slime-refcard.pdf"
+ "README.md" "NEWS" "PROBLEMS"
+ "CONTRIBUTING.md")))
+ (with-directory-excursion "doc"
+ (substitute* "Makefile"
+ (("infodir=/usr/local/info")
+ (string-append "infodir=" info-dir)))
+ (invoke "make" "html/index.html")
+ (invoke "make" "slime.info")
+ (install-file "slime.info" info-dir)
+ (copy-recursively "html" (string-append doc-dir "/html")))
+ (for-each (lambda (f)
+ (install-file f doc-dir)
+ (delete-file f))
+ doc-files)
+ (delete-file-recursively "doc")))))))
+ (propagated-inputs
+ (list emacs-macrostep))
+ (native-inputs
+ (list texinfo))
+ (home-page "https://github.com/slime/slime")
+ (synopsis "Superior Lisp Interaction Mode for Emacs")
+ (description
+ "SLIME extends Emacs with support for interactive programming in
Common Lisp. The features are centered around @command{slime-mode},
an Emacs minor mode that complements the standard @command{lisp-mode}.
While lisp-mode supports editing Lisp source files, @command{slime-mode}
adds support for interacting with a running Common Lisp process
for compilation, debugging, documentation lookup, and so on.")
- (license (list license:gpl2+ license:public-domain))))
+ (license (list license:gpl2+ license:public-domain)))))
(define-public emacs-popup
(package
@@ -13016,7 +13117,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(define-public emacs-clojure-mode
(package
(name "emacs-clojure-mode")
- (version "5.17.0")
+ (version "5.18.0")
(source
(origin
(method git-fetch)
@@ -13025,7 +13126,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0knx3y53z0dn49xisa78bac55vhhkwxs2iw3jvalx41wfwvkirxc"))))
+ (base32 "0g4x587fpzcj9y59k8sb1g7c6yvga9gjs8ximpmar7d8jq2cv5qa"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup emacs-dash emacs-paredit emacs-s))
@@ -13068,7 +13169,7 @@ Clojure projects from templates.")
(define-public emacs-clj-refactor
(package
(name "emacs-clj-refactor")
- (version "3.9.4")
+ (version "3.10.0")
(source
(origin
(method git-fetch)
@@ -13077,7 +13178,7 @@ Clojure projects from templates.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1j9pkkpnbvyl9p45dycngdiq2kyj6bmyb709pdxj3nar2d8ryl1h"))))
+ (base32 "100ngpgvff0xvw1h5krvh40sa3ympl241imwskcv62yk29m9z411"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-cider
@@ -13484,30 +13585,44 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
(license license:gpl3+))))
(define-public emacs-julia-mode
+ ;; Last release was in March 2020.
+ (let ((commit "7a8c868e0d3e51ba4a2c621ee22ca9599e0e4bbb")
+ (revision "0"))
(package
(name "emacs-julia-mode")
- (version "0.4")
+ (version (git-version "0.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaEditorSupport/julia-emacs")
- (commit version)))
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
- "1w131jb9mhvyjxa0p93iwfhzidgbcs6b8i6jg79yisqb9wchik99"))))
+ "0xwd4kq69ray6bk8hwjxnqf7myc3mn36chc2l9jn7a0x1f8x6k10"))))
(build-system emacs-build-system)
(arguments
- `(#:tests? #t
- #:test-command '("emacs" "--batch"
- "-l" "julia-mode-tests.el"
- "-f" "ert-run-tests-batch-and-exit")))
+ (list
+ #:tests? #t
+ #:test-command #~(list "emacs" "--batch"
+ "-l" "julia-mode-tests.el"
+ "-f" "ert-run-tests-batch-and-exit")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-test
+ (lambda _
+ (substitute* "julia-mode-tests.el"
+ ;; The test started failing with Emacs 29; see
+ ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/199>
+ ;; and discrepancy reported <https://issues.guix.gnu.org/66763>.
+ (("julia--test-end-of-defun-nested-2.*" all)
+ (string-append all " :expected-result :failed\n"))))))))
(home-page "https://github.com/JuliaEditorSupport/julia-emacs")
(synopsis "Major mode for Julia")
(description "This Emacs package provides a mode for the Julia
programming language.")
- (license license:expat)))
+ (license license:expat))))
(define-public emacs-julia-repl
(package
@@ -15219,7 +15334,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
- (version "1.7.0")
+ (version "1.9.0")
(source
(origin
(method git-fetch)
@@ -15228,10 +15343,11 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jqjgygdvny1vhjbx7k0l492fhamwndsjcbb2mccwp9j47k4qar9"))))
+ (base32 "0sjscbi3qgwn3wcpq5lz7k4gam69h0svh8wbhxcbskr9ys1rmysp"))))
(build-system emacs-build-system)
(arguments
- '(#:exclude ;don't exclude 'cider-test.el'
+ '(#:include (cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
+ #:exclude ;don't exclude 'cider-test.el'
'("^\\.dir-locals\\.el$" "^test/")
#:phases
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
@@ -16398,8 +16514,6 @@ programming and reproducible research.")
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "lisp"))))))
- (native-inputs
- (list emacs-cider))
(propagated-inputs
(list emacs-org))
(home-page "https://git.sr.ht/~bzg/org-contrib")
@@ -18858,7 +18972,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.27")
+ (version "0.28")
(synopsis "Emacs X window manager")
(source
(origin
@@ -18866,7 +18980,7 @@ It should enable you to implement low-level X11 applications.")
(uri (string-append "https://elpa.gnu.org/packages/"
"exwm-" version ".tar"))
(sha256
- (base32 "094k33clmxhnab0wniyrs48sdz28kna2g6fmkhsd7n20nmhhc4sn"))))
+ (base32 "00h5awqazk807zxvb02a9dp8gd5ifi3y1kcwmr1czk6kdmkjx32l"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-xelb))
@@ -28172,6 +28286,27 @@ editors to read the file format and adhere to defined styles. EditorConfig
files are easily readable and they work nicely with version control systems.")
(license license:gpl3+)))
+(define-public emacs-nerd-icons
+ (package
+ (name "emacs-nerd-icons")
+ (version "0.1.0")
+ (home-page "https://github.com/rainstormstudio/nerd-icons.el")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ggj6lm02m7nb5gxnqs2v2lkxsclml6kq176vam9qyg1fsm7yvdw"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list #:include #~(cons "^data\\/" %default-include)))
+ (synopsis "Library for easily using nerd font icons inside Emacs")
+ (description "Nerd-icons an alternative to all-the-icons. It works on both
+GUI and terminal, and requires a nerd font installed on your system.")
+ (license license:gpl3+)))
+
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
@@ -32854,7 +32989,7 @@ simple but powerful Org contents.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/nsavage/ox-rss")
+ (url "https://github.com/BenedictHW/ox-rss")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -32918,7 +33053,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
- (version "1.0.6")
+ (version "1.0.13")
(source
(origin
(method git-fetch)
@@ -32927,7 +33062,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1z5lmzxhindxa0f6qi6z361k9smqcz68alr6w6jbmwg279qmk8jj"))))
+ (base32 "143wmg9jhdi79y1gdi0y9xxpp8vyn7qbhvaysq1sf7g1h0jskxc2"))))
(build-system emacs-build-system)
(arguments
(list
@@ -33980,7 +34115,7 @@ contributed packages to Telega.")))
(define-public emacs-doom-modeline
(package
(name "emacs-doom-modeline")
- (version "3.4.0")
+ (version "4.0.1")
(source
(origin
(method git-fetch)
@@ -33988,14 +34123,14 @@ contributed packages to Telega.")))
(url "https://github.com/seagle0128/doom-modeline")
(commit (string-append "v" version))))
(sha256
- (base32 "1z5cqn33v7sjihs05ycz1yzi5wcg90yn3cy09qj9g5g8pjs8qdki"))
+ (base32 "0pwfmj01cqij84dig5qj86n7f4cva5mdjqahr0061byrlv9xrpzb"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
`(#:test-command '("ert-runner")))
(native-inputs (list emacs-ert-runner))
(propagated-inputs
- (list emacs-all-the-icons emacs-compat emacs-dash emacs-shrink-path))
+ (list emacs-nerd-icons emacs-compat emacs-shrink-path))
(synopsis "Fancy and fast mode-line inspired by minimalism design")
(description "Doom modeline is a complete modeline for GNU Emacs inspired
by the Doom theme collection. This modeline features support for mode-specific
@@ -35899,6 +36034,26 @@ should replace it. However, if you call them again immediately after, they
restore that occurrence of the placeholder and move to the next.")
(license license:gpl3+))))
+(define-public emacs-pddl-mode
+ (package
+ (name "emacs-pddl-mode")
+ (version "0.100")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacsmirror/pddl-mode")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zq5a0sv8am1c1gxky80dsi39gqsgnwbasv3nw4993r3ccz180r8"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/emacsmirror/pddl-mode")
+ (synopsis "Emacs mode for PDDL files")
+ (description "This package provides a major mode for browsing and editing
+PDDL files with syntax highlighting, templates, auto-completion, and more.")
+ (license license:gpl2+)))
+
(define-public emacs-plantuml-mode
(package
(name "emacs-plantuml-mode")