b63fbafe05dd44b63514a369992376134e5b4321
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018, 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019, 2020, 2021 Brett Gilio <brettg@gnu.org>
45 ;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019, 2020, 2021 Joseph LaFreniere <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
58 ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
59 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
60 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
61 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
62 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
63 ;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
64 ;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net>
65 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
66 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
67 ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
68 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
69 ;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
70 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
71 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
72 ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
73 ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
74 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
75 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
76 ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com>
77 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
78 ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net>
79 ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
80 ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com>
81 ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net>
82 ;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
83 ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
84 ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
85 ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
86 ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
87 ;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
88 ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
89 ;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com>
90 ;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com>
91 ;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me>
92 ;;; Copyright © 2020 Brit Butler <brit@kingcons.io>
93 ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
94 ;;; Copyright © 2021 Yurii Kholodkov <urist.mckorobochka@gmail.com>
95 ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
96 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
97 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
98 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
99 ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
100 ;;;
101 ;;; This file is part of GNU Guix.
102 ;;;
103 ;;; GNU Guix is free software; you can redistribute it and/or modify it
104 ;;; under the terms of the GNU General Public License as published by
105 ;;; the Free Software Foundation; either version 3 of the License, or (at
106 ;;; your option) any later version.
107 ;;;
108 ;;; GNU Guix is distributed in the hope that it will be useful, but
109 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
110 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
111 ;;; GNU General Public License for more details.
112 ;;;
113 ;;; You should have received a copy of the GNU General Public License
114 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
115
116 (define-module (gnu packages emacs-xyz)
117 #:use-module ((guix licenses) #:prefix license:)
118 #:use-module (guix packages)
119 #:use-module (guix cvs-download)
120 #:use-module (guix download)
121 #:use-module (guix bzr-download)
122 #:use-module (guix git-download)
123 #:use-module (guix hg-download)
124 #:use-module (guix build-system gnu)
125 #:use-module (guix build-system cmake)
126 #:use-module (guix build-system copy)
127 #:use-module (guix build-system emacs)
128 #:use-module (guix build-system glib-or-gtk)
129 #:use-module (guix build-system perl)
130 #:use-module (guix build-system trivial)
131 #:use-module (gnu packages)
132 #:use-module (gnu packages admin)
133 #:use-module (gnu packages audio)
134 #:use-module (gnu packages bash)
135 #:use-module (gnu packages cmake)
136 #:use-module (gnu packages code)
137 #:use-module (gnu packages cpp)
138 #:use-module (gnu packages curl)
139 #:use-module (gnu packages databases)
140 #:use-module (gnu packages dictionaries)
141 #:use-module (gnu packages djvu)
142 #:use-module (gnu packages ebook)
143 #:use-module (gnu packages emacs)
144 #:use-module (gnu packages golang)
145 #:use-module (gnu packages guile)
146 #:use-module (gnu packages gtk)
147 #:use-module (gnu packages gnome)
148 #:use-module (gnu packages haskell-apps)
149 #:use-module (gnu packages ibus)
150 #:use-module (gnu packages java)
151 #:use-module (gnu packages ncurses)
152 #:use-module (gnu packages python)
153 #:use-module (gnu packages python-xyz)
154 #:use-module (gnu packages telephony)
155 #:use-module (gnu packages terminals)
156 #:use-module (gnu packages tex)
157 #:use-module (gnu packages texinfo)
158 #:use-module (gnu packages tcl)
159 #:use-module (gnu packages tls)
160 #:use-module (gnu packages pkg-config)
161 #:use-module (gnu packages xorg)
162 #:use-module (gnu packages lesstif)
163 #:use-module (gnu packages llvm)
164 #:use-module (gnu packages image)
165 #:use-module (gnu packages linux)
166 #:use-module (gnu packages libevent)
167 #:use-module (gnu packages lisp-xyz)
168 #:use-module (gnu packages lua)
169 #:use-module (gnu packages music)
170 #:use-module (gnu packages version-control)
171 #:use-module (gnu packages imagemagick)
172 #:use-module (gnu packages w3m)
173 #:use-module (gnu packages web)
174 #:use-module (gnu packages wget)
175 #:use-module (gnu packages autotools)
176 #:use-module (gnu packages base)
177 #:use-module (gnu packages compression)
178 #:use-module (gnu packages node)
179 #:use-module (gnu packages xml)
180 #:use-module (gnu packages glib)
181 #:use-module (gnu packages acl)
182 #:use-module (gnu packages mail)
183 #:use-module (gnu packages messaging)
184 #:use-module (gnu packages package-management)
185 #:use-module (gnu packages perl)
186 #:use-module (gnu packages pdf)
187 #:use-module (gnu packages ruby)
188 #:use-module (gnu packages rust-apps)
189 #:use-module (gnu packages scheme)
190 #:use-module (gnu packages speech)
191 #:use-module (gnu packages xiph)
192 #:use-module (gnu packages mp3)
193 #:use-module (gnu packages gettext)
194 #:use-module (gnu packages fribidi)
195 #:use-module (gnu packages gd)
196 #:use-module (gnu packages fontutils)
197 #:use-module (gnu packages password-utils)
198 #:use-module (gnu packages pulseaudio)
199 #:use-module (gnu packages sphinx)
200 #:use-module (gnu packages xdisorg)
201 #:use-module (gnu packages shells)
202 #:use-module (gnu packages sqlite)
203 #:use-module (gnu packages ghostscript)
204 #:use-module (gnu packages gnupg)
205 #:use-module (gnu packages video)
206 #:use-module (gnu packages haskell-xyz)
207 #:use-module (gnu packages wordnet)
208 #:use-module (gnu packages photo)
209 #:use-module (gnu packages uml)
210 #:use-module (gnu packages finance)
211 #:use-module (guix utils)
212 #:use-module (srfi srfi-1)
213 #:use-module (ice-9 match))
214
215 ;;;
216 ;;; Emacs hacking.
217 ;;;
218
219 (define-public emacs-geiser
220 (package
221 (name "emacs-geiser")
222 (version "0.13")
223 (source
224 (origin
225 (method git-fetch)
226 (uri (git-reference
227 (url "https://gitlab.com/emacs-geiser/geiser.git")
228 (commit version)))
229 (file-name (git-file-name name version))
230 (sha256
231 (base32 "0bwjcfmcyv6z0i5ivqirgcibxdkrlf5vyxcbj7k8dk7flwg1fpd9"))
232 (patches
233 (search-patches "emacs-geiser-autoload-activate-implementation.patch"))))
234 (build-system emacs-build-system)
235 (arguments
236 '(#:phases
237 (modify-phases %standard-phases
238 ;; Move the source files to the top level, which is included in
239 ;; the EMACSLOADPATH.
240 (add-after 'unpack 'move-source-files
241 (lambda _
242 (let ((el-files (find-files "./elisp" ".*\\.el$")))
243 (for-each (lambda (f)
244 (rename-file f (basename f)))
245 el-files))
246 #t))
247 (add-before 'install 'make-info
248 (lambda _
249 (with-directory-excursion "doc"
250 (invoke "makeinfo" "--no-split"
251 "-o" "geiser.info" "geiser.texi")))))))
252 (native-inputs
253 `(("texinfo" ,texinfo)))
254 (home-page "https://nongnu.org/geiser/")
255 (synopsis "Collection of Emacs modes for Scheme hacking")
256 (description
257 "Geiser is a collection of Emacs major and minor modes that conspire with
258 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
259 continuously running Scheme interpreter takes the center of the stage in
260 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
261 implementation, Emacs and, ultimately, the schemer, giving them access to live
262 metadata.
263
264 This package provides just the core of Geiser. To effectively use it with your
265 favourite Scheme implementation, you also need the corresponding geiser package,
266 e.g. emacs-geiser-guile for Guile.")
267 (license license:bsd-3)))
268
269 (define-public emacs-geiser-guile
270 (package
271 (name "emacs-geiser-guile")
272 (version "0.13")
273 (source
274 (origin
275 (method git-fetch)
276 (uri (git-reference
277 (url "https://gitlab.com/emacs-geiser/guile.git")
278 (commit version)))
279 (file-name (git-file-name name version))
280 (sha256
281 (base32 "0w264pjwlxna31260ll6gd0n77jlynhzf3h2dws5wr7jflns5mbc"))
282 (patches (search-patches
283 "emacs-geiser-guile-auto-activate.patch"))))
284 (build-system emacs-build-system)
285 (arguments
286 '(#:include (cons "^src/" %default-include)
287 #:phases
288 (modify-phases %standard-phases
289 (add-after 'make-autoloads 'patch-autoloads
290 (lambda* (#:key outputs #:allow-other-keys)
291 (substitute* (string-append
292 (elpa-directory (assoc-ref outputs "out"))
293 "/geiser-guile-autoloads.el")
294 ;; Activating implementations fails when Geiser is not yet
295 ;; loaded, so let's defer that until it is.
296 (("\\(geiser-activate-implementation .*\\)" all)
297 (string-append
298 "(eval-after-load 'geiser-impl '" all ")")))
299 #t)))))
300 (inputs
301 `(("guile" ,guile-2.2)))
302 (propagated-inputs
303 `(("geiser" ,emacs-geiser)))
304 (home-page "https://nongnu.org/geiser/")
305 (synopsis "Guile Scheme support for Geiser")
306 (description
307 "This package adds support for the Guile Scheme implementation to Geiser,
308 a generic Scheme interaction mode for the GNU Emacs editor.")
309 (license license:bsd-3)))
310
311 (define-public emacs-ac-geiser
312 (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05")
313 (revision "0"))
314 (package
315 (name "emacs-ac-geiser")
316 (version (git-version "0.1" revision commit))
317 (source
318 (origin
319 (uri (git-reference
320 (url "https://github.com/xiaohanyu/ac-geiser")
321 (commit commit)))
322 (method git-fetch)
323 (sha256
324 (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw"))
325 (file-name (git-file-name name version))))
326 (build-system emacs-build-system)
327 (propagated-inputs
328 `(("geiser" ,emacs-geiser)
329 ("auto-complete" ,emacs-auto-complete)))
330 (synopsis "Auto-complete backend for geiser")
331 (description
332 "This package provides an auto-complete source for Scheme projects
333 using geiser.")
334 (license license:bsd-3)
335 (home-page "https://github.com/xiaohanyu/ac-geiser"))))
336
337 (define-public emacs-geiser-gauche
338 (package
339 (name "emacs-geiser-gauche")
340 (version "0.0.2")
341 (source
342 (origin
343 (method git-fetch)
344 (uri (git-reference
345 (url "https://gitlab.com/emacs-geiser/gauche.git")
346 (commit version)))
347 (file-name (git-file-name name version))
348 (sha256
349 (base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg"))))
350 (build-system emacs-build-system)
351 (arguments
352 `(#:phases
353 (modify-phases %standard-phases
354 (add-after 'install 'install-scheme
355 (lambda* (#:key outputs #:allow-other-keys)
356 (install-file
357 "geiser-gauche.scm"
358 (string-append
359 (assoc-ref outputs "out")
360 "/share/emacs/site-lisp"))
361 #t)))))
362 (native-inputs
363 `(("geiser" ,emacs-geiser)))
364 (home-page "https://gitlab.com/emacs-geiser/gauche")
365 (synopsis "Gauche Scheme support for Geiser")
366 (description
367 "This package adds support for the Gauche Scheme implementation to Geiser,
368 a generic Scheme interaction mode for the GNU Emacs editor.")
369 (license license:expat)))
370
371 (define-public emacs-vc-hgcmd
372 (package
373 (name "emacs-vc-hgcmd")
374 (version "1.13")
375 (source (origin
376 (method git-fetch)
377 (uri (git-reference
378 (url "https://github.com/muffinmad/emacs-vc-hgcmd")
379 (commit (string-append "v" version))))
380 (file-name (git-file-name name version))
381 (sha256
382 (base32
383 "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"))))
384 (build-system emacs-build-system)
385 (home-page "https://github.com/muffinmad/emacs-vc-hgcmd")
386 (synopsis "Version control (VC) backend for the Mercurial command server")
387 (description
388 "This package provides an Emacs VC backend to work with Mercurial
389 repositories through the
390 @uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command
391 server}. The main advantage compared to @code{vc-hg} is speed.")
392 (license license:gpl3+)))
393
394 (define-public emacs-hyperbole
395 (package
396 (name "emacs-hyperbole")
397 (version "7.1.3")
398 (source
399 (origin
400 (method url-fetch)
401 (uri (string-append "https://elpa.gnu.org/packages/"
402 "hyperbole-" version ".tar"))
403 (sha256
404 (base32 "0bizibn4qgxqp89fyik6p47s9hss1g932mg8k7pznn3kkhj5c8rh"))
405 (patches
406 (search-patches "emacs-hyperbole-toggle-messaging.patch"))))
407 (build-system emacs-build-system)
408 (arguments
409 `(#:include '("DEMO"
410 "DEMO-ROLO.otl"
411 "HY-ABOUT"
412 "man/hkey-help.txt"
413 "\\.el$"
414 "\\.info$"
415 "\\.kotl$")
416 #:phases
417 (modify-phases %standard-phases
418 ;; Fix build issues about missing "domainname" and "hpmap:dir-user"
419 ;; parent dir.
420 (add-after 'unpack 'fix-build
421 (lambda* (#:key inputs #:allow-other-keys)
422 (substitute* "hypb.el"
423 (("/bin/domainname")
424 (string-append (assoc-ref inputs "inetutils")
425 "/bin/dnsdomainname")))
426 (substitute* "hyperbole.el"
427 (("\\(hyperb:check-dir-user\\)") ""))))
428 (add-after 'install 'install-images
429 (lambda* (#:key outputs #:allow-other-keys)
430 (let ((out (assoc-ref outputs "out")))
431 (for-each (lambda (file)
432 (install-file
433 file
434 (string-append out "/share/info/im")))
435 (find-files "man/im" "\\.png$"))))))))
436 (inputs
437 `(("inetutils" ,inetutils)))
438 (home-page "https://www.gnu.org/software/hyperbole/")
439 (synopsis "The Everyday Hypertextual Information Manager")
440 (description
441 "GNU Hyperbole, or just Hyperbole, is a programmable hypertextual
442 information management system. It offers rapid views and interlinking of all
443 kinds of textual information, utilizing Emacs for editing. In particular,
444 Hyperbole lets you quickly create and activate hyperlink buttons, build
445 outlines, manage all your contacts, your windows and frames, and search across
446 buffers, directory trees, or the web.")
447 (license license:gpl3+)))
448
449 (define-public emacs-paredit
450 (package
451 (name "emacs-paredit")
452 (version "24")
453 (source (origin
454 (method url-fetch)
455 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
456 version ".el"))
457 (sha256
458 (base32
459 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
460 (build-system emacs-build-system)
461 (home-page "http://mumble.net/~campbell/emacs/paredit/")
462 (synopsis "Emacs minor mode for editing parentheses")
463 (description
464 "ParEdit (paredit.el) is a minor mode for performing structured editing
465 of S-expression data. The typical example of this would be Lisp or Scheme
466 source code.
467
468 ParEdit helps **keep parentheses balanced** and adds many keys for moving
469 S-expressions and moving around in S-expressions. Its behavior can be jarring
470 for those who may want transient periods of unbalanced parentheses, such as
471 when typing parentheses directly or commenting out code line by line.")
472 (license license:gpl3+)))
473
474 (define-public emacs-project
475 (package
476 (name "emacs-project")
477 (version "0.6.0")
478 (source
479 (origin
480 (method url-fetch)
481 (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
482 (sha256
483 (base32 "0m0r1xgz1ffx6mi2gjz1dkgrn89sh4y5ysi0gj6p1w05bf8p0lc0"))))
484 (build-system emacs-build-system)
485 (propagated-inputs `(("emacs-xref" ,emacs-xref)))
486 (home-page "http://elpa.gnu.org/packages/project.html")
487 (synopsis "Operations on the current project")
488 (description
489 "This library contains generic infrastructure for dealing with projects,
490 some utility functions, and commands using that infrastructure.")
491 (license license:gpl3+)))
492
493 (define-public git-modes
494 (package
495 (name "emacs-git-modes")
496 (version "1.2.8")
497 (source (origin
498 (method git-fetch)
499 (uri (git-reference
500 (url "https://github.com/magit/git-modes")
501 (commit version)))
502 (file-name (git-file-name name version))
503 (sha256
504 (base32
505 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
506 (build-system emacs-build-system)
507 (home-page "https://github.com/magit/git-modes")
508 (synopsis "Emacs major modes for Git configuration files")
509 (description
510 "This package provides Emacs major modes for editing various Git
511 configuration files, such as .gitattributes, .gitignore, and .git/config.")
512 (license license:gpl3+)))
513
514 (define-public emacs-with-editor
515 (package
516 (name "emacs-with-editor")
517 (version "3.0.2")
518 (source
519 (origin
520 (method git-fetch)
521 (uri (git-reference
522 (url "https://github.com/magit/with-editor")
523 (commit (string-append "v" version))))
524 (file-name (git-file-name name version))
525 (sha256
526 (base32 "0hw6i5r3adkm4988badi94825lywkrh3sddiff4z04kj1nj15d0k"))))
527 (build-system emacs-build-system)
528 (arguments
529 `(#:phases
530 (modify-phases %standard-phases
531 (add-before 'install 'make-info
532 (lambda _
533 (invoke "makeinfo" "--no-split"
534 "-o" "with-editor.info" "with-editor.texi"))))))
535 (native-inputs
536 `(("texinfo" ,texinfo)))
537 (propagated-inputs
538 `(("emacs-async" ,emacs-async)))
539 (home-page "https://github.com/magit/with-editor")
540 (synopsis "Emacs library for using Emacsclient as EDITOR")
541 (description
542 "This package provides an Emacs library to use the Emacsclient as
543 @code{$EDITOR} of child processes, making sure they know how to call home.
544 For remote processes a substitute is provided, which communicates with Emacs
545 on stdout instead of using a socket as the Emacsclient does.")
546 (license license:gpl3+)))
547
548 (define-public emacs-libgit
549 (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a")
550 (revision "1"))
551 (package
552 (name "emacs-libgit")
553 (version (git-version "20200515" revision commit))
554 (source (origin
555 (method git-fetch)
556 (uri (git-reference
557 (url "https://github.com/magit/libegit2")
558 (commit commit)))
559 (file-name (git-file-name name version))
560 (sha256
561 (base32
562 "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"))
563 (patches (search-patches
564 ;; Submitted for inclusion upstream (see:
565 ;; https://github.com/magit/libegit2/pull/96).
566 "emacs-libgit-use-system-libgit2.patch"))))
567 ;; Use the cmake-build-system as it provides support for cross builds.
568 (build-system cmake-build-system)
569 (arguments
570 `(#:configure-flags '("-DUSE_SYSTEM_LIBGIT2=x")
571 ;; Add the emacs-build-system byte compilation and install phases.
572 #:imported-modules (,@%cmake-build-system-modules
573 (guix build emacs-build-system)
574 (guix build emacs-utils))
575 #:modules ((guix build cmake-build-system)
576 ((guix build emacs-build-system) #:prefix emacs:)
577 (guix build emacs-utils)
578 (guix build utils))
579 #:phases
580 (modify-phases %standard-phases
581 (add-after 'unpack 'set-libgit--module-file
582 (lambda* (#:key outputs #:allow-other-keys)
583 (let ((out (assoc-ref outputs "out")))
584 (make-file-writable "libgit.el")
585 (emacs-substitute-variables "libgit.el"
586 ("libgit--module-file"
587 (string-append (emacs:elpa-directory out) "/libegit2.so")))
588 #t)))
589 (add-before 'install 'prepare-for-install
590 (lambda _
591 (let ((s (string-append "../" ,name "-" ,version "-checkout")))
592 (copy-file "libegit2.so" (string-append s "/libegit2.so"))
593 (chdir s)
594 #t)))
595 (replace 'install
596 (lambda* (#:key outputs #:allow-other-keys)
597 (let ((install (assoc-ref emacs:%standard-phases 'install)))
598 (install #:outputs outputs
599 #:include (cons "\\.so$"
600 emacs:%default-include)))))
601 (add-after 'install 'make-autoloads
602 (assoc-ref emacs:%standard-phases 'make-autoloads))
603 (add-after 'make-autoloads 'enable-autoloads-compilation
604 (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
605 (add-after 'enable-autoloads-compilation 'patch-el-files
606 (assoc-ref emacs:%standard-phases 'patch-el-files))
607 (add-after 'patch-el-files 'emacs-build
608 (assoc-ref emacs:%standard-phases 'build))
609 (add-after 'emacs-build 'validate-compiled-autoloads
610 (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
611 (native-inputs
612 `(("pkg-config" ,pkg-config)
613 ("emacs" ,emacs-no-x)
614 ("git" ,git-minimal)))
615 (inputs
616 `(("libgit2" ,libgit2)))
617 (home-page "https://github.com/magit/libegit2")
618 (synopsis "Emacs bindings for libgit2")
619 (description "This is an experimental module written in C providing
620 libgit2 bindings for Emacs, intended to boost the performance of Magit.")
621 ;; The LICENSE file says GPL v2+, but libgit.el says GPL v3+.
622 (license license:gpl3+))))
623
624 (define-public emacs-magit
625 ;; There hasn't been an official release since 2018-11-16.
626 (let ((commit "7f486d47fe7042edba8d9a855a4c2c301a30bc6b")
627 (revision "6"))
628 (package
629 (name "emacs-magit")
630 (version (git-version "2.90.1" revision commit))
631 (source
632 (origin
633 (method git-fetch)
634 (uri (git-reference
635 (url "https://github.com/magit/magit")
636 (commit commit)))
637 (file-name (git-file-name name version))
638 (sha256
639 (base32 "05kyc5y5wa1p3h8j7mbgvfc4zcj998zi26lnnmksj9wnvahzxfms"))))
640 (build-system emacs-build-system)
641 (arguments
642 `(#:emacs ,emacs-no-x ;module support is required
643 #:tests? #t
644 #:test-command '("make" "test")
645 #:phases
646 (modify-phases %standard-phases
647 (add-after 'unpack 'build-info-manual
648 (lambda _
649 (invoke "make" "info")
650 ;; Copy info files to the lisp directory, which acts as
651 ;; the root of the project for the emacs-build-system.
652 (for-each (lambda (f)
653 (install-file f "lisp"))
654 (find-files "Documentation" "\\.info$"))
655 (chdir "lisp")
656 #t))
657 (add-after 'build-info-manual 'set-magit-version
658 (lambda _
659 (make-file-writable "magit.el")
660 (emacs-substitute-variables "magit.el"
661 ("magit-version" ,version))
662 #t))
663 (add-after 'set-magit-version 'patch-exec-paths
664 (lambda* (#:key inputs #:allow-other-keys)
665 (let ((perl (assoc-ref inputs "perl")))
666 (make-file-writable "magit-sequence.el")
667 (emacs-substitute-variables "magit-sequence.el"
668 ("magit-perl-executable" (string-append perl "/bin/perl")))
669 #t)))
670 (add-before 'check 'configure-git
671 (lambda _
672 ;; Otherwise some tests fail with error "unable to auto-detect
673 ;; email address".
674 (setenv "HOME" (getcwd))
675 (invoke "git" "config" "--global" "user.name" "toto")
676 (invoke "git" "config" "--global" "user.email"
677 "toto@toto.com")))
678 (add-after 'configure-git 'disable-tramp-test
679 (lambda _
680 ;; There is an issue causing TRAMP to fail in the build
681 ;; environment. Setting the tramp-remote-shell parameter of
682 ;; the sudo-method to the file name of the shell didn't help.
683 (chdir "..")
684 (substitute* "t/magit-tests.el"
685 (("^\\(ert-deftest magit-toplevel:tramp.*" all)
686 (string-append all " (skip-unless nil)")))
687 #t))
688 (add-before 'install 'enter-lisp-directory
689 (lambda _
690 (chdir "lisp")
691 #t)))))
692 (native-inputs
693 `(("texinfo" ,texinfo)))
694 (inputs
695 `(("git" ,git)
696 ("perl" ,perl)))
697 (propagated-inputs
698 `(("emacs-dash" ,emacs-dash)
699 ("emacs-libgit" ,emacs-libgit)
700 ("emacs-transient" ,emacs-transient)
701 ("emacs-with-editor" ,emacs-with-editor)))
702 (home-page "https://magit.vc/")
703 (synopsis "Emacs interface for the Git version control system")
704 (description
705 "With Magit, you can inspect and modify your Git repositories
706 with Emacs. You can review and commit the changes you have made to
707 the tracked files, for example, and you can browse the history of past
708 changes. There is support for cherry picking, reverting, merging,
709 rebasing, and other common Git operations.")
710 (license license:gpl3+))))
711
712 (define-public emacs-magit-svn
713 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
714 (package
715 (name "emacs-magit-svn")
716 (version (git-version "2.2.1" "2" commit))
717 (source (origin
718 (method git-fetch)
719 (uri (git-reference
720 (url "https://github.com/magit/magit-svn")
721 (commit commit)))
722 (file-name (git-file-name name version))
723 (sha256
724 (base32
725 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
726 (build-system emacs-build-system)
727 (propagated-inputs `(("dash" ,emacs-dash)
728 ("with-editor" ,emacs-with-editor)
729 ("magit" ,emacs-magit)
730 ("transient" ,emacs-transient)))
731 (home-page "https://github.com/magit/magit-svn")
732 (synopsis "Git-SVN extension to Magit")
733 (description
734 "This package is an extension to Magit, the Git Emacs mode, providing
735 support for Git-SVN.")
736 (license license:gpl3+))))
737
738 (define-public emacs-magit-popup
739 (package
740 (name "emacs-magit-popup")
741 (version "2.13.3")
742 (source
743 (origin
744 (method git-fetch)
745 (uri (git-reference
746 (url "https://github.com/magit/magit-popup")
747 (commit (string-append "v" version))))
748 (file-name (git-file-name name version))
749 (sha256
750 (base32 "0znp6gx6vpcsybg774ab06mdgxb7sfk3gki1yp2qhkanav13i6q1"))))
751 (build-system emacs-build-system)
752 (arguments
753 `(#:phases
754 (modify-phases %standard-phases
755 (add-before 'install 'make-info
756 (lambda _
757 (invoke "make" "info"))))))
758 (native-inputs
759 `(("texinfo" ,texinfo)))
760 (propagated-inputs
761 `(("emacs-dash" ,emacs-dash)))
762 (home-page "https://github.com/magit/magit-popup")
763 (synopsis "Define prefix-infix-suffix command combos")
764 (description
765 "This library implements a generic interface for toggling switches and
766 setting options and then invoking an Emacs command which does something with
767 these arguments. The prototypical use is for the command to call an external
768 process, passing on the arguments as command line arguments.")
769 (license license:gpl3+)))
770
771 (define-public emacs-magit-annex
772 (let ((commit "ef5dce6267e9118a5eca82a22bcad0b67826c23a")
773 (revision "1"))
774 (package
775 (name "emacs-magit-annex")
776 (version (git-version "1.7.1" revision commit))
777 (source (origin
778 (method git-fetch)
779 (uri (git-reference
780 (url "https://github.com/magit/magit-annex")
781 (commit commit)))
782 (file-name (git-file-name name version))
783 (sha256
784 (base32
785 "0vzkydgl889cq173zjl89g2vrddb9abc4a8gljiz3b4a7n5b1nrd"))))
786 (build-system emacs-build-system)
787 (propagated-inputs
788 `(("magit" ,emacs-magit)
789 ("transient" ,emacs-transient)))
790 (home-page "https://github.com/magit/magit-annex/")
791 (synopsis "Git-annex support for Magit")
792 (description
793 "Magit-annex adds a few git-annex operations to the Magit interface.")
794 (license license:gpl3+))))
795
796 (define-public emacs-minions
797 (package
798 (name "emacs-minions")
799 (version "0.3.4")
800 (source
801 (origin
802 (method git-fetch)
803 (uri (git-reference
804 (url "https://github.com/tarsius/minions")
805 (commit (string-append "v" version))))
806 (file-name (git-file-name name version))
807 (sha256
808 (base32 "1rvsfg9aabvyzzxd38kvjwkm9675zcmrfhzj5x6wj0ba3n0k34q5"))))
809 (build-system emacs-build-system)
810 (propagated-inputs
811 `(("emacs-dash" ,emacs-dash)))
812 (home-page "https://github.com/tarsius/minions")
813 (synopsis "Minor-mode menu for the mode line")
814 (description
815 "This package implements a menu that lists enabled minor-modes, as well
816 as commonly but not currently enabled minor-modes. It can be used to toggle
817 local and global minor-modes, to access mode-specific menus, and to get help
818 about modes.
819
820 This menu is intended as a replacement for the incomplete yet wide list of
821 enabled minor-modes that is displayed in the mode line by default. To use the
822 menu like this, enable Minions mode.
823
824 Alternatively the menu can be bound globally, for example:
825 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
826 (license license:gpl3+)))
827
828 (define-public emacs-moody
829 (package
830 (name "emacs-moody")
831 (version "0.5.4")
832 (source
833 (origin
834 (method git-fetch)
835 (uri (git-reference
836 (url "https://github.com/tarsius/moody")
837 (commit (string-append "v" version))))
838 (file-name (git-file-name name version))
839 (sha256
840 (base32 "0n8p864yj5m3n7f9qiq9hy24dwfvv0a0wchx2818rppff6vfq3hf"))))
841 (build-system emacs-build-system)
842 (home-page "https://github.com/tarsius/moody")
843 (synopsis "Tabs and ribbons for Emacs mode-line")
844 (description
845 "@code{emacs-moody} provides utilities for displaying elements of
846 the mode line as tabs and ribbons. It also provides replacements for a few
847 built-in elements. The biggest difference to similar packages is that
848 this one is much simpler and much more consistent. When using this package,
849 then only the color of the mode line changes when a window becomes in-/active.")
850 (license license:gpl3+)))
851
852 (define-public emacs-theme-magic
853 ;; No tagged release upstream, but the commit below correspond to the 0.2.3
854 ;; release.
855 (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3")
856 (revision "0"))
857 (package
858 (name "emacs-theme-magic")
859 (version "0.2.3")
860 (source
861 (origin
862 (method git-fetch)
863 (uri (git-reference
864 (url "https://github.com/jcaw/theme-magic")
865 (commit commit)))
866 (file-name (git-file-name name version))
867 (sha256
868 (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz"))))
869 (build-system emacs-build-system)
870 (arguments
871 `(
872 ;; Include Pywal interaction scripts.
873 #:include (cons "^python/" %default-include)
874 #:phases
875 (modify-phases %standard-phases
876 (add-after 'unpack 'patch-exec-paths
877 (lambda* (#:key inputs #:allow-other-keys)
878 (let ((files '("theme-magic.el" "python/wal_change_colors.py"))
879 (python (assoc-ref inputs "python"))
880 (python-pywal (assoc-ref inputs "python-pywal")))
881 (substitute* files
882 (("\"python\"") (string-append "\"" python "/bin/python3\""))
883 (("\"wal\"") (string-append "\"" python-pywal "/bin/wal\""))))
884 #t)))))
885 (inputs
886 `(("python" ,python)
887 ("python-pywal" ,python-pywal)))
888 (home-page "https://github.com/jcaw/theme-magic")
889 (synopsis "Generate and apply color palettes based on your Emacs theme")
890 (description
891 "This package provides a command to extract the colors from your Emacs
892 theme and apply them to the rest of Linux with Pywal. Pywal only applies your
893 theme to the current session.")
894 (license license:gpl3+))))
895
896 (define-public emacs-theme-sorcery
897 (let ((revision "0")
898 (commit "5a1c4445b9e6e09589a299a9962a6973272a0c2f"))
899 (package
900 (name "emacs-theme-sorcery")
901 (version "1.0")
902 (source
903 (origin
904 (method git-fetch)
905 (uri (git-reference
906 (url "https://github.com/mtreca/emacs-theme-sorcery")
907 (commit commit)))
908 (file-name (git-file-name name version))
909 (sha256
910 (base32 "1b858049n6nw4qf60fmszjrhl80x7ssh32f7glj722kwy7404kdh"))))
911 (build-system emacs-build-system)
912 (propagated-inputs
913 `(("emacs-autothemer" ,emacs-autothemer)))
914 (home-page "https://github.com/mtreca/emacs-theme-sorcery")
915 (synopsis "Dark and low-contrast Emacs theme")
916 (description "Sorcery is a dark and low-contrast Emacs theme inspired by
917 Apprentice and Sourcerer.")
918 (license license:gpl3+))))
919
920 (define-public emacs-treepy
921 (package
922 (name "emacs-treepy")
923 (version "0.1.2")
924 (source (origin
925 (method git-fetch)
926 (uri (git-reference
927 (url "https://github.com/volrath/treepy.el")
928 (commit version)))
929 (file-name (git-file-name name version))
930 (sha256
931 (base32
932 "0pmrpij80m5kgcr8bw36r8wllgppasw08vn3ghwvis9srpaq75cn"))))
933 (build-system emacs-build-system)
934 (home-page
935 "https://github.com/volrath/treepy.el")
936 (synopsis "Tree traversal tools")
937 (description
938 "Generic tools for recursive and iterative tree traversal based on
939 clojure.walk and clojure.zip respectively.")
940 (license license:gpl3+)))
941
942 (define-public emacs-typing
943 (let ((commit "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa")
944 (revision "0"))
945 (package
946 (name "emacs-typing")
947 (version (git-version "1.1.4" revision commit))
948 (source
949 (origin
950 (method git-fetch)
951 (uri (git-reference
952 (url "https://github.com/kensanata/typing")
953 (commit commit)))
954 (file-name (git-file-name name version))
955 (sha256
956 (base32
957 "1dbh0srbf54lgd60ia79y9cfnq3kxlgw01qzdjs9mk3nfazzpgnv"))))
958 (build-system emacs-build-system)
959 (home-page "https://github.com/kensanata/typing/")
960 (synopsis "Emacs game where you have to type fast")
961 (description "The Typing of Emacs is a game for Emacs that
962 forces you to type words correctly as fast as possible, otherwise
963 you will die. The game builds the list of words from the active buffer.")
964 (license license:gpl2+))))
965
966 (define-public emacs-graphql
967 (package
968 (name "emacs-graphql")
969 (version "0.1.1")
970 (source (origin
971 (modules '((guix build utils)))
972 ;; Remove examples file with references to external packages as
973 ;; they do not exist at compilation time.
974 (snippet
975 '(begin (delete-file "examples.el")
976 #t))
977 (method git-fetch)
978 (uri (git-reference
979 (url "https://github.com/vermiculus/graphql.el")
980 (commit version)))
981 (file-name (git-file-name name version))
982 (sha256
983 (base32
984 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
985 (build-system emacs-build-system)
986 (home-page
987 "https://github.com/vermiculus/graphql.el")
988 (synopsis "GraphQL utilities")
989 (description
990 "GraphQL.el provides a generally-applicable domain-specific language for
991 creating and executing GraphQL queries against your favorite web services.
992 GraphQL is a data query language and runtime designed and used to request and
993 deliver data to mobile and web apps.")
994 (license license:gpl3+)))
995
996 (define-public emacs-graphql-mode
997 ;; No tagged commit. No "Version" keyword either.
998 (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08")
999 (revision "1"))
1000 (package
1001 (name "emacs-graphql-mode")
1002 (version (git-version "0" revision commit))
1003 (source
1004 (origin
1005 (method git-fetch)
1006 (uri (git-reference
1007 (url "https://github.com/davazp/graphql-mode")
1008 (commit commit)))
1009 (file-name (git-file-name name version))
1010 (sha256
1011 (base32 "0x9y7qq6y0zg8ncamzvk68ccmdyzh7xsj0xs0ykyl20d5wdpplj4"))))
1012 (build-system emacs-build-system)
1013 (home-page "https://github.com/davazp/graphql-mode")
1014 (synopsis "Emacs mode to edit GraphQL schema and queries")
1015 (description
1016 "This package implements a major mode to edit GraphQL schemas and
1017 query. The basic functionality includes syntax highlight and indentation.
1018 Additionally, it is able to send GraphQL queries to an end-point URL.
1019
1020 Files with the @file{.graphql} and @file{.gql} extensions are
1021 automatically opened with this mode.")
1022 (license license:gpl3+))))
1023
1024 (define-public emacs-ghq
1025 (package
1026 (name "emacs-ghq")
1027 (version "0.1.2")
1028 (source
1029 (origin
1030 (method git-fetch)
1031 (uri (git-reference
1032 (url "https://github.com/rcoedo/emacs-ghq")
1033 (commit (string-append "v" version))))
1034 (file-name (git-file-name name version))
1035 (sha256
1036 (base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628"))))
1037 (build-system emacs-build-system)
1038 (propagated-inputs
1039 `(("ghq" ,ghq)))
1040 (home-page "https://github.com/rcoedo/emacs-ghq")
1041 (synopsis "Emacs interface for @code{ghq} tool")
1042 (description
1043 "This package provides a set of functions wrapping @code{ghq}, a tool for
1044 organizing remote Go repository clones.")
1045 (license license:gpl3+)))
1046
1047 (define-public emacs-ghub
1048 (package
1049 (name "emacs-ghub")
1050 (version "3.4.1")
1051 (source
1052 (origin
1053 (method git-fetch)
1054 (uri (git-reference
1055 (url "https://github.com/magit/ghub")
1056 (commit (string-append "v" version))))
1057 (file-name (git-file-name name version))
1058 (sha256
1059 (base32 "07iy4203ppvzkh67sb0v968hnypnvy4dpfy0qpqrp8zmc455dxq5"))))
1060 (build-system emacs-build-system)
1061 (arguments
1062 `(#:phases
1063 (modify-phases %standard-phases
1064 (add-before 'install 'make-info
1065 (lambda _
1066 (invoke "make" "info"))))))
1067 (native-inputs
1068 `(("texinfo" ,texinfo)))
1069 (propagated-inputs
1070 `(("dash" ,emacs-dash)
1071 ("emacs-let-alist" ,emacs-let-alist)
1072 ("treepy" ,emacs-treepy)))
1073 (home-page "https://github.com/magit/ghub")
1074 (synopsis "Emacs client libraries for the APIs of various Git forges")
1075 (description
1076 "Ghub provides basic support for using the APIs of various Git forges from
1077 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
1078 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
1079 handful of functions that are not resource-specific.")
1080 (license license:gpl3+)))
1081
1082 (define-public emacs-typit
1083 ;; Last release is from 2017.
1084 (let ((commit "231cb7df43253b84323520b8ed70f128d37003af")
1085 (revision "1"))
1086 (package
1087 (name "emacs-typit")
1088 (version (git-version "0.2.1" revision commit))
1089 (source
1090 (origin
1091 (method git-fetch)
1092 (uri (git-reference
1093 (url "https://github.com/mrkkrp/typit")
1094 (commit commit)))
1095 (file-name (git-file-name name version))
1096 (sha256
1097 (base32 "1savrxs7xl92ifyxpxkkzv2didr7lb405h0dwz1bs1wldr5fb53f"))))
1098 (build-system emacs-build-system)
1099 (arguments
1100 `(#:phases
1101 (modify-phases %standard-phases
1102 (add-after 'install 'install-dictionaries
1103 (lambda* (#:key outputs #:allow-other-keys)
1104 (let* ((out (assoc-ref outputs "out"))
1105 (site-lisp
1106 (string-append
1107 out "/share/emacs/site-lisp/dict")))
1108 (mkdir-p site-lisp)
1109 (copy-recursively "dict" site-lisp)
1110 #t))))))
1111 (propagated-inputs
1112 `(("emacs-f" ,emacs-f)
1113 ("emacs-mmt" ,emacs-mmt)))
1114 (home-page "https://github.com/mrkkrp/typit")
1115 (synopsis "Typing game for Emacs with two difficulties")
1116 (description "Emacs Typit is a typing game for Emacs. Words that are
1117 picked randomly from the most frequent words in language you're practicing,
1118 until time is up.")
1119 (license license:gpl3+))))
1120
1121 (define-public emacs-scribble-mode
1122 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
1123 (revision "2"))
1124 (package
1125 (name "emacs-scribble-mode")
1126 (version (git-version "0.1" revision commit))
1127 (source (origin
1128 (method git-fetch)
1129 (uri (git-reference
1130 (url "https://github.com/emacs-pe/scribble-mode")
1131 (commit commit)))
1132 (file-name (git-file-name name version))
1133 (sha256
1134 (base32
1135 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
1136 (build-system emacs-build-system)
1137 (home-page "https://github.com/emacs-pe/scribble-mode")
1138 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
1139 (description
1140 "This package provides basic syntax highlighting and editing support
1141 for editing Racket's Scribble documentation syntax in Emacs.")
1142 (license license:gpl3+))))
1143
1144 (define-public emacs-shroud
1145 (package
1146 (name "emacs-shroud")
1147 (version "1.105")
1148 (source
1149 (origin
1150 (method git-fetch)
1151 (uri (git-reference
1152 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
1153 (commit version)))
1154 (file-name (git-file-name name version))
1155 (sha256
1156 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
1157 (build-system gnu-build-system)
1158 (arguments
1159 `(#:modules ((guix build gnu-build-system)
1160 ((guix build emacs-build-system) #:prefix emacs:)
1161 (guix build utils))
1162 #:imported-modules (,@%gnu-build-system-modules
1163 (guix build emacs-build-system)
1164 (guix build emacs-utils))
1165 #:configure-flags (list (string-append "--with-lispdir="
1166 (emacs:elpa-directory %output)))
1167 #:phases
1168 (modify-phases %standard-phases
1169 (add-after 'unpack 'expand-load-path
1170 (assoc-ref emacs:%standard-phases 'expand-load-path)))))
1171 (native-inputs
1172 `(("autoconf" ,autoconf)
1173 ("automake" ,automake)
1174 ("texinfo" ,texinfo)
1175 ("perl" ,perl)
1176 ("emacs-minimal" ,emacs-minimal)))
1177 (propagated-inputs
1178 `(("emacs-bui" ,emacs-bui)
1179 ("emacs-dash" ,emacs-dash)
1180 ("emacs-f" ,emacs-f)
1181 ("emacs-s" ,emacs-s)
1182 ("gnupg" ,gnupg)
1183 ("shroud" ,shroud)))
1184 (home-page "https://www.nongnu.org/emacs-shroud")
1185 (synopsis "Emacs interface to the Shroud password manager")
1186 (description
1187 "This package provides an Emacs interface to the Shroud password manager,
1188 using the Buffers User Interface library. You can view, copy, and edit secrets
1189 from within Emacs.")
1190 (license license:gpl3+)))
1191
1192 (define-public emacs-solidity
1193 ;; This commit fixes a spacing issue and adds new keywords.
1194 (let ((commit "d166a86b83907e0cfd64c191e9dfce4b44a9843e")
1195 (revision "0"))
1196 (package
1197 (name "emacs-solidity")
1198 (version (git-version "0.1.10" revision commit))
1199 (source
1200 (origin
1201 (method git-fetch)
1202 (uri (git-reference
1203 (url "https://github.com/ethereum/emacs-solidity")
1204 (commit commit)))
1205 (file-name (git-file-name name version))
1206 (sha256
1207 (base32 "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"))))
1208 (build-system emacs-build-system)
1209 (propagated-inputs
1210 `(("emacs-company" ,emacs-company)
1211 ("emacs-flycheck" ,emacs-flycheck)))
1212 (home-page "https://github.com/ethereum/emacs-solidity")
1213 (synopsis "Major mode for writing Solidity code")
1214 (description
1215 "This is a simple language mode for the Solidity language. It is
1216 a constant work in progress as the language itself also progresses.")
1217 (license license:gpl3+))))
1218
1219 (define-public emacs-unpackaged-el
1220 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
1221 (revision "3"))
1222 (package
1223 (name "emacs-unpackaged-el")
1224 (version (git-version "0" revision commit))
1225 (source
1226 (origin
1227 (method git-fetch)
1228 (uri (git-reference
1229 (url "https://github.com/alphapapa/unpackaged.el")
1230 (commit commit)))
1231 (file-name (git-file-name name version))
1232 (sha256
1233 (base32
1234 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
1235 (build-system emacs-build-system)
1236 (propagated-inputs
1237 `(("emacs-dash" ,emacs-dash)
1238 ("emacs-org" ,emacs-org)
1239 ("emacs-s" ,emacs-s)
1240 ("emacs-hydra" ,emacs-hydra)
1241 ("emacs-use-package" ,emacs-use-package)))
1242 (arguments
1243 `(#:phases
1244 (modify-phases %standard-phases
1245 (add-after 'unpack 'require-hydra
1246 (lambda _
1247 (substitute* "unpackaged.el"
1248 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
1249 #t)))))
1250 (home-page "https://github.com/alphapapa/unpackaged.el")
1251 (synopsis "Useful snippets of Emacs Lisp code")
1252 (description "This package provides Emacs Lisp utilities for a variety
1253 of tasks, including version control, task management, and regex-based
1254 replacement.")
1255 (license license:gpl3+))))
1256
1257 (define-public emacs-haskell-mode
1258 (package
1259 (name "emacs-haskell-mode")
1260 (version "17.2")
1261 (source
1262 (origin
1263 (method git-fetch)
1264 (uri (git-reference
1265 (url "https://github.com/haskell/haskell-mode")
1266 (commit version)))
1267 (file-name (git-file-name name version))
1268 (sha256
1269 (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
1270 (propagated-inputs
1271 `(("emacs-dash" ,emacs-dash)))
1272 (native-inputs
1273 `(("emacs" ,emacs-minimal)
1274 ("emacs-el-search" ,emacs-el-search)
1275 ("emacs-stream" ,emacs-stream)
1276 ("texinfo" ,texinfo)))
1277 (build-system gnu-build-system)
1278 (arguments
1279 `(#:make-flags (list (string-append "EMACS="
1280 (assoc-ref %build-inputs "emacs")
1281 "/bin/emacs"))
1282 #:modules ((ice-9 match)
1283 (srfi srfi-26)
1284 ,@%gnu-build-system-modules)
1285 #:phases
1286 (modify-phases %standard-phases
1287 (delete 'configure)
1288 (add-before 'build 'pre-build
1289 (lambda* (#:key inputs #:allow-other-keys)
1290 (define (el-dir store-dir)
1291 (match (find-files store-dir "\\.el$")
1292 ((f1 f2 ...) (dirname f1))
1293 (_ "")))
1294
1295 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
1296 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
1297
1298 (setenv "SHELL" "sh")
1299 (setenv "EMACSLOADPATH"
1300 (string-concatenate
1301 (map (match-lambda
1302 (((? emacs-prefix? name) . dir)
1303 (string-append (el-dir dir) ":"))
1304 (_ ""))
1305 inputs)))
1306 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
1307 #t)))
1308 (add-before 'check 'delete-failing-tests
1309 ;; XXX: these tests require GHC executable, which would be a big
1310 ;; native input.
1311 (lambda _
1312 (with-directory-excursion "tests"
1313 ;; File `haskell-indent-tests.el' fails with
1314 ;; `haskell-indent-put-region-in-literate-2'
1315 ;; on Emacs 27.1+
1316 ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
1317 (for-each delete-file
1318 '("haskell-indent-tests.el"
1319 "haskell-customize-tests.el"
1320 "inferior-haskell-tests.el")))
1321 #t))
1322 (replace 'install
1323 (lambda* (#:key outputs #:allow-other-keys)
1324 (let* ((out (assoc-ref outputs "out"))
1325 (el-dir (string-append out "/share/emacs/site-lisp"))
1326 (doc (string-append
1327 out "/share/doc/haskell-mode-" ,version))
1328 (info (string-append out "/share/info")))
1329 (define (copy-to-dir dir files)
1330 (for-each (lambda (f)
1331 (install-file f dir))
1332 files))
1333
1334 (with-directory-excursion "doc"
1335 (invoke "makeinfo" "haskell-mode.texi")
1336 (install-file "haskell-mode.info" info))
1337 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
1338 (copy-to-dir el-dir (find-files "." "\\.elc?"))
1339 #t))))))
1340 (home-page "https://github.com/haskell/haskell-mode")
1341 (synopsis "Haskell mode for Emacs")
1342 (description
1343 "This is an Emacs mode for editing, debugging and developing Haskell
1344 programs.")
1345 (license license:gpl3+)))
1346
1347 (define-public emacs-dante
1348 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
1349 (revision "1"))
1350 (package
1351 (name "emacs-dante")
1352 (version (git-version "1.6" revision commit))
1353 (source (origin
1354 (method git-fetch)
1355 (uri (git-reference
1356 (url "https://github.com/jyp/dante")
1357 (commit commit)))
1358 (sha256
1359 (base32
1360 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
1361 (file-name (git-file-name name version))))
1362 (build-system emacs-build-system)
1363 (propagated-inputs
1364 `(("emacs-dash" ,emacs-dash)
1365 ("emacs-f" ,emacs-f)
1366 ("emacs-flycheck" ,emacs-flycheck)
1367 ("emacs-haskell-mode" ,emacs-haskell-mode)
1368 ("emacs-s" ,emacs-s)
1369 ("emacs-company" ,emacs-company)
1370 ("emacs-lcr" ,emacs-lcr)))
1371 (home-page "https://github.com/jyp/dante")
1372 (synopsis "Minor mode for interactive Haskell")
1373 (description
1374 "This package provides a minor mode for Haskell development that
1375 supports type hints, definition-jumping, completion, and more.")
1376 (license license:gpl3+))))
1377
1378 (define-public emacs-flycheck
1379 ;; Last release version was more than 500 commits ago.
1380 (let ((commit "9bcf6b665e15db94870bebc81dc8248c3eec20d3")
1381 (revision "2"))
1382 (package
1383 (name "emacs-flycheck")
1384 (version (git-version "31" revision commit))
1385 (source
1386 (origin
1387 (method git-fetch)
1388 (uri (git-reference
1389 (url "https://github.com/flycheck/flycheck/")
1390 (commit commit)))
1391 (sha256
1392 (base32 "015ixss5bjr7gvhj8mkw5x2x1hy6fvvsjarr2xpv0gskkkngs7pg"))
1393 (file-name (git-file-name name version))))
1394 (build-system emacs-build-system)
1395 (propagated-inputs
1396 `(("emacs-dash" ,emacs-dash)))
1397 (native-inputs
1398 `(("emacs-shut-up" ,emacs-shut-up)))
1399 (arguments
1400 `(#:phases
1401 (modify-phases %standard-phases
1402 (add-after 'unpack 'change-flycheck-version
1403 (lambda _
1404 (substitute* "flycheck.el"
1405 (("\\(pkg-info-version-info 'flycheck\\)")
1406 (string-append "\"" ,version "\"")))
1407 #t)))
1408 ;; TODO: many failing tests
1409 #:tests? #f
1410 #:test-command '("emacs" "-Q" "--batch" "-L" "."
1411 "--load" "test/flycheck-test"
1412 "--load" "test/run.el"
1413 "-f" "flycheck-run-tests-main")))
1414 (home-page "https://www.flycheck.org")
1415 (synopsis "On-the-fly syntax checking")
1416 (description
1417 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
1418 replacement for the older Flymake extension which is part of GNU Emacs, with
1419 many improvements and additional features.
1420
1421 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
1422 checking for over 30 programming and markup languages with more than 70
1423 different tools. It highlights errors and warnings inline in the buffer, and
1424 provides an optional IDE-like error list.")
1425 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
1426
1427 (define-public emacs-flymake-shellcheck
1428 ;; No tag, version grabbed from source .el file.
1429 (let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7")
1430 (revision "1"))
1431 (package
1432 (name "emacs-flymake-shellcheck")
1433 (version (git-version "0.1" revision commit))
1434 (source
1435 (origin
1436 (method git-fetch)
1437 (uri (git-reference
1438 (url "https://github.com/federicotdn/flymake-shellcheck")
1439 (commit commit)))
1440 (file-name (git-file-name name version))
1441 (sha256
1442 (base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl"))))
1443 (build-system emacs-build-system)
1444 (home-page "https://github.com/federicotdn/flymake-shellcheck")
1445 (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
1446 (description
1447 "This package provides a backend for Flymake to use the
1448 tool ShellCheck for static analyzing @command{bash} and @command{sh}
1449 scripts.")
1450 (license license:gpl3+))))
1451
1452 (define-public emacs-a
1453 (package
1454 (name "emacs-a")
1455 (version "0.1.1")
1456 (source (origin
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/plexus/a.el")
1460 (commit (string-append "v" version))))
1461 (file-name (git-file-name name version))
1462 (sha256
1463 (base32
1464 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
1465 (build-system emacs-build-system)
1466 (home-page "https://github.com/plexus/a.el/")
1467 (synopsis
1468 "Emacs library for dealing with association lists and hash tables")
1469 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
1470 with associative structures in a uniform and functional way. These functions
1471 can take association lists, hash tables, and in some cases vectors (where the
1472 index is considered the key).")
1473 (license license:gpl3+)))
1474
1475 (define-public emacs-ace-jump-mode
1476 (package
1477 (name "emacs-ace-jump-mode")
1478 (version "2.0")
1479 (home-page "https://github.com/winterTTr/ace-jump-mode")
1480 (source (origin
1481 (method git-fetch)
1482 (uri (git-reference
1483 (url home-page)
1484 (commit (string-append "v" version))))
1485 (sha256
1486 (base32
1487 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
1488 (file-name (git-file-name name version))))
1489 (build-system emacs-build-system)
1490 (synopsis "Cursor location minor mode for fast navigation")
1491 (description "Ace-jump-mode is a fast/direct cursor location minor
1492 mode. It creates an N-Branch search tree internally and marks all
1493 the possible position with predefined keys in within the whole Emacs
1494 view. This allows you to move to the character, word, or line almost
1495 directly.")
1496 (license license:gpl3+)))
1497
1498 (define-public emacs-anaphora
1499 (package
1500 (name "emacs-anaphora")
1501 (version "1.0.4")
1502 (source
1503 (origin
1504 (method git-fetch)
1505 (uri (git-reference
1506 (url "https://github.com/rolandwalker/anaphora")
1507 (commit (string-append "v" version))))
1508 (file-name (git-file-name name version))
1509 (sha256
1510 (base32
1511 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
1512 (build-system emacs-build-system)
1513 (home-page "https://github.com/rolandwalker/anaphora/")
1514 (synopsis "Anaphoric expressions for Emacs Lisp")
1515 (description "@code{emacs-anaphora} implements anaphoric expressions for
1516 Emacs Lisp.
1517
1518 Anaphoric expressions implicitly create one or more temporary variables which
1519 can be referred to during the expression. This technique can improve clarity
1520 in certain cases. It also enables recursion for anonymous functions.")
1521 (license license:public-domain)))
1522
1523 (define-public emacs-xr
1524 (package
1525 (name "emacs-xr")
1526 (version "1.21")
1527 (source
1528 (origin
1529 (method url-fetch)
1530 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
1531 (sha256
1532 (base32 "0mc10d33lsqs0ihcja8w78jzh2pk0dfm9m86kap6r3hi6wkr1cmi"))))
1533 (build-system emacs-build-system)
1534 (home-page "https://elpa.gnu.org/packages/xr.html")
1535 (synopsis "Convert string regexp to rx notation")
1536 (description
1537 "This is an inverse companion to the @code{rx} package for translating
1538 regexps in string form to the @code{rx} notation. Its chief uses are:
1539
1540 @itemize
1541 @item Migrating existing code to @code{rx} form, for better readability and
1542 maintainability
1543 @item Understanding complex regexp strings and finding errors in them
1544 @end itemize
1545
1546 In addition to Emacs regexps, this package can also parse and troubleshoot
1547 skip set strings, which are arguments to @code{skip-chars-forward} and
1548 @code{skip-chars-backward}.")
1549 (license license:gpl3+)))
1550
1551 (define-public emacs-ample-regexps
1552 (let ((commit "153969ce547afe410b8986f01c9ed4087c9cd20b")
1553 (revision "2"))
1554 (package
1555 (name "emacs-ample-regexps")
1556 (version (git-version "0.1" revision commit))
1557 (source
1558 (origin
1559 (method git-fetch)
1560 (uri (git-reference
1561 (url "https://github.com/immerrr/ample-regexps.el")
1562 (commit commit)))
1563 (file-name (git-file-name name version))
1564 (sha256
1565 (base32
1566 "0dkp7bcd7h2ds40wyszy11nmh7c2jxrwy04ayz7pbxh53ir7s2k0"))))
1567 (build-system emacs-build-system)
1568 (native-inputs
1569 `(("ert-runner" ,emacs-ert-runner)))
1570 (arguments
1571 `(#:tests? #t
1572 #:test-command '("ert-runner" "-l" "ample-regexps")))
1573 (home-page "https://github.com/immerrr/ample-regexps.el")
1574 (synopsis "Compose and reuse Emacs regexps")
1575 (description
1576 "This package allows common parts of regexps to be easily picked out
1577 and reused.")
1578 (license license:gpl3+))))
1579
1580 (define-public emacs-airline-themes
1581 (package
1582 (name "emacs-airline-themes")
1583 (version "1.8")
1584 (source
1585 (origin
1586 (method git-fetch)
1587 (uri (git-reference
1588 (url "https://github.com/AnthonyDiGirolamo/airline-themes")
1589 (commit version)))
1590 (file-name (git-file-name name version))
1591 (sha256
1592 (base32 "1jx17g8a6pxkw4zlx3fwhqgxfzcf3019k8fklykamfrkharzsc2l"))))
1593 (build-system emacs-build-system)
1594 (propagated-inputs
1595 `(("emacs-powerline" ,emacs-powerline)))
1596 (home-page "https://github.com/AnthonyDiGirolamo/airline-themes")
1597 (synopsis "Vim-airline themes for Emacs Powerline")
1598 (description
1599 "This is a port of the themes in Vim-airline to Emacs Powerline.")
1600 (license license:expat)))
1601
1602 (define-public emacs-ample-theme
1603 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1604 (revision "1"))
1605 (package
1606 (name "emacs-ample-theme")
1607 (version (git-version "0.0.0" revision commit))
1608 (source (origin
1609 (method git-fetch)
1610 (uri (git-reference
1611 (url "https://github.com/jordonbiondo/ample-theme")
1612 (commit commit)))
1613 (file-name (git-file-name name version))
1614 (sha256
1615 (base32
1616 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1617 (build-system emacs-build-system)
1618 (home-page "https://github.com/jordonbiondo/ample-theme")
1619 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1620 (description "Ample themes is a collection of three themes sharing a
1621 similar pallet with a light, dark and flat versions with a focus on being easy
1622 on the eyes during night and day. They only support GUI and 256 colour
1623 terminals.")
1624 (license license:gpl3+))))
1625
1626 (define-public emacs-reformatter
1627 (package
1628 (name "emacs-reformatter")
1629 (version "0.6")
1630 (source
1631 (origin
1632 (method git-fetch)
1633 (uri (git-reference
1634 (url "https://github.com/purcell/reformatter.el")
1635 (commit version)))
1636 (file-name (git-file-name name version))
1637 (sha256
1638 (base32 "1dfn7c3gpavpiwd73v2pasd8wd8b62dczhg9iv1cgh8vaqlsf92x"))))
1639 (build-system emacs-build-system)
1640 (home-page "https://github.com/purcell/reformatter.el")
1641 (synopsis "Define commands which run reformatters on the current buffer")
1642 (description
1643 "This library lets elisp authors easily define an idiomatic command to
1644 reformat the current buffer using a command-line program, together with an
1645 optional minor mode which can apply this command automatically on save.")
1646 (license license:gpl3+)))
1647
1648 (define-public emacs-relative-buffers
1649 (let ((release "0.0.1")
1650 (revision "0")
1651 (commit "9762fe268e9ff150dcec2e2e45d862d82d5c4008"))
1652 (package
1653 (name "emacs-relative-buffers")
1654 (version (git-version release revision commit))
1655 (source
1656 (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/emacsattic/relative-buffers")
1660 (commit commit)))
1661 (file-name (git-file-name name version))
1662 (sha256
1663 (base32 "0fzhwbpyndwrmxip9zlcwkrr675l5pzwcygi45hv7w1hn39w0hxp"))
1664 (snippet
1665 '(begin
1666 ;; Delete the Cask test runners.
1667 (for-each delete-file '("Cask" "test/test-helper.el"))
1668 #t))))
1669 (build-system emacs-build-system)
1670 (arguments
1671 `(#:tests? #t
1672 #:test-command '("ert-runner")))
1673 (native-inputs
1674 `(("ert-runner" ,emacs-ert-runner)))
1675 (propagated-inputs
1676 `(("emacs-dash" ,emacs-dash)
1677 ("emacs-f" ,emacs-f)
1678 ("emacs-s" ,emacs-s)))
1679 (home-page "https://github.com/emacsattic/relative-buffers")
1680 (synopsis "Minor mode to rename buffers by project structure")
1681 (description
1682 "This package provides a minor mode for renaming buffers according to
1683 project structure. For Python buffers, that will be the whole module name.
1684 For temporary files and directories, that will be the relative path from the
1685 project root.")
1686 (license license:gpl3+))))
1687
1688 (define-public emacs-relint
1689 (package
1690 (name "emacs-relint")
1691 (version "1.19")
1692 (source
1693 (origin
1694 (method url-fetch)
1695 (uri (string-append "https://elpa.gnu.org/packages/"
1696 "relint-" version ".tar"))
1697 (sha256
1698 (base32 "14z3i01pq5ljhjf5yfcjw7hxljcrwjnizkrdc1qyh9b6h3ic1bbi"))))
1699 (build-system emacs-build-system)
1700 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1701 (home-page "https://github.com/mattiase/relint")
1702 (synopsis "Elisp regexp mistake finder")
1703 (description
1704 "Relint (regular expression lint) scans Elisp files for mistakes in
1705 regexps, including deprecated syntax and bad practice. It also checks the
1706 regexp-like arguments to @code{skip-chars-forward} and
1707 @code{skip-chars-backward}.")
1708 (license license:gpl3+)))
1709
1710 (define-public emacs-bug-hunter
1711 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1712 (revision "1"))
1713 (package
1714 (name "emacs-bug-hunter")
1715 (version (git-version "1.3.1" revision commit))
1716 (source
1717 (origin
1718 (method git-fetch)
1719 (uri (git-reference
1720 (url "https://github.com/Malabarba/elisp-bug-hunter")
1721 (commit commit)))
1722 (file-name (git-file-name name commit))
1723 (sha256
1724 (base32
1725 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1726 (build-system emacs-build-system)
1727 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1728 (synopsis "Hunt down errors by bisecting elisp files")
1729 (description
1730 "The Bug Hunter is an Emacs library that finds the source of an error
1731 or unexpected behavior inside an elisp configuration file (typically
1732 @file{init.el} or @file{.emacs}).")
1733 (license license:gpl3+))))
1734
1735 \f
1736 ;;;
1737 ;;; Web browsing.
1738 ;;;
1739
1740 (define-public emacs-w3m
1741 ;; Emacs-w3m follows a "rolling release" model.
1742 (package
1743 (name "emacs-w3m")
1744 (version "2018-11-11")
1745 (source (origin
1746 (method cvs-fetch)
1747 (uri (cvs-reference
1748 (root-directory
1749 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1750 (module "emacs-w3m")
1751 (revision version)))
1752 (file-name (string-append name "-" version "-checkout"))
1753 (sha256
1754 (base32
1755 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1756 (build-system gnu-build-system)
1757 (native-inputs `(("autoconf" ,autoconf)
1758 ("texinfo" ,texinfo)
1759 ("emacs" ,emacs-minimal)))
1760 (inputs `(("w3m" ,w3m)
1761 ("imagemagick" ,imagemagick)))
1762 (arguments
1763 `(#:modules ((guix build gnu-build-system)
1764 (guix build utils)
1765 (guix build emacs-utils))
1766 #:imported-modules (,@%gnu-build-system-modules
1767 (guix build emacs-utils))
1768 #:configure-flags
1769 (let ((out (assoc-ref %outputs "out")))
1770 (list (string-append "--with-lispdir="
1771 out "/share/emacs/site-lisp")
1772 (string-append "--with-icondir="
1773 out "/share/images/emacs-w3m")
1774 ;; Leave .el files uncompressed, otherwise GC can't
1775 ;; identify run-time dependencies. See
1776 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1777 "--without-compress-install"))
1778 #:tests? #f ; no check target
1779 #:phases
1780 (modify-phases %standard-phases
1781 (add-after 'unpack 'autoconf
1782 (lambda _
1783 (invoke "autoconf")))
1784 (add-before 'configure 'support-emacs!
1785 (lambda _
1786 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1787 ;; unsupported.
1788 (substitute* "configure"
1789 (("EMACS_FLAVOR=unsupported")
1790 "EMACS_FLAVOR=emacs"))
1791 #t))
1792 (add-before 'build 'patch-exec-paths
1793 (lambda* (#:key inputs outputs #:allow-other-keys)
1794 (let ((out (assoc-ref outputs "out"))
1795 (w3m (assoc-ref inputs "w3m"))
1796 (imagemagick (assoc-ref inputs "imagemagick"))
1797 (coreutils (assoc-ref inputs "coreutils")))
1798 (make-file-writable "w3m.el")
1799 (emacs-substitute-variables "w3m.el"
1800 ("w3m-command" (string-append w3m "/bin/w3m"))
1801 ("w3m-touch-command"
1802 (string-append coreutils "/bin/touch"))
1803 ("w3m-icon-directory"
1804 (string-append out "/share/images/emacs-w3m")))
1805 (make-file-writable "w3m-image.el")
1806 (emacs-substitute-variables "w3m-image.el"
1807 ("w3m-imagick-convert-program"
1808 (string-append imagemagick "/bin/convert"))
1809 ("w3m-imagick-identify-program"
1810 (string-append imagemagick "/bin/identify")))
1811 #t)))
1812 (replace 'install
1813 (lambda* (#:key outputs #:allow-other-keys)
1814 (invoke "make" "install" "install-icons")
1815 (with-directory-excursion
1816 (string-append (assoc-ref outputs "out")
1817 "/share/emacs/site-lisp")
1818 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1819 (symlink "w3m-load.el" "w3m-autoloads.el")
1820 #t))))))
1821 (home-page "http://emacs-w3m.namazu.org/")
1822 (synopsis "Simple Web browser for Emacs based on w3m")
1823 (description
1824 "Emacs-w3m is an emacs interface for the w3m web browser.")
1825 (license license:gpl2+)))
1826
1827 (define-public emacs-wget
1828 (package
1829 (name "emacs-wget")
1830 (version "0.5.0")
1831 (source (origin
1832 (method url-fetch)
1833 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1834 version ".orig.tar.gz"))
1835 (sha256
1836 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1837 (build-system gnu-build-system)
1838 (inputs `(("wget" ,wget)))
1839 (native-inputs `(("emacs" ,emacs-minimal)))
1840 (arguments
1841 `(#:modules ((guix build gnu-build-system)
1842 (guix build utils)
1843 (guix build emacs-utils))
1844 #:imported-modules (,@%gnu-build-system-modules
1845 (guix build emacs-utils))
1846 #:tests? #f ; no check target
1847 #:phases
1848 (modify-phases %standard-phases
1849 (replace 'configure
1850 (lambda* (#:key outputs #:allow-other-keys)
1851 (substitute* "Makefile"
1852 (("/usr/local") (assoc-ref outputs "out"))
1853 (("/site-lisp/emacs-wget") "/site-lisp"))
1854 #t))
1855 (add-before 'build 'patch-exec-paths
1856 (lambda* (#:key inputs outputs #:allow-other-keys)
1857 (let ((wget (assoc-ref inputs "wget")))
1858 (emacs-substitute-variables "wget.el"
1859 ("wget-command" (string-append wget "/bin/wget"))))
1860 #t))
1861 (add-after 'install 'post-install
1862 (lambda* (#:key outputs #:allow-other-keys)
1863 (emacs-generate-autoloads
1864 "wget" (string-append (assoc-ref outputs "out")
1865 "/share/emacs/site-lisp/"))
1866 #t)))))
1867 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1868 (synopsis "Simple file downloader for Emacs based on wget")
1869 (description
1870 "Emacs-wget is an emacs interface for the wget file downloader.")
1871 (license license:gpl2+)))
1872
1873 (define-public emacs-eww-lnum
1874 (package
1875 (name "emacs-eww-lnum")
1876 (version "1.1")
1877 (source (origin
1878 (method git-fetch)
1879 (uri (git-reference
1880 (url "https://github.com/m00natic/eww-lnum")
1881 (commit version)))
1882 (file-name (git-file-name name version))
1883 (sha256
1884 (base32
1885 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1886 (build-system emacs-build-system)
1887 (home-page "https://github.com/m00natic/eww-lnum")
1888 (synopsis "Conkeror-like functionality for Eww")
1889 (description "This is extension to the Emacs browser Eww that adds
1890 Conkeror-like functionality. In short, currently visible links, forms,
1891 buttons are temporarily assigned numbers with which the former can be
1892 immediately activated. Also filtering can be applied so selection can be
1893 incrementally confined in Isearch manner.")
1894 (license license:gpl3+)))
1895
1896
1897 \f
1898 ;;;
1899 ;;; Multimedia.
1900 ;;;
1901
1902 (define emacs-emms-print-metadata
1903 (package
1904 (name "emacs-emms-print-metadata")
1905 (version "7.1")
1906 (source
1907 (origin
1908 (method url-fetch)
1909 (uri (string-append "https://elpa.gnu.org/packages/"
1910 "emms-" version ".tar"))
1911 (sha256
1912 (base32 "1dng8dy0w0wsdvvnjnrllwv5a8wq3kj20jik994b7prdx5dn6y52"))))
1913 (build-system gnu-build-system)
1914 (arguments
1915 `(#:make-flags '("emms-print-metadata")
1916 #:tests? #f ; No tests.
1917 #:phases
1918 (modify-phases %standard-phases
1919 (delete 'configure)
1920 (replace 'install
1921 (lambda* (#:key outputs #:allow-other-keys)
1922 (let* ((out (assoc-ref outputs "out")))
1923 (install-file "src/emms-print-metadata"
1924 (string-append out "/bin"))
1925 (install-file "emms-print-metadata.1"
1926 (string-append out "/share/man/man1"))
1927 #t))))))
1928 (inputs
1929 `(("taglib" ,taglib)))
1930 (home-page "https://www.gnu.org/software/emms/")
1931 (synopsis "The Emacs Multimedia System")
1932 (description
1933 "EMMS is the Emacs Multimedia System. It is a small front-end which
1934 can control one of the supported external players. Thus, it supports
1935 whatever formats are supported by your music player. It also
1936 supports tagging and playlist management, all behind a clean and
1937 light user interface.")
1938 (license license:gpl3+)))
1939
1940 (define-public emacs-emms
1941 (package
1942 (inherit emacs-emms-print-metadata)
1943 (name "emacs-emms")
1944 (build-system emacs-build-system)
1945 (arguments
1946 `(#:phases
1947 (modify-phases %standard-phases
1948 (add-after 'unpack 'set-external-programs
1949 ;; Specify the absolute file names of the various programs
1950 ;; so that everything works out-of-the-box. (tinytag missing)
1951 (lambda* (#:key inputs outputs #:allow-other-keys)
1952 (let ((out (assoc-ref outputs "out"))
1953 (emms-print-metadata (assoc-ref inputs "emms-print-metadata"))
1954 (flac (assoc-ref inputs "flac"))
1955 (vorbis (assoc-ref inputs "vorbis-tools"))
1956 (alsa (assoc-ref inputs "alsa-utils"))
1957 (mpg321 (assoc-ref inputs "mpg321"))
1958 (mp3info (assoc-ref inputs "mp3info"))
1959 (mutagen (assoc-ref inputs "mutagen"))
1960 (exiftool (assoc-ref inputs "perl-image-exiftool"))
1961 (opus (assoc-ref inputs "opus-tools")))
1962 (emacs-substitute-variables "emms-player-mpg321-remote.el"
1963 ("emms-player-mpg321-remote-command"
1964 (string-append mpg321 "/bin/mpg321")))
1965 (substitute* "emms-player-simple.el"
1966 (("\"ogg123\"")
1967 (string-append "\"" vorbis "/bin/ogg123\"")))
1968 (substitute* "emms-player-simple.el"
1969 (("\"mpg321\"")
1970 (string-append "\"" mpg321 "/bin/mpg321\"")))
1971 (emacs-substitute-variables "emms-info-ogginfo.el"
1972 ("emms-info-ogginfo-program-name"
1973 (string-append vorbis "/bin/ogginfo")))
1974 (emacs-substitute-variables "emms-info-opusinfo.el"
1975 ("emms-info-opusinfo-program-name"
1976 (string-append opus "/bin/opusinfo")))
1977 (emacs-substitute-variables "emms-info-libtag.el"
1978 ("emms-info-libtag-program-name"
1979 (string-append emms-print-metadata "/bin/emms-print-metadata")))
1980 (emacs-substitute-variables "emms-info-mp3info.el"
1981 ("emms-info-mp3info-program-name"
1982 (string-append mp3info "/bin/mp3info")))
1983 (emacs-substitute-variables "emms-info-metaflac.el"
1984 ("emms-info-metaflac-program-name"
1985 (string-append flac "/bin/metaflac")))
1986 (emacs-substitute-variables "emms-source-file.el"
1987 ("emms-source-file-gnu-find" (which "find")))
1988 (substitute* "emms-volume-amixer.el"
1989 (("\"amixer\"")
1990 (string-append "\"" alsa "/bin/amixer\"")))
1991 (substitute* "emms-tag-editor.el"
1992 (("\"mid3v2\"")
1993 (string-append "\"" mutagen "/bin/mid3v2\""))
1994 (("\"vorbiscomment\"")
1995 (string-append "\"" vorbis "/bin/vorbiscomment\"")))
1996 (substitute* "emms-info-exiftool.el"
1997 (("\"exiftool\"")
1998 (string-append "\"" exiftool "/bin/exiftool\"")))
1999 #t))))))
2000 (inputs
2001 `(("emms-print-metadata" ,emacs-emms-print-metadata)
2002 ("alsa-utils" ,alsa-utils)
2003 ("flac" ,flac) ;for metaflac
2004 ("vorbis-tools" ,vorbis-tools)
2005 ("mpg321" ,mpg321)
2006 ("mp3info" ,mp3info)
2007 ("mutagen" ,python-mutagen)
2008 ("perl-image-exiftool" ,perl-image-exiftool)
2009 ("opus-tools" ,opus-tools)))))
2010
2011 (define-public emacs-emms-mode-line-cycle
2012 (package
2013 (name "emacs-emms-mode-line-cycle")
2014 (version "0.2.5")
2015 (source
2016 (origin
2017 (method git-fetch)
2018 (uri (git-reference
2019 (url "https://github.com/momomo5717/emms-mode-line-cycle")
2020 (commit version)))
2021 (file-name (git-file-name name version))
2022 (sha256
2023 (base32
2024 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
2025 (build-system emacs-build-system)
2026 (propagated-inputs
2027 `(("emms" ,emacs-emms)))
2028 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
2029 (synopsis "Display the EMMS mode line as a ticker")
2030 (description
2031 "This is a minor mode for updating the EMMS mode-line string cyclically
2032 within a specified width. It is useful for displaying long track titles.")
2033 (license license:gpl3+)))
2034
2035 \f
2036 ;;;
2037 ;;; Miscellaneous.
2038 ;;;
2039
2040 (define-public emacs-ace-link
2041 (package
2042 (name "emacs-ace-link")
2043 (version "0.5.0")
2044 (source
2045 (origin
2046 (method git-fetch)
2047 (uri (git-reference
2048 (url "https://github.com/abo-abo/ace-link")
2049 (commit version)))
2050 (file-name (git-file-name name version))
2051 (sha256
2052 (base32
2053 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
2054 (build-system emacs-build-system)
2055 (propagated-inputs
2056 `(("emacs-avy" ,emacs-avy)))
2057 (home-page "https://github.com/abo-abo/ace-link")
2058 (synopsis "Quickly follow links in Emacs")
2059 (description
2060 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
2061 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
2062 @code{goto-address-mode} buffer, you can tab through the links to select the
2063 one you want. This is an O(N) operation, where the N is the amount of links.
2064 This package turns this into an O(1) operation. It does so by assigning a
2065 letter to each link using avy.")
2066 (license license:gpl3+)))
2067
2068 (define-public emacs-auto-sudoedit
2069 (package
2070 (name "emacs-auto-sudoedit")
2071 (version "1.0.0")
2072 (source
2073 (origin
2074 (method git-fetch)
2075 (uri (git-reference
2076 (url "https://github.com/ncaq/auto-sudoedit")
2077 (commit (string-append "v" version))))
2078 (file-name (git-file-name name version))
2079 (sha256
2080 (base32 "10p0hc95j382km8655pqld9wxg10j1f36czzppkdd6a55cxarv9f"))))
2081 (propagated-inputs
2082 `(("emacs-f" ,emacs-f)))
2083 (build-system emacs-build-system)
2084 (home-page "https://github.com/ncaq/auto-sudoedit")
2085 (synopsis "Automatically re-open read-only files with sudo")
2086 (description
2087 "This package automatically reopens a file or directory with
2088 @command{sudo} if it cannot write to it.")
2089 (license license:expat)))
2090
2091 (define-public emacs-bbdb
2092 (package
2093 (name "emacs-bbdb")
2094 (version "3.2")
2095 (source
2096 (origin
2097 (method url-fetch)
2098 (uri (string-append "https://elpa.gnu.org/packages/"
2099 "bbdb-" version ".tar"))
2100 (sha256
2101 (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx"))))
2102 (build-system emacs-build-system)
2103 (arguments
2104 ;; XXX: The following file cannot be byte-compiled, because et requires
2105 ;; `vm-autoloads', from the VM package, with is neither in Emacs nor
2106 ;; packaged in Guix. So, don't bother for now.
2107 `(#:exclude '("bbdb-vm\\.el")))
2108 (home-page "http://elpa.gnu.org/packages/bbdb.html")
2109 (synopsis "Contact management utility for Emacs")
2110 (description
2111 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
2112 an address book for email and snail mail addresses, phone numbers and the
2113 like. It can be linked with various Emacs mail clients (Message and Mail
2114 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
2115 (license license:gpl3+)))
2116
2117 (define-public emacs-counsel-bbdb
2118 (package
2119 (name "emacs-counsel-bbdb")
2120 (version "0.0.4")
2121 (source
2122 (origin
2123 (method git-fetch)
2124 (uri (git-reference
2125 (url "https://github.com/redguardtoo/counsel-bbdb")
2126 (commit version)))
2127 (file-name (git-file-name name version))
2128 (sha256
2129 (base32 "0bki658mvlchqf3prkzxz4217a95cxm58c1qmf84yp2n8h6gd0d8"))))
2130 (build-system emacs-build-system)
2131 (propagated-inputs `(("emacs-ivy" ,emacs-ivy)))
2132 (home-page "https://github.com/redguardtoo/counsel-bbdb")
2133 (synopsis "Ivy interface for BBDB")
2134 (description "This Ivy extension enables the use of @code{ivy-mode} to input
2135 email addresses from BBDB efficiently. The main functions are:
2136 @table @code
2137 @item counsel-bbdb-complete-mail to input email addresses;
2138 @item counsel-bbdb-reload' to reload contacts from BBDB database;
2139 @item counsel-bbdb-expand-mail-alias to expand mail alias.
2140 @end table
2141 Since @code{counsel-bbdb} is based on @code{ivy-mode}, all Ivy key bindings
2142 are supported. For example, after @samp{C-u M-x counsel-bbdb-complete-mail},
2143 you can press @samp{C-M-n} to input multiple email addresses.")
2144 (license license:gpl3+)))
2145
2146 (define-public emacs-bluetooth
2147 (package
2148 (name "emacs-bluetooth")
2149 (version "0.2")
2150 (source
2151 (origin
2152 (method url-fetch)
2153 (uri (string-append "https://elpa.gnu.org/packages/"
2154 "bluetooth-" version ".el"))
2155 (sha256
2156 (base32 "1dq04p6ms0zx4awlypp4crkz7dzal4xg8ac7p8fqacz196rczssp"))))
2157 (build-system emacs-build-system)
2158 (inputs
2159 `(("bluez" ,bluez)
2160 ("dbus" ,dbus)))
2161 (propagated-inputs
2162 `(("emacs-dash" ,emacs-dash)))
2163 (home-page "https://gitlab.com/rstocker/emacs-bluetooth")
2164 (synopsis "Manage Bluetooth devices using Emacs")
2165 (description
2166 "This package implements basic Bluetooth management functionality, such
2167 as connecting and disconnecting devices, setting properties and aliases,
2168 putting the adapter in discovery mode and controlling its power supply. It
2169 also includes a pairing agent.")
2170 (license license:gpl3+)))
2171
2172 (define-public emacs-aggressive-indent
2173 (package
2174 (name "emacs-aggressive-indent")
2175 (version "1.8.3")
2176 (source (origin
2177 (method url-fetch)
2178 (uri (string-append "https://elpa.gnu.org/packages/"
2179 "aggressive-indent-" version ".el"))
2180 (sha256
2181 (base32
2182 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
2183 (build-system emacs-build-system)
2184 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
2185 (synopsis "Minor mode to aggressively keep your code always indented")
2186 (description
2187 "@code{aggressive-indent-mode} is a minor mode that keeps your code
2188 always indented. It reindents after every change, making it more reliable
2189 than @code{electric-indent-mode}.")
2190 (license license:gpl2+)))
2191
2192 (define-public emacs-gcmh
2193 ;; No tagged release upstream, but the commit below correspond to the 0.2.1
2194 ;; release.
2195 (let ((commit "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
2196 (package
2197 (name "emacs-gcmh")
2198 (version "0.2.1")
2199 (source
2200 (origin
2201 (method git-fetch)
2202 (uri (git-reference
2203 (url "https://gitlab.com/koral/gcmh")
2204 (commit commit)))
2205 (sha256
2206 (base32 "0yh1ap8phv3x44rp0yr6z884xqw2apanbx4c0acqglvj0gaaqx25"))
2207 (file-name (git-file-name name version))))
2208 (build-system emacs-build-system)
2209 (home-page "https://gitlab.com/koral/gcmh")
2210 (synopsis "Emacs Garbage Collector Magic Hack")
2211 (description
2212 "This package enforces a sneaky @dfn{garbage collector} (GC) strategy
2213 to minimize GC interference with the activity. During normal use a high GC
2214 threshold is set. When idling GC is immediately triggered and a low threshold
2215 is set.")
2216 (license license:gpl3+))))
2217
2218 (define-public emacs-ctrlf
2219 (package
2220 (name "emacs-ctrlf")
2221 (version "1.3")
2222 (source
2223 (origin
2224 (method git-fetch)
2225 (uri (git-reference
2226 (url "https://github.com/raxod502/ctrlf")
2227 (commit (string-append "v" version))))
2228 (file-name (git-file-name name version))
2229 (sha256
2230 (base32 "06wq6scqy2ax0h6aahy2r7hn3bbmkzl4w99bkrc3cqd4ij78sc8g"))))
2231 (build-system emacs-build-system)
2232 (home-page "https://github.com/raxod502/ctrlf/")
2233 (synopsis "Single-buffer text search in Emacs")
2234 (description "CTRLF (pronounced @emph{control F}) is an intuitive and
2235 efficient solution for single-buffer text search in Emacs, replacing packages
2236 such as Isearch, Swiper, and helm-swoop. It takes inspiration from the
2237 widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as
2238 web browsers, but follows the flow and keybindings of Isearch.")
2239 (license license:expat)))
2240
2241 (define-public emacs-dhall-mode
2242 ;; There is no proper release. The base version is extracted from the
2243 ;; "Version" keyword in the main file.
2244 (let ((revision "1")
2245 (commit "484bcf8f78f1183ef45c3b04a362bb73690c6b9b"))
2246 (package
2247 (name "emacs-dhall-mode")
2248 (version (git-version "0.1.3" revision commit))
2249 (source
2250 (origin
2251 (method git-fetch)
2252 (uri
2253 (git-reference
2254 (url "https://github.com/psibi/dhall-mode")
2255 (commit commit)))
2256 (file-name (git-file-name name version))
2257 (sha256
2258 (base32 "1wggg8jlzg9rph4jhxp6yiri178rnasbv38838i973kjgqjxrl76"))))
2259 (build-system emacs-build-system)
2260 (propagated-inputs
2261 `(("emacs-reformatter" ,emacs-reformatter)))
2262 (home-page "https://github.com/psibi/dhall-mode")
2263 (synopsis "Major mode for working with Dhall configuration language")
2264 (description
2265 "Dhall-mode provides an Emacs Major mode for working with the Dhall
2266 configuration language. It features:
2267
2268 @itemize
2269 @item Syntax highlighting
2270 @item Multiline support for String
2271 @item Basic indentation, commenting
2272 @item Automatic formatting on save using dhall-format.
2273 @item Error highlighting.
2274 @end itemize")
2275 (license license:gpl3+))))
2276
2277 (define-public emacs-link-hint
2278 ;; Last release was in 2015.
2279 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
2280 (revision "1"))
2281 (package
2282 (name "emacs-link-hint")
2283 (version (git-version "0.1" revision commit))
2284 (source
2285 (origin
2286 (method git-fetch)
2287 (uri (git-reference
2288 (url "https://github.com/noctuid/link-hint.el")
2289 (commit commit)))
2290 (file-name (git-file-name name version))
2291 (sha256
2292 (base32
2293 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
2294 (build-system emacs-build-system)
2295 (propagated-inputs
2296 `(("emacs-avy" ,emacs-avy)))
2297 (home-page "https://github.com/noctuid/link-hint.el")
2298 (synopsis "Vimperator-style link-hinting in Emacs")
2299 (description "This package provides commands for visiting and acting on
2300 links.")
2301 (license license:gpl3+))))
2302
2303 (define-public emacs-ag
2304 (package
2305 (name "emacs-ag")
2306 (version "0.48")
2307 (source (origin
2308 (method git-fetch)
2309 (uri (git-reference
2310 (url "https://github.com/Wilfred/ag.el")
2311 (commit version)))
2312 (file-name (git-file-name name version))
2313 (sha256
2314 (base32
2315 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
2316 (build-system emacs-build-system)
2317 (arguments
2318 `(#:phases
2319 (modify-phases %standard-phases
2320 (add-before 'install 'make-info
2321 (lambda _
2322 (with-directory-excursion "docs"
2323 (invoke "make" "info"))))
2324 (add-after 'install 'install-info
2325 (lambda* (#:key outputs #:allow-other-keys)
2326 (let* ((out (assoc-ref outputs "out"))
2327 (info (string-append out "/share/info")))
2328 (install-file "docs/_build/texinfo/agel.info" info)
2329 #t))))))
2330 (native-inputs
2331 `(("python-sphinx" ,python-sphinx)
2332 ("texinfo" ,texinfo)))
2333 (propagated-inputs
2334 `(("dash" ,emacs-dash)
2335 ("s" ,emacs-s)
2336 ;; We need to use 'ag' as the executable on remote systems.
2337 ("the-silver-searcher" ,the-silver-searcher)))
2338 (home-page "https://github.com/Wilfred/ag.el")
2339 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
2340 (description "This package provides the ability to use the silver
2341 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
2342 include version control system awareness, use of Perl compatible regular
2343 expressions, editing the search results directly and searching file names
2344 rather than the contents of files.")
2345 (license license:gpl3+)))
2346
2347 (define-public emacs-async
2348 (package
2349 (name "emacs-async")
2350 (home-page "https://github.com/jwiegley/emacs-async")
2351 (version "1.9.4")
2352 (source (origin
2353 (method git-fetch)
2354 (uri (git-reference
2355 (url home-page)
2356 (commit (string-append "v" version))))
2357 (file-name (git-file-name name version))
2358 (sha256
2359 (base32
2360 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
2361 (build-system emacs-build-system)
2362 (synopsis "Asynchronous processing in Emacs")
2363 (description
2364 "This package provides the ability to call asynchronous functions and
2365 processes. For example, it can be used to run dired commands (for copying,
2366 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
2367 as a library for other Emacs packages.")
2368 (license license:gpl3+)))
2369
2370 (define-public emacs-auctex
2371 (package
2372 (name "emacs-auctex")
2373 (version "13.0.11")
2374 (source
2375 (origin
2376 (method url-fetch)
2377 (uri (string-append "https://elpa.gnu.org/packages/"
2378 "auctex-" version ".tar"))
2379 (sha256
2380 (base32 "0sy4f1n38q58vyzw5l0f80ci3j99rb25gbwj0frl0pglfmgzl44k"))))
2381 (build-system emacs-build-system)
2382 ;; We use 'emacs' because AUCTeX requires dbus at compile time
2383 ;; ('emacs-minimal' does not provide dbus).
2384 (arguments
2385 `(#:emacs ,emacs
2386 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
2387 #:exclude '("^tests/" "^latex/README")
2388 #:phases
2389 (modify-phases %standard-phases
2390 (add-after 'unpack 'configure
2391 (lambda* (#:key inputs #:allow-other-keys)
2392 (emacs-substitute-variables "preview.el"
2393 ("preview-gs-command"
2394 (string-append (assoc-ref inputs "ghostscript") "/bin/gs")))
2395 (substitute* "preview.el"
2396 (("\"dvipng ")
2397 (string-append "\"" (assoc-ref inputs "texlive")
2398 "/bin/dvipng "))
2399 (("\"dvips ")
2400 (string-append "\"" (assoc-ref inputs "texlive")
2401 "/bin/dvips "))
2402 (("\"pdf2dsc ")
2403 (string-append "\"" (assoc-ref inputs "ghostscript")
2404 "/bin/pdf2dsc ")))))
2405 (add-after 'install 'install-doc
2406 (lambda* (#:key outputs #:allow-other-keys)
2407 (let* ((out (assoc-ref outputs "out"))
2408 (etc-dir (string-append out "/share/" ,name "/"
2409 ,version "/etc")))
2410 (with-directory-excursion "doc"
2411 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
2412 (invoke "pdftex" "tex-ref")
2413 (install-file "tex-ref.pdf"
2414 (string-append etc-dir "/refcards")))
2415 #t))))))
2416 (native-inputs
2417 `(("perl" ,perl)))
2418 (inputs
2419 `(("ghostscript" ,ghostscript)
2420 ("texlive" ,(texlive-union (list texlive-amsfonts)))))
2421 (home-page "https://www.gnu.org/software/auctex/")
2422 (synopsis "Integrated environment for TeX")
2423 (description
2424 "AUCTeX is a comprehensive customizable integrated environment for
2425 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
2426 or XEmacs.")
2427 (license license:gpl3+)))
2428
2429 (define-public emacs-autothemer
2430 (package
2431 (name "emacs-autothemer")
2432 (version "0.2.2")
2433 (source
2434 (origin
2435 (method git-fetch)
2436 (uri (git-reference
2437 (url "https://github.com/sebastiansturm/autothemer")
2438 (commit version)))
2439 (file-name (git-file-name name version))
2440 (sha256
2441 (base32
2442 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
2443 (build-system emacs-build-system)
2444 (propagated-inputs
2445 `(("emacs-dash" ,emacs-dash)))
2446 (home-page "https://github.com/sebastiansturm/autothemer")
2447 (synopsis "Conveniently create Emacs themes")
2448 (description
2449 "Autothemer provides a thin layer on top of @code{deftheme} and
2450 @code{custom-theme-set-faces} that creates a new custom color theme, based on
2451 a set of simplified face specifications and a user-supplied color palette")
2452 (license license:gpl3+)))
2453
2454 (define-public emacs-howm
2455 (package
2456 (name "emacs-howm")
2457 (version "1.4.7")
2458 (source
2459 (origin
2460 (method url-fetch)
2461 (uri (string-append "https://howm.sourceforge.jp/a/"
2462 "howm-" version ".tar.gz"))
2463 (sha256
2464 (base32 "11k0dzwyn7ly34g0zcd6i0i8qwyv9di8m6fx805axrxykxb0qan2"))))
2465 (build-system gnu-build-system)
2466 (native-inputs
2467 `(("emacs" ,emacs-minimal)))
2468 (arguments
2469 `(#:configure-flags
2470 (list (string-append "--with-howmdir=" (emacs:elpa-directory %output)))
2471 #:modules ((guix build gnu-build-system)
2472 ((guix build emacs-build-system) #:prefix emacs:)
2473 (guix build utils))
2474 #:imported-modules (,@%gnu-build-system-modules
2475 (guix build emacs-build-system)
2476 (guix build emacs-utils))
2477 #:phases
2478 (modify-phases %standard-phases
2479 (add-after 'install 'make-autoloads
2480 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2481 (home-page "https://howm.osdn.jp/")
2482 (synopsis "Note-taking tool for Emacs")
2483 (description "Howm is a note-taking tool for Emacs. Like
2484 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
2485 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
2486 (license license:gpl1+)))
2487
2488 (define-public emacs-bm
2489 (package
2490 (name "emacs-bm")
2491 (version "201905")
2492 (source
2493 (origin
2494 (method git-fetch)
2495 (uri (git-reference
2496 (url "https://github.com/joodland/bm")
2497 (commit version)))
2498 (file-name (git-file-name name version))
2499 (sha256
2500 (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
2501 (build-system emacs-build-system)
2502 (home-page "https://github.com/joodland/bm")
2503 (synopsis "Visual bookmarks for Emacs")
2504 (description "This package provides visible, buffer local bookmarks and
2505 the ability to jump forward and backward to the next bookmark.")
2506 (license license:gpl2+)))
2507
2508 (define-public emacs-calfw
2509 (package
2510 (name "emacs-calfw")
2511 (version "1.6")
2512 (source
2513 (origin
2514 (method git-fetch)
2515 (uri (git-reference
2516 (url "https://github.com/kiwanami/emacs-calfw")
2517 (commit (string-append "v" version))))
2518 (file-name (git-file-name name version))
2519 (sha256
2520 (base32
2521 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
2522 (build-system emacs-build-system)
2523 (propagated-inputs
2524 `(("emacs-howm" ,emacs-howm)))
2525 (home-page "https://github.com/kiwanami/emacs-calfw/")
2526 (synopsis "Calendar framework for Emacs")
2527 (description
2528 "This package displays a calendar view with various schedule data in the
2529 Emacs buffer.")
2530 (license license:gpl3+)))
2531
2532 (define-public emacs-caps-lock
2533 (package
2534 (name "emacs-caps-lock")
2535 (version "1.0")
2536 (source
2537 (origin
2538 (method url-fetch)
2539 (uri (string-append "https://elpa.gnu.org/packages/"
2540 "caps-lock-" version ".el"))
2541 (sha256
2542 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
2543 (build-system emacs-build-system)
2544 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
2545 (synopsis "Caps Lock as a minor mode")
2546 (description
2547 "This package provides a minor mode to emulate the behavior of a Caps
2548 Lock key.")
2549 (license license:gpl3+)))
2550
2551 (define-public emacs-chronometrist
2552 (package
2553 (name "emacs-chronometrist")
2554 (version "0.6.5")
2555 (source
2556 (origin
2557 (method git-fetch)
2558 (uri (git-reference
2559 (url "https://github.com/contrapunctus-1/chronometrist")
2560 (commit (string-append "v" version))))
2561 (file-name (git-file-name name version))
2562 (sha256
2563 (base32 "1k7r5rc6vzrnhp9j5bkv45yzqz7zbqrkiry4fzc8w6f36pcw862f"))))
2564 (build-system emacs-build-system)
2565 (arguments
2566 `(#:phases
2567 (modify-phases %standard-phases
2568 (add-after 'unpack 'chdir-elisp
2569 ;; Elisp directory is not in root of the source.
2570 (lambda _
2571 (chdir "elisp")
2572 #t))
2573 (add-after 'install 'install-doc
2574 ;; Documentation consists of several Markdown files.
2575 (lambda* (#:key outputs #:allow-other-keys)
2576 (let* ((out (assoc-ref outputs "out"))
2577 (doc (string-append out
2578 "/share/doc/emacs-chronometrist-"
2579 ,version)))
2580 (with-directory-excursion "../doc"
2581 (for-each (lambda (f) (install-file f doc))
2582 (cons* "../UNLICENSE"
2583 "../WTFPL"
2584 (find-files "." "\\.md$")))))
2585 #t)))))
2586 (propagated-inputs
2587 `(("emacs-anaphora" ,emacs-anaphora)
2588 ("emacs-dash" ,emacs-dash)
2589 ("emacs-s" ,emacs-s)
2590 ("emacs-ts" ,emacs-ts)))
2591 (home-page "https://github.com/contrapunctus-1/chronometrist")
2592 (synopsis "Time tracker for Emacs")
2593 (description "Chronometrist is a time tracker in Emacs, largely modelled
2594 after the Android application, @emph{A Time Tracker}.
2595
2596 Its features are:
2597 @itemize
2598 @item Simple and efficient to use,
2599 @item Displays useful information about your time usage,
2600 @item Support for both mouse and keyboard,
2601 @item Human errors in tracking are easily fixed by editing a plain text file,
2602 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
2603 @end itemize")
2604 ;; Software is dual-licensed.
2605 (license (list license:unlicense license:wtfpl2))))
2606
2607 (define-public emacs-corfu
2608 (package
2609 (name "emacs-corfu")
2610 (version "0.4")
2611 (source (origin
2612 (method git-fetch)
2613 (uri (git-reference
2614 (url "https://github.com/minad/corfu")
2615 (commit version)))
2616 (file-name (git-file-name name version))
2617 (sha256
2618 (base32
2619 "1yw90clfbqny2pchjc1cxqgr0gjag7bz6hys6jgidsxifzr662ps"))))
2620 (build-system emacs-build-system)
2621 (home-page "https://github.com/minad/corfu")
2622 (synopsis "Completion overlay region function")
2623 (description "Corfu enhances the default completion in region function
2624 with a completion overlay. The current candidates are shown in a popup
2625 overlay below or above the point. Corfu can be considered the minimalistic
2626 @code{completion-in-region} counterpart of the Vertico minibuffer UI.")
2627 (license license:gpl3+)))
2628
2629 (define-public emacs-direnv
2630 (package
2631 (name "emacs-direnv")
2632 (version "2.1.0")
2633 (source
2634 (origin
2635 (method git-fetch)
2636 (uri (git-reference
2637 (url "https://github.com/wbolster/emacs-direnv")
2638 (commit version)))
2639 (file-name (git-file-name name version))
2640 (sha256
2641 (base32 "0xkqn4604k2imas6azy1www56br8ls4iv9a44pxcd8h94j1fp44d"))))
2642 (build-system emacs-build-system)
2643 (propagated-inputs
2644 `(("dash" ,emacs-dash)
2645 ("with-editor" ,emacs-with-editor)))
2646 (home-page "https://github.com/wbolster/emacs-direnv")
2647 (synopsis "Direnv integration for Emacs")
2648 (description
2649 "This package provides support for invoking direnv to get the environment
2650 for the current file and updating the environment within Emacs to match.
2651
2652 Direnv can be invoked manually, and a global minor mode is included that will
2653 update the environment when the active buffer changes.
2654
2655 Using emacs-direnv means that programs started from Emacs will use the
2656 environment set through Direnv.")
2657 (license license:gpl3+)))
2658
2659 (define-public emacs-elf-mode
2660 (package
2661 (name "emacs-elf-mode")
2662 (version "0.1.0")
2663 (source
2664 (origin
2665 (method git-fetch)
2666 (uri
2667 (git-reference
2668 (url "https://github.com/abo-abo/elf-mode")
2669 (commit version)))
2670 (file-name (git-file-name name version))
2671 (sha256
2672 (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"))))
2673 (build-system emacs-build-system)
2674 (home-page "https://github.com/abo-abo/elf-mode")
2675 (synopsis "Show symbol list when opening a binary file in Emacs")
2676 (description "This Emacs package provides a command showing the symbols
2677 that the binary uses instead of the actual binary contents.")
2678 (license license:gpl3+)))
2679
2680 (define-public emacs-form-feed
2681 (package
2682 (name "emacs-form-feed")
2683 (version "0.2.2")
2684 (source
2685 (origin
2686 (method git-fetch)
2687 (uri (git-reference
2688 (url "https://github.com/wasamasa/form-feed")
2689 (commit version)))
2690 (file-name (git-file-name name version))
2691 (sha256
2692 (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2"))))
2693 (build-system emacs-build-system)
2694 (home-page "https://github.com/wasamasa/form-feed")
2695 (synopsis "Display ^L glyphs as horizontal lines")
2696 (description
2697 "This package provides a minor mode @code{form-feed-mode} to display page
2698 delimiters which usually appear as ^L glyphs on a single line as horizontal
2699 lines spanning the entire window. The minor mode is suitable for inclusion
2700 into mode hooks and is intended to be used that way.")
2701 (license license:gpl3+)))
2702
2703 (define-public emacs-ggtags
2704 (package
2705 (name "emacs-ggtags")
2706 (version "0.9.0")
2707 (source
2708 (origin
2709 (method url-fetch)
2710 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
2711 version ".tar"))
2712 (sha256
2713 (base32
2714 "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg"))))
2715 (build-system emacs-build-system)
2716 (inputs
2717 `(("global" ,global)))
2718 (arguments
2719 `(#:phases
2720 (modify-phases %standard-phases
2721 (add-after 'unpack 'configure
2722 (lambda* (#:key inputs #:allow-other-keys)
2723 (chmod "ggtags.el" #o644)
2724 (emacs-substitute-variables "ggtags.el"
2725 ("ggtags-executable-directory"
2726 (string-append (assoc-ref inputs "global") "/bin")))
2727 #t)))))
2728 (home-page "https://github.com/leoliu/ggtags")
2729 (synopsis "Frontend to the GNU Global source code tagging system")
2730 (description "@code{ggtags} provides a frontend to the GNU Global source
2731 code tagging system.
2732
2733 Features:
2734
2735 @itemize
2736 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
2737 @item Automatically update Global's tag files when needed with tuning for
2738 large source trees.
2739 @item Intuitive navigation among multiple matches with mode-line display of
2740 current match, total matches and exit status.
2741 @item Read tag with completion.
2742 @item Show definition at point.
2743 @item Jump to #include files.
2744 @item Support search history and saving a search to register/bookmark.
2745 @item Query replace.
2746 @item Manage Global's environment variables on a per-project basis.
2747 @item Highlight (definition) tag at point.
2748 @item Abbreviated display of file names.
2749 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
2750 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
2751 @code{pygments} backend.
2752 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
2753 @code{cscope} etc.
2754 @item Support projects on remote hosts (e.g. via @code{tramp}).
2755 @item Support eldoc.
2756 @item Search @code{GTAGSLIBPATH} for references and symbols.
2757 @end itemize\n")
2758 (license license:gpl3+)))
2759
2760 (define-public emacs-go-mode
2761 (package
2762 (name "emacs-go-mode")
2763 (version "1.5.0")
2764 (source (origin
2765 (method git-fetch)
2766 (uri (git-reference
2767 (url "https://github.com/dominikh/go-mode.el")
2768 (commit (string-append "v" version))))
2769 (file-name (git-file-name name version))
2770 (sha256
2771 (base32
2772 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
2773 (build-system emacs-build-system)
2774 (arguments
2775 `(#:phases
2776 (modify-phases %standard-phases
2777 (add-after 'unpack 'make-writable
2778 (lambda _
2779 (for-each make-file-writable (find-files "." "\\.el$"))
2780 #t)))))
2781 (home-page "https://github.com/dominikh/go-mode.el")
2782 (synopsis "Go mode for Emacs")
2783 (description
2784 "This package provides go-mode, an Emacs mode for working with software
2785 written in the Go programming language.")
2786 (license license:bsd-3)))
2787
2788 (define-public emacs-google-maps
2789 ;; There has been no new release tag since 2013.
2790 (let ((commit "2eb16ff609f5a9f8d02c15238a111fbb7db6c146")
2791 (revision "1"))
2792 (package
2793 (name "emacs-google-maps")
2794 (version (git-version "1.0.0" revision commit))
2795 (source
2796 (origin
2797 (method git-fetch)
2798 (uri (git-reference
2799 (url "https://github.com/jd/google-maps.el")
2800 (commit commit)))
2801 (file-name (git-file-name name version))
2802 (sha256
2803 (base32 "1bl0dnksbf14d0xcnvdy9qpvzc5c8jwkxpmfvgayj6djikxnw2md"))))
2804 (build-system emacs-build-system)
2805 (home-page "https://github.com/jd/google-maps.el")
2806 (synopsis "Access Google Maps from Emacs")
2807 (description "The @code{google-maps} package displays Google Maps
2808 directly inside Emacs. It requires a Google Map Static API key to function.")
2809 (license license:gpl3+))))
2810
2811 (define-public emacs-graphviz-dot-mode
2812 (package
2813 (name "emacs-graphviz-dot-mode")
2814 (version "0.4.2")
2815 (source
2816 (origin
2817 (method git-fetch)
2818 (uri (git-reference
2819 (url "https://github.com/ppareit/graphviz-dot-mode")
2820 (commit (string-append "v" version))))
2821 (file-name (git-file-name name version))
2822 (sha256
2823 (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m"))))
2824 (build-system emacs-build-system)
2825 (arguments
2826 `(#:phases
2827 (modify-phases %standard-phases
2828 (add-before 'install 'make-info
2829 (lambda* (#:key inputs #:allow-other-keys)
2830 (with-directory-excursion "texinfo"
2831 (substitute* "Makefile"
2832 (("\\/usr\\/bin\\/gzip")
2833 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
2834 (invoke "make"
2835 "clean"
2836 "info"
2837 (string-append "TEXINFODIR="
2838 (assoc-ref inputs "texinfo")
2839 "/bin")))))
2840 (add-after 'install 'install-info
2841 (lambda* (#:key outputs #:allow-other-keys)
2842 (let* ((out (assoc-ref outputs "out"))
2843 (info (string-append out "/share/info")))
2844 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
2845 #t))))))
2846 (native-inputs
2847 `(("gzip" ,gzip)
2848 ("texinfo" ,texinfo)))
2849 (propagated-inputs
2850 `(("emacs-company" ,emacs-company)))
2851 (home-page "http://ppareit.github.com/graphviz-dot-mode")
2852 (synopsis "Major mode for editing Graphviz DOT files")
2853 (description
2854 "This Emacs package helps you to create @file{.dot} or @file{.gv} files
2855 using the DOT syntax, and use Graphviz to convert these files to diagrams.")
2856 (license license:gpl2+)))
2857
2858 (define-public emacs-imenu-list
2859 (let ((commit "b50222378412fbe321622a84cb2b036e084c697a")
2860 (revision "1")
2861 (version "0.9"))
2862 (package
2863 (name "emacs-imenu-list")
2864 (version (git-version version revision commit))
2865 (source
2866 (origin
2867 (method git-fetch)
2868 (uri
2869 (git-reference
2870 (url "https://github.com/bmag/imenu-list")
2871 (commit commit)))
2872 (file-name (git-file-name name version))
2873 (sha256
2874 (base32 "1936dd41fa05ndzf2bwhllvjz97iz0rflkazjipr7dvz5q072wj2"))))
2875 (build-system emacs-build-system)
2876 (home-page "https://github.com/bmag/imenu-list")
2877 (synopsis
2878 "Automatically tracks the current buffer's imenu entries")
2879 (description
2880 "This Emacs minor mode creates an automatically updated buffer called
2881 @code{*Ilist*} that is populated with the current buffer's imenu entries.
2882 This buffer is typically shown as a sidebar (Emacs vertically splits the
2883 window).")
2884 (license license:gpl3+))))
2885
2886 (define-public emacs-mmm-mode
2887 (package
2888 (name "emacs-mmm-mode")
2889 (version "0.5.8")
2890 (source
2891 (origin
2892 (method url-fetch)
2893 (uri (string-append "https://elpa.gnu.org/packages/"
2894 "mmm-mode-" version ".tar"))
2895 (sha256
2896 (base32 "05ckf4zapdpvnd3sqpw6kxaa567zh536a36m9qzx3sqyjbyn5fb4"))))
2897 (build-system emacs-build-system)
2898 (home-page "https://github.com/purcell/mmm-mode")
2899 (synopsis "Allow multiple major modes in an Emacs buffer")
2900 (description
2901 "MMM Mode is a minor mode that allows multiple major modes to coexist in
2902 a single buffer.")
2903 (license license:gpl3+)))
2904
2905 (define-public emacs-mmt
2906 (package
2907 (name "emacs-mmt")
2908 (version "0.2.0")
2909 (source
2910 (origin
2911 (method git-fetch)
2912 (uri (git-reference
2913 (url "https://github.com/mrkkrp/mmt")
2914 (commit version)))
2915 (file-name (git-file-name name version))
2916 (sha256
2917 (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav"))))
2918 (build-system emacs-build-system)
2919 (home-page "https://github.com/mrkkrp/mmt")
2920 (synopsis "Classic tools to write Emacs Lisp macros")
2921 (description "Emacs MMT is a package that contains classic tools for Emacs
2922 Lisp developers who want to write macros with convenience.")
2923 (license license:gpl3+)))
2924
2925 (define-public emacs-tablist
2926 (package
2927 (name "emacs-tablist")
2928 (version "1.0")
2929 (source (origin
2930 (method git-fetch)
2931 (uri (git-reference
2932 (url "https://github.com/politza/tablist")
2933 (commit (string-append "v" version))))
2934 (file-name (git-file-name name version))
2935 (sha256
2936 (base32
2937 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
2938 (build-system emacs-build-system)
2939 (home-page "https://github.com/politza/tablist")
2940 (synopsis "Extension for @code{tabulated-list-mode}")
2941 (description "Tablist is the Emacs package that provides several
2942 additional features to @code{tabulated-list-mode}: it adds marks,
2943 filters, new key bindings and faces. It can be enabled by
2944 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
2945 (license license:gpl3+)))
2946
2947 (define-public emacs-djvu
2948 (package
2949 (name "emacs-djvu")
2950 (version "1.1.1")
2951 (source
2952 (origin
2953 (method url-fetch)
2954 (uri (string-append "https://elpa.gnu.org/packages/"
2955 "djvu-" version ".el"))
2956 (sha256
2957 (base32 "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i"))))
2958 (build-system emacs-build-system)
2959 (inputs `(("djview" ,djview)
2960 ("djvulibre" ,djvulibre)))
2961 (arguments
2962 `(#:phases
2963 (modify-phases %standard-phases
2964 (add-after 'unpack 'configure
2965 (lambda* (#:key inputs outputs #:allow-other-keys)
2966 (let ((file "djvu.el")
2967 (djview (assoc-ref inputs "djview"))
2968 (djvulibre (assoc-ref inputs "djvulibre")))
2969 ;; Specify the absolute executable locations.
2970 (chmod file #o644)
2971 (substitute* file
2972 (("\"djvused\"") (string-append "\"" djvulibre "/bin/djvused\""))
2973 (("\"djvm\"") (string-append "\"" djvulibre "/bin/djvm\""))
2974 (("\"ddjvu\"") (string-append "\"" djvulibre "/bin/ddjvu\"")))
2975 (emacs-substitute-variables file
2976 ("djvu-djview-command" (string-append djview "/bin/djview"))))
2977 #t)))))
2978 (home-page "http://elpa.gnu.org/packages/djvu.html")
2979 (synopsis "Edit and view Djvu files via djvused")
2980 (description
2981 "This package is a front end for the command-line program djvused from
2982 DjVuLibre, see @url{http://djvu.sourceforge.net/}.")
2983 (license license:gpl3+)))
2984
2985 (define-public emacs-pabbrev
2986 (package
2987 (name "emacs-pabbrev")
2988 (version "4.2.1")
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append "https://elpa.gnu.org/packages/"
2993 "pabbrev-" version ".el"))
2994 (sha256
2995 (base32 "19v5adk61y8fpigw7k6wz6dj79jwr450hnbi7fj0jvb21cvjmfxh"))))
2996 (build-system emacs-build-system)
2997 (home-page "http://elpa.gnu.org/packages/pabbrev.html")
2998 (synopsis "Predictive abbreviation expansion")
2999 (description
3000 "The code provides a abbreviation expansion for Emacs. It is
3001 fairly similar to Dabbrev expansion, which works based on the contents
3002 of the current buffer (or other buffers).
3003
3004 Predictive abbreviation expansion works based on the previously
3005 written text. Unlike dynamic abbreviation, the text is analysed
3006 during idle time, while Emacs is doing nothing else.")
3007 (license license:gpl3+)))
3008
3009 (define-public emacs-pdf-tools
3010 ;; XXX: Development branch fixes an incompatibility with Emacs 27+. See
3011 ;; <https://github.com/politza/pdf-tools/issues/616>.
3012 (let ((commit "c510442ab89c8a9e9881230eeb364f4663f59e76")
3013 (revision "1"))
3014 (package
3015 (name "emacs-pdf-tools")
3016 (version (git-version "0.90" revision commit))
3017 (source
3018 (origin
3019 (method git-fetch)
3020 (uri (git-reference
3021 (url "https://github.com/politza/pdf-tools")
3022 (commit commit)))
3023 (file-name (git-file-name name version))
3024 (sha256
3025 (base32 "17z3cpn76g9dp62drjrgrqpp1bgf4gl5k5gspylskpvd4kj4bq4d"))))
3026 (build-system gnu-build-system)
3027 (arguments
3028 `(#:tests? #f ; there are no tests
3029 #:modules ((guix build gnu-build-system)
3030 ((guix build emacs-build-system) #:prefix emacs:)
3031 (guix build utils)
3032 (guix build emacs-utils))
3033 #:imported-modules (,@%gnu-build-system-modules
3034 (guix build emacs-build-system)
3035 (guix build emacs-utils))
3036 #:phases
3037 (modify-phases %standard-phases
3038 ;; Build server side using 'gnu-build-system'.
3039 (add-after 'unpack 'enter-server-dir
3040 (lambda _ (chdir "server") #t))
3041 (add-after 'enter-server-dir 'autogen
3042 (lambda _
3043 (invoke "bash" "autogen.sh")))
3044
3045 ;; Build emacs side using 'emacs-build-system'.
3046 (add-after 'compress-documentation 'enter-lisp-dir
3047 (lambda _ (chdir "../lisp") #t))
3048 (add-after 'enter-lisp-dir 'emacs-patch-variables
3049 (lambda* (#:key outputs #:allow-other-keys)
3050 (for-each make-file-writable (find-files "."))
3051
3052 ;; Set path to epdfinfo program.
3053 (emacs-substitute-variables "pdf-info.el"
3054 ("pdf-info-epdfinfo-program"
3055 (string-append (assoc-ref outputs "out")
3056 "/bin/epdfinfo")))
3057 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
3058 ;; upgrading" that pdf-tools tries to perform.
3059 (emacs-substitute-variables "pdf-tools.el"
3060 ("pdf-tools-handle-upgrades" '()))))
3061 (add-after 'emacs-patch-variables 'emacs-expand-load-path
3062 (assoc-ref emacs:%standard-phases 'expand-load-path))
3063 (add-after 'emacs-add-source-to-load-path 'emacs-install
3064 (assoc-ref emacs:%standard-phases 'install))
3065 (add-after 'emacs-install 'emacs-build
3066 (assoc-ref emacs:%standard-phases 'build))
3067 (add-after 'emacs-install 'emacs-make-autoloads
3068 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
3069 (native-inputs
3070 `(("autoconf" ,autoconf)
3071 ("automake" ,automake)
3072 ("pkg-config" ,pkg-config)
3073 ("emacs" ,emacs-minimal)))
3074 (inputs
3075 `(("poppler" ,poppler)
3076 ("cairo" ,cairo)
3077 ("glib" ,glib)
3078 ("libpng" ,libpng)
3079 ("zlib" ,zlib)))
3080 (propagated-inputs
3081 `(("tablist" ,emacs-tablist)))
3082 (home-page "https://github.com/politza/pdf-tools")
3083 (synopsis "Emacs support library for PDF files")
3084 (description
3085 "PDF Tools is, among other things, a replacement of DocView for PDF
3086 files. The key difference is that pages are not pre-rendered by
3087 e.g. ghostscript and stored in the file-system, but rather created on-demand
3088 and stored in memory.")
3089 (license license:gpl3+))))
3090
3091 (define-public emacs-dash
3092 (package
3093 (name "emacs-dash")
3094 (version "2.18.1")
3095 (source (origin
3096 (method git-fetch)
3097 (uri (git-reference
3098 (url "https://github.com/magnars/dash.el")
3099 (commit version)))
3100 (file-name (git-file-name name version))
3101 (sha256
3102 (base32
3103 "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"))))
3104 (build-system emacs-build-system)
3105 (arguments `(#:tests? #t))
3106 (home-page "https://github.com/magnars/dash.el")
3107 (synopsis "Modern list library for Emacs")
3108 (description "This package provides a modern list API library for Emacs.")
3109 (license license:gpl3+)))
3110
3111 (define-public emacs-bui
3112 (package
3113 (name "emacs-bui")
3114 (version "1.2.1")
3115 (source (origin
3116 (method git-fetch)
3117 (uri (git-reference
3118 (url "https://notabug.org/alezost/emacs-bui.git")
3119 (commit (string-append "v" version))))
3120 (file-name (git-file-name name version))
3121 (sha256
3122 (base32
3123 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
3124 (build-system emacs-build-system)
3125 (propagated-inputs
3126 `(("dash" ,emacs-dash)))
3127 (home-page "https://notabug.org/alezost/emacs-bui")
3128 (synopsis "Buffer interface library for Emacs")
3129 (description
3130 "BUI (Buffer User Interface) is a library for making @code{list} and
3131 @code{info} interfaces to display an arbitrary data of the same
3132 type, for example: packages, buffers, files, etc.")
3133 (license license:gpl3+)))
3134
3135 (define-public emacs-guix
3136 (let ((commit "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31")
3137 (revision "4"))
3138 (package
3139 (name "emacs-guix")
3140 (version (git-version "0.5.2" revision commit))
3141 (source (origin
3142 (method git-fetch)
3143 (uri (git-reference
3144 ;; TODO: Use the official version when it has a new home
3145 (url "https://github.com/alezost/guix.el")
3146 (commit commit)))
3147 (file-name (git-file-name name version))
3148 (sha256
3149 (base32
3150 "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"))))
3151 (build-system gnu-build-system)
3152 (arguments
3153 `(#:modules ((guix build gnu-build-system)
3154 ((guix build emacs-build-system) #:prefix emacs:)
3155 (guix build utils))
3156 #:imported-modules (,@%gnu-build-system-modules
3157 (guix build emacs-build-system)
3158 (guix build emacs-utils))
3159 #:configure-flags
3160 (list (string-append "--with-lispdir="
3161 (emacs:elpa-directory (assoc-ref %outputs "out"))))
3162 #:phases
3163 (modify-phases %standard-phases
3164 (add-after 'unpack 'expand-load-path
3165 (lambda _
3166 ((assoc-ref emacs:%standard-phases 'expand-load-path)
3167 #:prepend-source? #f)
3168 #t)))))
3169 (native-inputs
3170 `(("autoconf" ,autoconf)
3171 ("automake" ,automake)
3172 ("pkg-config" ,pkg-config)
3173 ("texinfo" ,texinfo)
3174 ("emacs" ,emacs-minimal)))
3175 (inputs
3176 `(("guile"
3177 ,@(assoc-ref (package-native-inputs guix) "guile"))
3178 ("guix" ,guix)))
3179 (propagated-inputs
3180 `(("geiser" ,emacs-geiser)
3181 ("geiser-guile" ,emacs-geiser-guile)
3182 ("guile-gcrypt" ,guile-gcrypt)
3183 ("dash" ,emacs-dash)
3184 ("bui" ,emacs-bui)
3185 ("edit-indirect" ,emacs-edit-indirect)
3186 ("magit-popup" ,emacs-magit-popup)))
3187 (home-page "https://emacs-guix.gitlab.io/website/")
3188 (synopsis "Emacs interface for GNU Guix")
3189 (description
3190 "Emacs-Guix provides a visual interface, tools and features for the GNU
3191 Guix package manager. Particularly, it allows you to do various package
3192 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
3193 @code{M-x guix-help} command.")
3194 (license license:gpl3+))))
3195
3196 (define-public emacs-build-farm
3197 (package
3198 (name "emacs-build-farm")
3199 (version "0.2.2")
3200 (source (origin
3201 (method git-fetch)
3202 (uri (git-reference
3203 (url "https://notabug.org/alezost/emacs-build-farm.git")
3204 (commit (string-append "v" version))))
3205 (file-name (git-file-name name version))
3206 (sha256
3207 (base32
3208 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
3209 (build-system emacs-build-system)
3210 (propagated-inputs
3211 `(("bui" ,emacs-bui)
3212 ("magit-popup" ,emacs-magit-popup)))
3213 (home-page "https://notabug.org/alezost/emacs-build-farm")
3214 (synopsis "Emacs interface for Hydra and Cuirass build farms")
3215 (description
3216 "This Emacs package provides an interface for Hydra and
3217 Cuirass (build farms used by Nix and Guix). It allows you to look at
3218 various data related to the build farm projects, jobsets, builds and
3219 evaluations. The entry point is @code{M-x build-farm} command.")
3220 (license license:gpl3+)))
3221
3222 (define-public emacs-d-mode
3223 (package
3224 (name "emacs-d-mode")
3225 (version "2.0.10")
3226 (source
3227 (origin
3228 (method git-fetch)
3229 (uri (git-reference
3230 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
3231 (commit version)))
3232 (file-name (git-file-name name version))
3233 (sha256
3234 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
3235 (build-system emacs-build-system)
3236 (propagated-inputs
3237 `(("emacs-undercover" ,emacs-undercover)))
3238 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
3239 (synopsis "Emacs major mode for editing D code")
3240 (description "This package provides an Emacs major mode for highlighting
3241 code written in the D programming language. This mode is currently known to
3242 work with Emacs 24 and 25.")
3243 (license license:gpl2+)))
3244
3245 (define-public emacs-extempore-mode
3246 ;; Use the latest commit at time of packaging. There are no releases or tags.
3247 (let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
3248 (revision "1"))
3249 (package
3250 (name "emacs-extempore-mode")
3251 (version (git-version "0.0.0" revision commit))
3252 (source
3253 (origin
3254 (method git-fetch)
3255 (uri (git-reference
3256 (url "https://github.com/extemporelang/extempore-emacs-mode")
3257 (commit commit)))
3258 (file-name (git-file-name name version))
3259 (sha256
3260 (base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
3261 (build-system emacs-build-system)
3262 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
3263 (synopsis "Emacs major mode for Extempore source files")
3264 (description
3265 "This package provides a major mode for editing Extempore code. It can
3266 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
3267 running Extempore process, and more.")
3268 (license license:bsd-2))))
3269
3270 (define-public emacs-kakoune
3271 ;; Package has no release. Version is extracted from "Version:" keyword in
3272 ;; main file.
3273 (let ((commit "d73d14e69ea38076af50cc69f846808383ff539d")
3274 (revision "0"))
3275 (package
3276 (name "emacs-kakoune")
3277 (version (git-version "0.1" revision commit))
3278 (source
3279 (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/jmorag/kakoune.el")
3283 (commit commit)))
3284 (file-name (git-file-name name version))
3285 (sha256
3286 (base32 "0nk6jdy1y5mc3ryd0smiqghrk6iv34d5grc7f7migmshlbq0np92"))))
3287 (build-system emacs-build-system)
3288 (propagated-inputs
3289 `(("emacs-expand-region" ,emacs-expand-region)
3290 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
3291 ("emacs-ryo-modal" ,emacs-ryo-modal)))
3292 (home-page "https://github.com/jmorag/kakoune.el")
3293 (synopsis "Emacs simple simulation, but not emulation, of Kakoune")
3294 (description "This package provides many, but not all of the editing
3295 primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very
3296 shallow emulation, which seeks to do as little work as possible, leveraging
3297 Emacs native editing commands and the work of other packages wherever
3298 possible.")
3299 (license license:expat))))
3300
3301 (define-public emacs-kana
3302 ;; Package has no release. Version is extracted from "Version:" keyword in
3303 ;; main file.
3304 (let ((commit "b239c3c3c6124b46ff720cca7b80ecbafd7fa489")
3305 (revision "0"))
3306 (package
3307 (name "emacs-kana")
3308 (version (git-version "1.0.0" revision commit))
3309 (source
3310 (origin
3311 (method git-fetch)
3312 (uri (git-reference
3313 (url "https://github.com/chenyanming/kana")
3314 (commit commit)))
3315 (file-name (git-file-name name version))
3316 (sha256
3317 (base32 "0vrrl1kniq4h111jvnapvx3wybvsl3alfaygw634mmryr3h7pwi8"))))
3318 (build-system emacs-build-system)
3319 (home-page "https://github.com/chenyanming/kana")
3320 (synopsis "Learn Japanese Kana in Emacs")
3321 (description
3322 "This Emacs mode displays Hiragana and Katakana flashcards. It can use
3323 functionality from Emacs Kanji mode if it is installed.")
3324 (license license:gpl3+))))
3325
3326 (define-public emacs-kanji
3327 ;; Package has no release. Version is extracted from "Version:" keyword in
3328 ;; main file.
3329 (let ((commit "5e9d5b72468ece11cfb81b729be6babf63ede425")
3330 (revision "0"))
3331 (package
3332 (name "emacs-kanji")
3333 (version (git-version "1.0" revision commit))
3334 (source
3335 (origin
3336 (method git-fetch)
3337 (uri (git-reference
3338 (url "https://github.com/wsgac/kanji-mode")
3339 (commit commit)))
3340 (file-name (git-file-name name version))
3341 (sha256
3342 (base32 "1zh7klqaza840q5f44zzh1wrnd6sqa2k93z3dgx3yhhsxfd1dxvy"))))
3343 (build-system emacs-build-system)
3344 (home-page "https://github.com/wsgac/kanji-mode")
3345 (synopsis "Emacs minor mode for displaying Japanese Kanji stroke order")
3346 (description
3347 "This minor mode displays the stroke order of the Kanji sign under
3348 cursor in a transient buffer. It has a built-in collection of SVG images
3349 depicting stroke orders for all Kanji. The collection is a slightly modified
3350 and limited version of the images provided by the KanjiVG project.")
3351 (license license:gpl3+))))
3352
3353 (define-public emacs-kbd
3354 ;; Package has no release. Version is extracted from "Version:" keyword in
3355 ;; main file.
3356 (let ((commit "a7f4c9b9770fa6a58895c5f121df82652bb1b737")
3357 (revision "0"))
3358 (package
3359 (name "emacs-kbd")
3360 (version (git-version "0.0.1" revision commit))
3361 (source
3362 (origin
3363 (method git-fetch)
3364 (uri (git-reference
3365 (url "https://github.com/slotThe/kbd-mode")
3366 (commit commit)))
3367 (file-name (git-file-name name version))
3368 (sha256
3369 (base32 "0jv9yfsncgf96308c041hvps3jlc151xb0aipm0vasbma3x83ygm"))))
3370 (build-system emacs-build-system)
3371 (arguments
3372 `(#:phases
3373 (modify-phases %standard-phases
3374 (add-after 'unpack 'enter-lisp-directory
3375 (lambda _ (chdir "lisp") #t)))))
3376 (home-page "https://github.com/slotThe/kbd-mode")
3377 (synopsis "Minor mode for syntax highlighting kmonad's @file{.kbd} files")
3378 (description
3379 "This minor mode provides syntax highlighting for Lisp-like DSL used in
3380 kmonad's configuration files (@file{.kbd}).")
3381 (license license:gpl3+))))
3382
3383 (define-public emacs-keycast
3384 (package
3385 (name "emacs-keycast")
3386 (version "1.0.4")
3387 (source
3388 (origin
3389 (method git-fetch)
3390 (uri (git-reference
3391 (url "https://github.com/tarsius/keycast.git")
3392 (commit (string-append "v" version))))
3393 (file-name (git-file-name name version))
3394 (sha256
3395 (base32 "1g9arjdhdpvsw47ny9gi5k758ya37yza4mr0rhbf02yvrqyfsrgr"))))
3396 (build-system emacs-build-system)
3397 (home-page "https://github.com/tarsius/keycast")
3398 (synopsis "Show current command and its key in the mode line")
3399 (description
3400 "This package provides Keycast mode. Once enabled, that mode shows the
3401 current command and its key or mouse binding in the mode line, and updates
3402 them whenever another command is invoked.")
3403 (license license:gpl3+)))
3404
3405 (define-public emacs-keyfreq
3406 (package
3407 (name "emacs-keyfreq")
3408 (version "20160516.716")
3409 (source
3410 (origin
3411 (method url-fetch)
3412 (uri (string-append "http://melpa.org/packages/keyfreq-"
3413 version ".el"))
3414 (sha256
3415 (base32
3416 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
3417 (build-system emacs-build-system)
3418 (home-page "https://github.com/dacap/keyfreq")
3419 (synopsis "Track Emacs command frequencies")
3420 (description "@code{emacs-keyfeq} tracks and shows how many times you used
3421 a command.")
3422 (license license:gpl3+)))
3423
3424 (define-public emacs-olivetti
3425 (package
3426 (name "emacs-olivetti")
3427 (version "1.11.3")
3428 (source
3429 (origin
3430 (method git-fetch)
3431 (uri (git-reference
3432 (url "https://github.com/rnkn/olivetti")
3433 (commit (string-append "v" version))))
3434 (file-name (git-file-name name version))
3435 (sha256
3436 (base32 "0zcph7l0hxisbvsyzb1dw3paq5a5sjp5lrq5nq9zggvgc6zvx7sh"))))
3437 (build-system emacs-build-system)
3438 (home-page "https://github.com/rnkn/olivetti")
3439 (synopsis "Emacs minor mode for a nice writing environment")
3440 (description "This package provides an Emacs minor mode that puts writing
3441 in the center.")
3442 (license license:gpl3+)))
3443
3444 (define-public emacs-undo-tree
3445 (package
3446 (name "emacs-undo-tree")
3447 (version "0.7.5")
3448 (source
3449 (origin
3450 (method url-fetch)
3451 (uri (string-append "https://elpa.gnu.org/packages/"
3452 "undo-tree-" version ".el"))
3453 (sha256
3454 (base32 "00admi87gqm0akhfqm4dcp9fw8ihpygy030955jswkha4zs7lw2p"))))
3455 (build-system emacs-build-system)
3456 (home-page "https://www.dr-qubit.org/undo-tree.html")
3457 (synopsis "Treat undo history as a tree")
3458 (description
3459 "Tree-like interface to Emacs undo system, providing
3460 graphical tree presentation of all previous states of buffer that
3461 allows easily move between them.")
3462 (license license:gpl3+)))
3463
3464 (define-public emacs-undo-fu
3465 ;; There are no tagged releases upstream on gitlab, instead we are using
3466 ;; the most recent commit.
3467 (let ((commit "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca")
3468 (revision "0"))
3469 (package
3470 (name "emacs-undo-fu")
3471 (version (git-version "0.4" revision commit))
3472 (source
3473 (origin
3474 (method git-fetch)
3475 (uri (git-reference
3476 (url "https://gitlab.com/ideasman42/emacs-undo-fu")
3477 (commit commit)))
3478 (file-name (git-file-name name version))
3479 (sha256
3480 (base32 "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j"))))
3481 (build-system emacs-build-system)
3482 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu")
3483 (synopsis "Simple, stable linear undo with redo for Emacs")
3484 (description
3485 "This is a light weight wrapper for Emacs built-in undo system,
3486 adding convenient undo/redo without losing access to the full undo history,
3487 allowing you to visit all previous states of the document if you need.")
3488 (license license:gpl3+))))
3489
3490 (define-public emacs-undo-fu-session
3491 ;; There are no tagged releases upstream on gitlab, instead we are using the
3492 ;; most recent commit.
3493 (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829")
3494 (revision "0"))
3495 (package
3496 (name "emacs-undo-fu-session")
3497 (version (git-version "0.2" revision commit))
3498 (source
3499 (origin
3500 (method git-fetch)
3501 (uri (git-reference
3502 (url "https://gitlab.com/ideasman42/emacs-undo-fu-session")
3503 (commit commit)))
3504 (file-name (git-file-name name version))
3505 (sha256
3506 (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a"))))
3507 (build-system emacs-build-system)
3508 (arguments
3509 `(#:tests? #t
3510 #:test-command '("emacs" "--batch" "-l" "undo-fu-session.el"
3511 "-l" "undo-fu-session-test.el")
3512 #:phases
3513 (modify-phases %standard-phases
3514 (add-before 'check 'set-home
3515 (lambda _
3516 (setenv "HOME" "/tmp")
3517 #t)))))
3518 (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session")
3519 (synopsis "Save & recover undo steps between Emacs sessions")
3520 (description "This package writes undo/redo information upon file save
3521 which is restored where possible when the file is loaded again.")
3522 (license license:gpl3+))))
3523
3524 (define-public emacs-s
3525 (package
3526 (name "emacs-s")
3527 (version "1.12.0")
3528 (source
3529 (origin
3530 (method git-fetch)
3531 (uri (git-reference
3532 (url "https://github.com/magnars/s.el")
3533 (commit version)))
3534 (file-name (git-file-name name version))
3535 (sha256
3536 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
3537 (build-system emacs-build-system)
3538 (arguments
3539 `(#:tests? #t
3540 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
3541 #:test-command '("./run-tests.sh")))
3542 (home-page "https://github.com/magnars/s.el")
3543 (synopsis "Emacs string manipulation library")
3544 (description "This package provides an Emacs library for manipulating
3545 strings.")
3546 (license license:gpl3+)))
3547
3548 (define-public emacs-symon
3549 (package
3550 (name "emacs-symon")
3551 (version "20160630")
3552 (source
3553 (origin
3554 (method git-fetch)
3555 (uri (git-reference
3556 (url "https://github.com/zk-phi/symon")
3557 (commit version)))
3558 (file-name (git-file-name name version))
3559 (sha256
3560 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
3561 (build-system emacs-build-system)
3562 (home-page "https://github.com/zk-phi/symon")
3563 (synopsis "Tiny graphical system monitor")
3564 (description
3565 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
3566 (license license:gpl2+)))
3567
3568 (define-public emacs-sx
3569 (let ((version "20191229")
3570 (revision "0")
3571 (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f"))
3572 (package
3573 (name "emacs-sx")
3574 (version (git-version version revision commit))
3575 (source
3576 (origin
3577 (method git-fetch)
3578 (uri (git-reference
3579 (url "https://github.com/vermiculus/sx.el")
3580 (commit commit)))
3581 (file-name (git-file-name name version))
3582 (sha256
3583 (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf"))))
3584 (build-system emacs-build-system)
3585 (propagated-inputs
3586 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
3587 (home-page "https://github.com/vermiculus/sx.el")
3588 (synopsis "Emacs StackExchange client")
3589 (description
3590 "Emacs StackExchange client. Ask and answer questions on
3591 Stack Overflow, Super User, and other StackExchange sites.")
3592 (license license:gpl3+))))
3593
3594 (define-public emacs-toc-org
3595 (package
3596 (name "emacs-toc-org")
3597 (version "1.1.0")
3598 (source
3599 (origin
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/snosov1/toc-org")
3603 (commit version)))
3604 (file-name (git-file-name name version))
3605 (sha256
3606 (base32 "0lk0rji85a1c0c5r9an0fdvsm4n4jyixsknmr8ywha3lfmc2p0l8"))))
3607 (build-system emacs-build-system)
3608 (home-page "https://github.com/snosov1/toc-org")
3609 (synopsis "Table of Contents generator for Emacs Org mode")
3610 (description
3611 "This package generates a table of contents when saving in Org and
3612 Markdown files.")
3613 (license license:gpl2+)))
3614
3615 (define-public emacs-toml-mode
3616 (let ((version "0.1.3")
3617 (revision "0")
3618 (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"))
3619 (package
3620 (name "emacs-toml-mode")
3621 (version (git-version version revision commit))
3622 (source
3623 (origin
3624 (method git-fetch)
3625 (uri (git-reference
3626 (url "https://github.com/dryman/toml-mode.el")
3627 (commit commit)))
3628 (file-name (git-file-name name version))
3629 (sha256
3630 (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"))))
3631 (build-system emacs-build-system)
3632 (home-page "https://github.com/dryman/toml-mode.el")
3633 (synopsis "Emacs major mode for editing TOML files")
3634 (description
3635 ;; XXX: Ideally we'd use @acronym for "TOML", but Guile's Texinfo
3636 ;; parser does not currently support @comma{}, making it impossible
3637 ;; to use commas in the @acronym arguments.
3638 "This package provides a major mode for editing files in @dfn{TOML}
3639 (Tom's Obvious, Minimal Language) data format.")
3640 (license license:gpl3+))))
3641
3642 (define-public emacs-twittering-mode
3643 (package
3644 (name "emacs-twittering-mode")
3645 (version "3.1.0")
3646 (source
3647 (origin
3648 (method url-fetch)
3649 (uri (string-append "mirror://sourceforge/twmode"
3650 "/twittering-mode-" version
3651 "/twittering-mode-" version ".tar.xz"))
3652 (sha256
3653 (base32 "02imis1gxz90lah0b5n37j2hlsaw5igss11d85vpsm5d1bgw8j28"))))
3654 (build-system emacs-build-system)
3655 (home-page "http://twmode.sourceforge.net")
3656 (synopsis "Emacs major mode for Twitter")
3657 (description
3658 "Twittering mode is an Emacs major mode for Twitter.
3659 You can check timelines, tweet, mark posts as favorites and so on with
3660 Emacs.")
3661 (license license:gpl2+)))
3662
3663 (define-public emacs-f
3664 (package
3665 (name "emacs-f")
3666 (version "0.20.0")
3667 (source (origin
3668 (method git-fetch)
3669 (uri (git-reference
3670 (url "https://github.com/rejeep/f.el")
3671 (commit (string-append "v" version))))
3672 (file-name (git-file-name name version))
3673 (sha256
3674 (base32
3675 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
3676 (build-system emacs-build-system)
3677 (propagated-inputs
3678 `(("emacs-s" ,emacs-s)
3679 ("emacs-dash" ,emacs-dash)))
3680 (home-page "https://github.com/rejeep/f.el")
3681 (synopsis "Emacs API for working with files and directories")
3682 (description "This package provides an Emacs library for working with
3683 files and directories.")
3684 (license license:gpl3+)))
3685
3686 (define-public emacs-fountain-mode
3687 (package
3688 (name "emacs-fountain-mode")
3689 (version "3.4.1")
3690 (source
3691 (origin
3692 (method git-fetch)
3693 (uri (git-reference
3694 (url "https://github.com/rnkn/fountain-mode")
3695 (commit (string-append "v" version))))
3696 (file-name (git-file-name name version))
3697 (sha256
3698 (base32 "14zhbcfqyp093kd1bxl7f2hf5l5995qmgpmnxfgw9qcc781crj73"))))
3699 (build-system emacs-build-system)
3700 (home-page "https://github.com/rnkn/fountain-mode")
3701 (synopsis "Major mode for screenwriting in Fountain markup")
3702 (description "Fountain Mode is a scriptwriting program for GNU Emacs
3703 using the Fountain plain text markup format.")
3704 (license license:gpl3+)))
3705
3706 (define-public emacs-fringe-helper
3707 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
3708 (revision "1"))
3709 (package
3710 (name "emacs-fringe-helper")
3711 (version (git-version "1.0.1" revision commit))
3712 (source
3713 (origin
3714 (method git-fetch)
3715 (uri (git-reference
3716 (url "https://github.com/nschum/fringe-helper.el")
3717 (commit commit)))
3718 (file-name (git-file-name name version))
3719 (sha256
3720 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
3721 (build-system emacs-build-system)
3722 (arguments
3723 `(#:tests? #t
3724 #:test-command '("emacs" "--batch"
3725 "-l" "tests.el"
3726 "-f" "ert-run-tests-batch-and-exit")))
3727 (home-page "https://github.com/nschum/fringe-helper.el")
3728 (synopsis "Helper functions for fringe bitmaps")
3729 (description
3730 "This package allows fringe bitmaps to be defined with a visual string
3731 representation.")
3732 (license license:gpl2+))))
3733
3734 (define-public emacs-git-gutter
3735 (package
3736 (name "emacs-git-gutter")
3737 (version "0.91")
3738 (source
3739 (origin
3740 (method git-fetch)
3741 (uri (git-reference
3742 (url "https://github.com/syohex/emacs-git-gutter")
3743 (commit version)))
3744 (file-name (git-file-name name version))
3745 (sha256
3746 (base32 "0zc9f73app1d7j4yb10sy4xidh5252ncyxlvr5kh0kiqk88ck6j9"))))
3747 (build-system emacs-build-system)
3748 (home-page "https://github.com/syohex/emacs-git-gutter")
3749 (synopsis "See and manage hunks of text in a version control system")
3750 (description
3751 "This package is an Emacs minor mode for displaying and interacting with
3752 hunks of text managed in a version control system. Added modified and deleted
3753 areas can be indicated with symbols on the edge of the buffer, and commands
3754 can be used to move between and perform actions on these hunks.
3755
3756 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
3757 display and behaviour is easily customisable.")
3758 (license license:gpl3+)))
3759
3760 (define-public emacs-git-gutter-fringe
3761 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
3762 (revision "1"))
3763 (package
3764 (name "emacs-git-gutter-fringe")
3765 (version (git-version "0.23" revision commit))
3766 (source
3767 (origin
3768 (method git-fetch)
3769 (uri (git-reference
3770 (url "https://github.com/emacsorphanage/git-gutter-fringe")
3771 (commit commit)))
3772 (file-name (git-file-name name version))
3773 (sha256
3774 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
3775 (build-system emacs-build-system)
3776 (propagated-inputs
3777 `(("emacs-git-gutter" ,emacs-git-gutter)
3778 ("emacs-fringe-helper" ,emacs-fringe-helper)))
3779 (home-page "https://github.com/emacsorphanage/git-gutter-fringe")
3780 (synopsis "See and manage hunks of text in a version control system")
3781 (description
3782 "This package extends @code{git-gutter} to use the fringe area of a
3783 window.")
3784 (license license:gpl3+))))
3785
3786 (define-public emacs-git-link
3787 (package
3788 (name "emacs-git-link")
3789 (version "0.8.3")
3790 (source
3791 (origin
3792 (method git-fetch)
3793 (uri (git-reference
3794 (url "https://github.com/sshaw/git-link")
3795 (commit (string-append "v" version))))
3796 (file-name (git-file-name name version))
3797 (sha256
3798 (base32 "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"))))
3799 (build-system emacs-build-system)
3800 (arguments
3801 `(#:tests? #t
3802 #:test-command '("make" "test")))
3803 (home-page "https://github.com/sshaw/git-link")
3804 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
3805 (description
3806 "@code{git-link} returns the URL for the current buffer's file location
3807 at the current line number or active region. @code{git-link-commit} returns
3808 the URL for a commit. URLs are added to the kill ring.")
3809 (license license:gpl3+)))
3810
3811 (define-public emacs-apheleia
3812 (package
3813 (name "emacs-apheleia")
3814 (version "1.0")
3815 (source
3816 (origin
3817 (method git-fetch)
3818 (uri (git-reference
3819 (url "https://github.com/raxod502/apheleia")
3820 (commit (string-append "v" version))))
3821 (file-name (git-file-name name version))
3822 (sha256
3823 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
3824 (build-system emacs-build-system)
3825 (home-page "https://github.com/raxod502/apheleia")
3826 (synopsis "Reformat buffer stably")
3827 (description
3828 "This package allows for a buffer to be reformatted without moving point,
3829 so that running a formatting tool like @code{Prettier} or @code{Black} upon
3830 saving won't move point back to the beginning of the buffer.")
3831 (license license:gpl3+)))
3832
3833 (define-public emacs-git-timemachine
3834 (package
3835 (name "emacs-git-timemachine")
3836 (version "4.11")
3837 (source
3838 (origin
3839 (method git-fetch)
3840 (uri (git-reference
3841 (url "https://gitlab.com/pidu/git-timemachine.git")
3842 (commit version)))
3843 (file-name (git-file-name name version))
3844 (sha256
3845 (base32
3846 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
3847 (build-system emacs-build-system)
3848 (propagated-inputs
3849 `(("emacs-transient" ,emacs-transient)))
3850 (home-page "https://gitlab.com/pidu/git-timemachine")
3851 (synopsis "Step through historic versions of Git-controlled files")
3852 (description "This package enables you to step through historic versions
3853 of files under Git version control from within Emacs.")
3854 (license license:gpl3+)))
3855
3856 (define-public emacs-minitest
3857 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
3858 (revision "1"))
3859 (package
3860 (name "emacs-minitest")
3861 (version (git-version "0.8.0" revision commit))
3862 (source (origin
3863 (method git-fetch)
3864 (uri (git-reference
3865 (url "https://github.com/arthurnn/minitest-emacs")
3866 (commit commit)))
3867 (file-name (git-file-name name commit))
3868 (sha256
3869 (base32
3870 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
3871 (build-system emacs-build-system)
3872 (arguments
3873 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
3874 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
3875 (propagated-inputs
3876 `(("emacs-dash" ,emacs-dash)
3877 ("emacs-f" ,emacs-f)))
3878 (home-page "https://github.com/arthurnn/minitest-emacs")
3879 (synopsis "Emacs minitest mode")
3880 (description
3881 "The minitest mode provides commands to run the tests for the current
3882 file or line, as well as rerunning the previous tests, or all the tests for a
3883 project.
3884
3885 This package also includes relevant snippets for yasnippet.")
3886 (license license:expat))))
3887
3888 (define-public emacs-gdscript-mode
3889 (package
3890 (name "emacs-gdscript-mode")
3891 (version "1.4.0")
3892 (source
3893 (origin
3894 (method git-fetch)
3895 (uri (git-reference
3896 (url "https://github.com/godotengine/emacs-gdscript-mode")
3897 (commit version)))
3898 (file-name (git-file-name name version))
3899 (sha256
3900 (base32 "09q0himrz7a6xgz0jmcl85qc5xhk5fwi6d2vw1n8qaiavm96ksdy"))))
3901 (build-system emacs-build-system)
3902 (home-page "https://github.com/godotengine/emacs-gdscript-mode")
3903 (synopsis "GDScript support and syntax highlighting in Emacs")
3904 (description
3905 "This package adds support for the GDScript programming language from the
3906 Godot game engine in Emacs. It features all the essentials, e.g., syntax
3907 highlighting, code folding, indentation, automatic pairing, auto-completion,
3908 and code formatting.")
3909 (license license:gpl3+)))
3910
3911 (define-public emacs-el-mock
3912 (package
3913 (name "emacs-el-mock")
3914 (version "1.25.1")
3915 (source
3916 (origin
3917 (method git-fetch)
3918 (uri (git-reference
3919 (url "https://github.com/rejeep/el-mock.el")
3920 (commit (string-append "v" version))))
3921 (file-name (git-file-name name version))
3922 (sha256
3923 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
3924 (build-system emacs-build-system)
3925 (home-page "https://github.com/rejeep/el-mock.el")
3926 (synopsis "Tiny mock and stub framework in Emacs Lisp")
3927 (description
3928 "Emacs Lisp Mock is a library for mocking and stubbing using readable
3929 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
3930 Expectations, but it can be used in other contexts.")
3931 (license license:gpl3+)))
3932
3933 (define-public emacs-ecukes
3934 (package
3935 (name "emacs-ecukes")
3936 (version "0.6.17")
3937 (home-page "https://github.com/ecukes/ecukes")
3938 (source
3939 (origin
3940 (method git-fetch)
3941 (uri (git-reference
3942 (url home-page)
3943 (commit (string-append "v" version))))
3944 (file-name (git-file-name name version))
3945 (sha256
3946 (base32 "1isscwz4h3nx62lwfrj899lp2yc27zk1ndgr441d848495ccmshn"))))
3947 (build-system emacs-build-system)
3948 (arguments
3949 `(#:include (cons* "^feature/" "^reporters/" "^templates/" %default-include)))
3950 (propagated-inputs
3951 `(("emacs-ansi" ,emacs-ansi)
3952 ("emacs-commander" ,emacs-commander)
3953 ("emacs-dash" ,emacs-dash)
3954 ("emacs-espuds" ,emacs-espuds)
3955 ("emacs-f" ,emacs-f)
3956 ("emacs-s" ,emacs-s)))
3957 (synopsis "Cucumber for Emacs")
3958 (description
3959 "This package provides Ecukes, a Cucumber-inspired integration testing
3960 tool for Emacs. Ecukes is not a complete clone of Cucumber and is not
3961 intended to be.")
3962 (license license:gpl3+)))
3963
3964 (define-public emacs-espuds
3965 (package
3966 (name "emacs-espuds")
3967 (version "0.3.3")
3968 (source
3969 (origin
3970 (method git-fetch)
3971 (uri (git-reference
3972 (url "https://github.com/ecukes/espuds")
3973 (commit (string-append "v" version))))
3974 (file-name (git-file-name name version))
3975 (sha256
3976 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
3977 (build-system emacs-build-system)
3978 (propagated-inputs
3979 `(("emacs-s" ,emacs-s)
3980 ("emacs-dash" ,emacs-dash)
3981 ("emacs-f" ,emacs-f)))
3982 (home-page "https://github.com/ecukes/espuds")
3983 (synopsis "Common step definitions for Ecukes")
3984 (description "Espuds is a collection of the most commonly used step
3985 definitions for testing with the Ecukes framework.")
3986 (license license:gpl3+)))
3987
3988 (define-public emacs-spark
3989 (let ((version "20160503") ; no proper tag, use date of commit
3990 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
3991 (revision "1"))
3992 (package
3993 (name "emacs-spark")
3994 (version (git-version version revision commit))
3995 (source
3996 (origin
3997 (method git-fetch)
3998 (uri (git-reference
3999 (url "https://github.com/alvinfrancis/spark")
4000 (commit commit)))
4001 (file-name (git-file-name name version))
4002 (sha256
4003 (base32
4004 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
4005 (build-system emacs-build-system)
4006 (home-page "https://github.com/alvinfrancis/spark")
4007 (synopsis "Sparkline generation library for Emacs Lisp")
4008 (description "@code{emacs-spark} is a sparkline generation library for
4009 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
4010 port of @code{cl-spark} to Emacs Lisp.")
4011 (license license:expat))))
4012
4013 (define-public emacs-es-mode
4014 (package
4015 (name "emacs-es-mode")
4016 (version "4.3.0")
4017 (source
4018 (origin
4019 (method git-fetch)
4020 (uri (git-reference
4021 (url "https://github.com/dakrone/es-mode")
4022 (commit version)))
4023 (file-name (git-file-name name version))
4024 (sha256
4025 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
4026 (build-system emacs-build-system)
4027 (propagated-inputs
4028 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
4029 ;; to be rendered incorrectly
4030 `(("emacs-dash" ,emacs-dash)
4031 ("emacs-org" ,emacs-org)
4032 ("emacs-spark" ,emacs-spark)))
4033 (home-page "https://github.com/dakrone/es-mode")
4034 (synopsis "Major mode for editing Elasticsearch queries")
4035 (description "@code{es-mode} includes highlighting, completion and
4036 indentation support for Elasticsearch queries. Also supported are
4037 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
4038 be processed through @code{jq}, or in the case of aggregations, can be
4039 rendered in to a table. In addition, there is an @code{es-command-center}
4040 mode, which displays information about Elasticsearch clusters.")
4041 (license license:gpl3+)))
4042
4043 (define-public emacs-expand-region
4044 (package
4045 (name "emacs-expand-region")
4046 (version "0.11.0")
4047 (source
4048 (origin
4049 (method git-fetch)
4050 (uri (git-reference
4051 (url "https://github.com/magnars/expand-region.el")
4052 (commit version)))
4053 (file-name (git-file-name name version))
4054 (sha256
4055 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
4056 (build-system emacs-build-system)
4057 (home-page "https://github.com/magnars/expand-region.el")
4058 (synopsis "Increase selected region by semantic units")
4059 (description
4060 "Expand region increases the selected region by semantic units. Just
4061 keep pressing the key until it selects what you want. There's also
4062 @code{er/contract-region} if you expand too far.")
4063 (license license:gpl3+)))
4064
4065 (define-public emacs-explain-pause-mode
4066 (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
4067 (revision "0"))
4068 (package
4069 (name "emacs-explain-pause-mode")
4070 (version (git-version "0.1" revision commit))
4071 (source (origin
4072 (method git-fetch)
4073 (uri (git-reference
4074 (url "https://github.com/lastquestion/explain-pause-mode")
4075 (commit commit)))
4076 (file-name (git-file-name name version))
4077 (sha256
4078 (base32
4079 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
4080 (build-system emacs-build-system)
4081 (native-inputs
4082 `(("emacs" ,emacs-buttercup)))
4083 (arguments
4084 '(#:tests? #t
4085 ;; Don't run case-tests as they will fail to create sockets because
4086 ;; the path is too long
4087 #:test-command '("make" "byte-compile" "unit-tests")
4088 ;; Parallel testing will cause the tests to run before
4089 ;; byte-compilation is finished
4090 #:parallel-tests? #f))
4091 (home-page "https://github.com/lastquestion/explain-pause-mode")
4092 (synopsis "Top-like interface to determine why Emacs paused")
4093 (description
4094 "This package monitors Emacs function calls and records their execution
4095 time. This information can be reviewed to determine what is causing the user
4096 interface to pause.")
4097 (license license:gpl3+))))
4098
4099 (define-public emacs-fill-column-indicator
4100 (package
4101 (name "emacs-fill-column-indicator")
4102 (version "1.90")
4103 (source
4104 (origin
4105 (method git-fetch)
4106 (uri (git-reference
4107 (url "https://github.com/alpaker/Fill-Column-Indicator")
4108 (commit version)))
4109 (file-name (git-file-name name version))
4110 (sha256
4111 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
4112 (build-system emacs-build-system)
4113 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
4114 (synopsis "Graphically indicate the fill column")
4115 (description
4116 "Fill-column-indicator graphically indicates the location of the fill
4117 column by drawing a thin line down the length of the editing window.")
4118 (license license:gpl3+)))
4119
4120 (define-public emacs-grep-a-lot
4121 (package
4122 (name "emacs-grep-a-lot")
4123 (version "1.0.7")
4124 (source
4125 (origin
4126 (method git-fetch)
4127 (uri (git-reference
4128 (url "https://github.com/ZungBang/emacs-grep-a-lot")
4129 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
4130 (file-name (git-file-name name version))
4131 (sha256
4132 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
4133 (build-system emacs-build-system)
4134 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
4135 (synopsis "Enables multiple grep buffers in Emacs")
4136 (description
4137 "This Emacs package allows managing multiple grep buffers.")
4138 (license license:gpl3+)))
4139
4140 (define-public emacs-fd
4141 (package
4142 (name "emacs-fd")
4143 (version "0.1.0")
4144 (source (origin
4145 (method git-fetch)
4146 (uri (git-reference
4147 (url "https://github.com/yqrashawn/fd-dired")
4148 (commit version)))
4149 (file-name (git-file-name name version))
4150 (sha256
4151 (base32
4152 "1fas0fpvym2lyzybwm44gly9jz6a2fpp72yxnwfbqqjkfgk9910y"))))
4153 (build-system emacs-build-system)
4154 (home-page "https://github.com/yqrashawn/fd-dired")
4155 (synopsis "Dired-mode interface for fd result")
4156 (description "This package provides a dired-mode interface for fd's
4157 result.")
4158 (license license:gpl3+)))
4159
4160 (define-public emacs-rg
4161 (package
4162 (name "emacs-rg")
4163 (version "2.0.2")
4164 (source
4165 (origin
4166 (method git-fetch)
4167 (uri (git-reference
4168 (url "https://github.com/dajva/rg.el")
4169 (commit version)))
4170 (file-name (git-file-name name version))
4171 (sha256
4172 (base32 "15qcnsnbni0aincm9pxpfhff3c5ivd5zs2s2qchjzhcn4kdm6kxr"))))
4173 (build-system emacs-build-system)
4174 (arguments
4175 '(#:phases
4176 (modify-phases %standard-phases
4177 (add-after 'unpack 'remove-rg-path
4178 ;; Remove the path to ripgrep so that it works on remote systems.
4179 (lambda _
4180 (let ((file "rg.el"))
4181 (chmod file #o644)
4182 (emacs-substitute-sexps file
4183 ("(defcustom rg-executable" "rg"))))))))
4184 (propagated-inputs
4185 `(("emacs-s" ,emacs-s)
4186 ("emacs-transient" ,emacs-transient)
4187 ("emacs-wgrep" ,emacs-wgrep)
4188 ("ripgrep" ,ripgrep)))
4189 (home-page "https://rgel.readthedocs.io/en/latest/")
4190 (synopsis "Search tool based on @code{ripgrep}")
4191 (description
4192 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
4193 line tool. It allows one to interactively search based on the editing context
4194 then refine or modify the search results.")
4195 (license license:gpl3+)))
4196
4197 (define-public emacs-inf-ruby
4198 (package
4199 (name "emacs-inf-ruby")
4200 (version "2.5.2")
4201 (source
4202 (origin
4203 (method git-fetch)
4204 (uri (git-reference
4205 (url "https://github.com/nonsequitur/inf-ruby")
4206 (commit version)))
4207 (file-name (git-file-name name version))
4208 (sha256
4209 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
4210 (build-system emacs-build-system)
4211 (home-page "https://github.com/nonsequitur/inf-ruby")
4212 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
4213 (description
4214 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
4215 for easy interaction with a ruby subprocess. Features include support for
4216 detecting specific uses of Ruby, e.g. when using rails, and using a
4217 appropriate console.")
4218 (license license:gpl3+)))
4219
4220 (define-public emacs-znc
4221 (package
4222 (name "emacs-znc")
4223 (version "0.0.2")
4224 (source
4225 (origin
4226 (method url-fetch)
4227 (uri (string-append "https://marmalade-repo.org/packages/znc-"
4228 version ".el"))
4229 (sha256
4230 (base32
4231 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
4232 (build-system emacs-build-system)
4233 (home-page "https://github.com/sshirokov/ZNC.el")
4234 (synopsis "Make ERC and ZNC get along better")
4235 (description
4236 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
4237 IRC bouncer with ERC.")
4238 (license license:expat)))
4239
4240 (define-public emacs-erc-status-sidebar
4241 (let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c")
4242 (revision "1"))
4243 (package
4244 (name "emacs-erc-status-sidebar")
4245 (version (git-version "0.1" revision commit))
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/drewbarbs/erc-status-sidebar")
4251 (commit commit)))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "1hwlhzgx03z8891sblz56zdp8zj0izh72kxykgcnz5rrkyc3vfi3"))))
4255 (build-system emacs-build-system)
4256 (home-page "https://github.com/drewbarbs/erc-status-sidebar")
4257 (synopsis "Hexchat-like activity overview for ERC channels")
4258 (description
4259 "This package provides a Hexchat-like status bar for joined channels in
4260 ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the
4261 @code{erc-track} module, and displays all the same information
4262 @code{erc-track} does in the mode line, but in an alternative format.")
4263 (license license:gpl3+))))
4264
4265 (define-public emacs-shut-up
4266 (package
4267 (name "emacs-shut-up")
4268 (version "0.3.3")
4269 (source
4270 (origin
4271 (method git-fetch)
4272 (uri (git-reference
4273 (url "https://github.com/cask/shut-up")
4274 (commit (string-append "v" version))))
4275 (file-name (git-file-name name version))
4276 (sha256
4277 (base32 "1bnmrwrhra6cpc3jjgwwzrydj5ps7q2dlkh2ag4j7rkyv4dlk351"))))
4278 (build-system emacs-build-system)
4279 (home-page "https://github.com/cask/shut-up")
4280 (synopsis "Silence Emacs")
4281 (description "This package silences most output of Emacs when running an
4282 Emacs shell script.")
4283 (license license:expat)))
4284
4285 (define-public emacs-undercover
4286 (package
4287 (name "emacs-undercover")
4288 (version "0.8.0")
4289 (source
4290 (origin
4291 (method git-fetch)
4292 (uri (git-reference
4293 (url "https://github.com/sviridov/undercover.el")
4294 (commit (string-append "v" version))))
4295 (file-name (git-file-name name version))
4296 (sha256
4297 (base32 "19d3373fy635vbfwr1yhxirwqn68qzny9byv74smxws4ly04mr02"))))
4298 (build-system emacs-build-system)
4299 (propagated-inputs
4300 `(("emacs-dash" ,emacs-dash)
4301 ("emacs-shut-up" ,emacs-shut-up)))
4302 (home-page "https://github.com/sviridov/undercover.el")
4303 (synopsis "Test coverage library for Emacs Lisp")
4304 (description
4305 "Undercover is a test coverage library for software written in Emacs
4306 Lisp.")
4307 (license license:expat)))
4308
4309 (define-public emacs-paren-face
4310 (package
4311 (name "emacs-paren-face")
4312 (version "1.0.7")
4313 (source
4314 (origin
4315 (method git-fetch)
4316 (uri (git-reference
4317 (url "https://github.com/tarsius/paren-face")
4318 (commit version)))
4319 (file-name (git-file-name name version))
4320 (sha256
4321 (base32 "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000"))))
4322 (build-system emacs-build-system)
4323 (home-page "https://github.com/tarsius/paren-face")
4324 (synopsis "Face for parentheses in Lisp modes")
4325 (description
4326 "This library defines a face named @code{parenthesis} used just for
4327 parentheses. The intended purpose of this face is to make parentheses less
4328 visible in Lisp code by dimming them. Lispers probably don't need to be
4329 constantly made aware of the existence of the parentheses. Dimming them might
4330 be even more useful for people new to Lisp who have not yet learned to
4331 subconsciously blend out the parentheses.")
4332 (license license:gpl3+)))
4333
4334 (define-public emacs-page-break-lines
4335 (package
4336 (name "emacs-page-break-lines")
4337 (version "0.14")
4338 (source
4339 (origin
4340 (method git-fetch)
4341 (uri (git-reference
4342 (url "https://github.com/purcell/page-break-lines")
4343 (commit version)))
4344 (file-name (git-file-name name version))
4345 (sha256
4346 (base32 "0plfyzmh93x1r3zgfjyx23cc7vi1pcniipclzlms1iwfkl7zsqvp"))))
4347 (build-system emacs-build-system)
4348 (home-page "https://github.com/purcell/page-break-lines")
4349 (synopsis "Display page breaks as tidy horizontal lines")
4350 (description
4351 "This library provides a global mode which displays form feed characters
4352 as horizontal rules.")
4353 (license license:gpl3+)))
4354
4355 (define-public emacs-simple-httpd
4356 (package
4357 (name "emacs-simple-httpd")
4358 (version "1.5.1")
4359 (source
4360 (origin
4361 (method git-fetch)
4362 (uri (git-reference
4363 (url "https://github.com/skeeto/emacs-web-server")
4364 (commit version)))
4365 (file-name (git-file-name name version))
4366 (sha256
4367 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
4368 (build-system emacs-build-system)
4369 (home-page "https://github.com/skeeto/emacs-web-server")
4370 (synopsis "HTTP server in pure Emacs Lisp")
4371 (description
4372 "This package provides a simple HTTP server written in Emacs Lisp to
4373 serve files and directory listings.")
4374 (license license:unlicense)))
4375
4376 (define-public emacs-skewer-mode
4377 (package
4378 (name "emacs-skewer-mode")
4379 (version "1.8.0")
4380 (source
4381 (origin
4382 (method git-fetch)
4383 (uri (git-reference
4384 (url "https://github.com/skeeto/skewer-mode")
4385 (commit version)))
4386 (file-name (git-file-name name version))
4387 (sha256
4388 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
4389 (build-system emacs-build-system)
4390 (propagated-inputs
4391 `(("emacs-simple-httpd" ,emacs-simple-httpd)
4392 ("emacs-js2-mode" ,emacs-js2-mode)))
4393 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
4394 (home-page "https://github.com/skeeto/skewer-mode")
4395 (synopsis "Live web development in Emacs")
4396 (description
4397 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
4398 a web browser. Expressions are sent on-the-fly from an editing buffer to be
4399 evaluated in the browser, just like Emacs does with an inferior Lisp process
4400 in Lisp modes.")
4401 (license license:unlicense)))
4402
4403 (define-public emacs-litable
4404 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
4405 (package
4406 (name "emacs-litable")
4407 (version (git-version "0.1" "0" commit))
4408 (source (origin
4409 (method git-fetch)
4410 (uri (git-reference
4411 (url "https://github.com/Fuco1/litable")
4412 (commit commit)))
4413 (file-name (git-file-name name version))
4414 (sha256
4415 (base32
4416 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
4417 (build-system emacs-build-system)
4418 (propagated-inputs
4419 `(("emacs-dash" ,emacs-dash)))
4420 (home-page "https://github.com/Fuco1/litable/")
4421 (synopsis "Dynamic evaluation replacement with Emacs")
4422 (description "This package provides dynamic evaluation in Emacs.")
4423 (license license:gpl3+))))
4424
4425 (define-public emacs-literate-calc-mode
4426 (let ((commit "a50e897a816cb5580ad6ec867eeaae212e0e4798")
4427 (revision "1"))
4428 (package
4429 (name "emacs-literate-calc-mode")
4430 (version (git-version "0.1" revision commit))
4431 (source
4432 (origin
4433 (method git-fetch)
4434 (uri (git-reference
4435 (url "https://github.com/sulami/literate-calc-mode.el")
4436 (commit commit)))
4437 (file-name (git-file-name name version))
4438 (sha256
4439 (base32 "0z6y5f1rj28lbr30m6g4a9l6ahs66whi8861g4cx9xzhs84nwv5g"))))
4440 (build-system emacs-build-system)
4441 (propagated-inputs
4442 `(("emacs-s" ,emacs-s)))
4443 (home-page "https://github.com/sulami/literate-calc-mode.el")
4444 (synopsis "Literate programming for Emacs Calc")
4445 (description
4446 "This library provides literate programming for Calc. There is both
4447 a major and a minor mode. The major mode does some basic syntax highlighting,
4448 while the minor mode only evaluates all Calc statements while typing. In
4449 particular, the minor mode works quite well with Org or Markdown modes, or
4450 other markup language major modes.")
4451 (license license:gpl3+))))
4452
4453 (define-public emacs-standard-dirs
4454 (package
4455 (name "emacs-standard-dirs")
4456 (version "2.0.0")
4457 (home-page "https://github.com/lafrenierejm/standard-dirs.el")
4458 (source
4459 (origin
4460 (method git-fetch)
4461 (uri (git-reference
4462 (url home-page)
4463 (commit version)))
4464 (file-name (git-file-name name version))
4465 (sha256
4466 (base32 "0r814qcrhvx4qlx4sdzwdmrhiryslqclx0bnpp0qcrbx6g8qfl25"))))
4467 (build-system emacs-build-system)
4468 (propagated-inputs
4469 `(("emacs-f" ,emacs-f)
4470 ("emacs-s" ,emacs-s)))
4471 (synopsis "Platform-specific paths for config, cache, and other data")
4472 (description
4473 "This package provides platform-specific paths for reading and writing
4474 configuration, cache, and other data.")
4475 (license license:gpl3+)))
4476
4477 (define-public emacs-string-inflection
4478 (package
4479 (name "emacs-string-inflection")
4480 (version "1.0.12")
4481 (source (origin
4482 (method git-fetch)
4483 (uri (git-reference
4484 (url "https://github.com/akicho8/string-inflection")
4485 (commit (string-append "v" version))))
4486 (file-name (git-file-name name version))
4487 (sha256
4488 (base32
4489 "0f3nkfdpngax4zfw75jca2wywwh31ha6ywddh4125lbxi3y6m7s9"))))
4490 (build-system emacs-build-system)
4491 (native-inputs
4492 `(("ert-runner" ,emacs-ert-runner)))
4493 (arguments
4494 `(#:tests? #t
4495 #:test-command '("ert-runner")))
4496 (home-page "https://github.com/akicho8/string-inflection")
4497 (synopsis "Convert symbol names between different naming conventions")
4498 (description
4499 "This Emacs package provides convenient methods for manipulating the
4500 naming style of a symbol. It supports different naming conventions such as:
4501
4502 @enumerate
4503 @item camel case
4504 @item Pascal case
4505 @item all upper case
4506 @item lower case separated by underscore
4507 @item etc...
4508 @end enumerate\n")
4509 (license license:gpl2+)))
4510
4511 (define-public emacs-stripe-buffer
4512 (package
4513 (name "emacs-stripe-buffer")
4514 (version "0.2.5")
4515 (source
4516 (origin
4517 (method git-fetch)
4518 (uri (git-reference
4519 (url "https://github.com/sabof/stripe-buffer")
4520 (commit version)))
4521 (file-name (git-file-name name version))
4522 (sha256
4523 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
4524 (build-system emacs-build-system)
4525 (home-page "https://github.com/sabof/stripe-buffer/")
4526 (synopsis "Add stripes to list buffers")
4527 (description
4528 "This Emacs package adds faces to add stripes to list buffers and org
4529 tables.")
4530 (license license:gpl2+)))
4531
4532 (define-public emacs-org-beautify-theme
4533 ;; Latest release (0.4) is not tagged, use commit hash.
4534 (let ((commit "df6a1114fda313e1689363e196c8284fbe2a2738")
4535 (revision "0"))
4536 (package
4537 (name "emacs-org-beautify-theme")
4538 (version "0.4")
4539 (source
4540 (origin
4541 (method git-fetch)
4542 (uri (git-reference
4543 (url "https://github.com/jonnay/org-beautify-theme")
4544 (commit commit)))
4545 (file-name (git-file-name name version))
4546 (sha256
4547 (base32 "1lkz7736swimad12khwbbqc4gxjydgr1k45p4mx03s25pv1w920y"))))
4548 (build-system emacs-build-system)
4549 (home-page "https://github.com/jonnay/org-beautify-theme")
4550 (synopsis "Theme to make Org mode look more beautiful")
4551 (description
4552 "The theme adds padding between headings, increases the size of titles,
4553 strike through completed TODO headings, changes Org blocks, changes Org check
4554 boxes, and more.")
4555 (license license:gpl3+))))
4556
4557 (define-public emacs-org-rich-yank
4558 (package
4559 (name "emacs-org-rich-yank")
4560 (version "0.2.1")
4561 (source
4562 (origin
4563 (method git-fetch)
4564 (uri (git-reference
4565 (url "https://github.com/unhammer/org-rich-yank")
4566 (commit (string-append "v" version))))
4567 (file-name (git-file-name name version))
4568 (sha256
4569 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
4570 (build-system emacs-build-system)
4571 (home-page "https://github.com/unhammer/org-rich-yank")
4572 (synopsis "Automatically surround source code pasted into Org with
4573 @code{#+BEGIN_SRC} blocks")
4574 (description
4575 "This package provides a utility function for Org buffers that makes a
4576 @code{_SRC} block with the appropriate language annotation for code that has
4577 been copied from an Emacs major mode.")
4578 (license license:gpl2+)))
4579
4580 (define-public emacs-org-fancy-priorities
4581 (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86")
4582 (revision "1"))
4583 (package
4584 (name "emacs-org-fancy-priorities")
4585 (version (git-version "1.1" revision commit))
4586 (source
4587 (origin
4588 (method git-fetch)
4589 (uri (git-reference
4590 (url "https://github.com/harrybournis/org-fancy-priorities.git")
4591 (commit commit)))
4592 (file-name (git-file-name name version))
4593 (sha256
4594 (base32
4595 "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv"))))
4596 (build-system emacs-build-system)
4597 (home-page "https://github.com/harrybournis/org-fancy-priorities")
4598 (synopsis "Display org priorities as custom strings")
4599 (description
4600 "This package provides a minor mode that displays Org priorities as
4601 custom strings. This mode does not change your files in any way, it only
4602 displays the priority part of a heading as your preferred string value.")
4603 (license license:expat))))
4604
4605 (define-public emacs-org-fragtog
4606 (package
4607 (name "emacs-org-fragtog")
4608 (version "0.3.1")
4609 (source
4610 (origin
4611 (method git-fetch)
4612 (uri (git-reference
4613 (url "https://github.com/io12/org-fragtog.git")
4614 (commit version)))
4615 (file-name (git-file-name name version))
4616 (sha256
4617 (base32 "1szkx3n9gk6799rxv0jb3096pn2ssz82536x9a98xqwbimy4kvn6"))))
4618 (build-system emacs-build-system)
4619 (propagated-inputs
4620 `(("emacs-org" ,emacs-org)))
4621 (home-page "https://github.com/io12/org-fragtog")
4622 (synopsis "Toggle Org mode LaTeX fragments preview at cursor")
4623 (description
4624 "Org mode supports inline image previews of LaTeX fragments. This
4625 package automates this, so fragment previews are disabled for editing when
4626 your cursor steps onto them, and re-enabled when the cursor leaves.")
4627 (license license:gpl3+)))
4628
4629 (define-public emacs-ob-erlang
4630 (let ((revision "1")
4631 (commit "f1a8c665b8f7d0ab32267a9961de8eed872e6333"))
4632 (package
4633 (name "emacs-ob-erlang")
4634 (version (git-version "20180827" revision commit))
4635 (source (origin
4636 (method git-fetch)
4637 (uri (git-reference
4638 (url "https://github.com/xfwduke/ob-erlang")
4639 (commit commit)))
4640 (file-name (git-file-name name version))
4641 (sha256
4642 (base32
4643 "0b5zajqiy6955yvlqwy92prrqy89lqchsv4ss2ylws3p4s14rhij"))))
4644 (build-system emacs-build-system)
4645 (home-page "https://github.com/xfwduke/ob-erlang/")
4646 (synopsis "Org-babel support for Erlang")
4647 (description "This package adds support for working with Erlang code
4648 blocks with @code{org-babel} in @code{org-mode}.")
4649 (license license:gpl3+))))
4650
4651 (define-public emacs-ob-restclient
4652 (let ((commit "f7449b2068498fe9d8ab9589e0a638148861533f"))
4653 (package
4654 (name "emacs-ob-restclient")
4655 (version (git-version "0.02" "2" commit))
4656 (source
4657 (origin
4658 (method git-fetch)
4659 (uri (git-reference
4660 (url "https://github.com/alf/ob-restclient.el")
4661 (commit commit)))
4662 (file-name (git-file-name name version))
4663 (sha256
4664 (base32 "0s3931w9ab3yfml2pmq71rw21yf6hpg7m3vihxyy3vs6zli1cvmq"))))
4665 (propagated-inputs
4666 `(("emacs-restclient" ,emacs-restclient)))
4667 (build-system emacs-build-system)
4668 (home-page "https://github.com/alf/ob-restclient.el")
4669 (synopsis "Org-babel functionality for @code{restclient-mode}")
4670 (description
4671 "This package integrates @code{restclient-mode} with Org.")
4672 (license license:gpl3+))))
4673
4674 (define-public emacs-org-now
4675 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
4676 (package
4677 (name "emacs-org-now")
4678 (version (git-version "0.1-pre" "1" commit))
4679 (source
4680 (origin
4681 (method git-fetch)
4682 (uri (git-reference
4683 (url "https://github.com/alphapapa/org-now")
4684 (commit commit)))
4685 (file-name (git-file-name name version))
4686 (sha256
4687 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
4688 (propagated-inputs
4689 `(("emacs-dash" ,emacs-dash)))
4690 (build-system emacs-build-system)
4691 (home-page "https://github.com/alphapapa/org-now")
4692 (synopsis "Show current Org tasks in a sidebar")
4693 (description
4694 "This package provides commands to show Org headings in a sidebar
4695 window while working on them. After defining one heading as the \"now\"
4696 heading, other headings can be refiled to it with one command, and back to
4697 their original location with another.")
4698 (license license:gpl3+))))
4699
4700 (define-public emacs-rich-minority
4701 (package
4702 (name "emacs-rich-minority")
4703 (version "1.0.3")
4704 (source
4705 (origin
4706 (method git-fetch)
4707 (uri (git-reference
4708 (url "https://github.com/Malabarba/rich-minority")
4709 (commit version)))
4710 (file-name (git-file-name name version))
4711 (sha256
4712 (base32
4713 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
4714 (build-system emacs-build-system)
4715 (home-page "https://github.com/Malabarba/rich-minority")
4716 (synopsis "Clean-up and beautify the list of minor modes")
4717 (description
4718 "This Emacs package hides and/or highlights minor modes in the
4719 mode-line.")
4720 (license license:gpl2+)))
4721
4722 (define-public emacs-robe
4723 (package
4724 (name "emacs-robe")
4725 (version "0.8.2")
4726 (source
4727 (origin
4728 (method git-fetch)
4729 (uri (git-reference
4730 (url "https://github.com/dgutov/robe")
4731 (commit version)))
4732 (file-name (git-file-name name version))
4733 (sha256
4734 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
4735 (build-system emacs-build-system)
4736 (arguments
4737 '(#:include (cons "^lib\\/" %default-include)))
4738 (propagated-inputs
4739 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
4740 (home-page "https://github.com/dgutov/robe")
4741 (synopsis "Ruby code assistance tool for Emacs")
4742 (description
4743 "Robe can provide information on loaded classes and modules in Ruby code,
4744 as well as where methods are defined. This allows the user to jump to method
4745 definitions, modules and classes, display method documentation and provide
4746 method and constant name completion.")
4747 (license license:gpl3+)))
4748
4749 (define-public emacs-robot-mode
4750 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
4751 (revision "1"))
4752 (package
4753 (name "emacs-robot-mode")
4754 (version (git-version "0.0.0" revision commit))
4755 (source (origin
4756 (method git-fetch)
4757 (uri (git-reference
4758 ;; A better maintained fork of robot-mode.
4759 (url "https://github.com/jvalkeejarvi/robot-mode")
4760 (commit commit)))
4761 (file-name (git-file-name name version))
4762 (sha256
4763 (base32
4764 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
4765 (build-system emacs-build-system)
4766 (propagated-inputs `(("emacs-s" ,emacs-s)))
4767 (home-page "https://github.com/jvalkeejarvi/robot-mode")
4768 (synopsis "Emacs mode for Robot Framework")
4769 (description "This major mode facilitates editing Robot Framework source
4770 files with features such as syntax highlighting, comments, finding keywords,
4771 completing keywords and smart indentation.")
4772 (license license:gpl3+))))
4773
4774 (define-public emacs-roguel-ike
4775 ;; Tagged branch is outdated.
4776 (let ((revision "0")
4777 (commit "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))
4778 (package
4779 (name "emacs-roguel-ike")
4780 (version (git-version "0.1.0" revision commit))
4781 (source
4782 (origin
4783 (method git-fetch)
4784 (uri (git-reference
4785 (url "https://github.com/stevenremot/roguel-ike")
4786 (commit commit)))
4787 (file-name (git-file-name name version))
4788 (sha256
4789 (base32 "0rgv4y9aa5cc2ddz3y5z8d22xmr8kf5c60h0r3g8h91jmcw3rb4z"))))
4790 (build-system emacs-build-system)
4791 (propagated-inputs
4792 `(("emacs-popup" ,emacs-popup)))
4793 (arguments
4794 `(#:include (cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include)
4795 #:phases
4796 (modify-phases %standard-phases
4797 (add-before 'check 'set-test-environment
4798 (lambda _
4799 (setenv "HOME" "/tmp")
4800 #t)))))
4801 (home-page "https://github.com/stevenremot/roguel-ike.git")
4802 (synopsis "Coffee-break roguelike for Emacs")
4803 (description
4804 "Roguel-ike is an attempt to develop a coffee-break roguelike for
4805 Emacs. The complete game would allow the player to create various characters
4806 and to make them fulfill challenges like arena fight and short dungeon
4807 explorations.")
4808 (license license:gpl3+))))
4809
4810 (define-public emacs-rspec
4811 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
4812 (revision "1"))
4813 (package
4814 (name "emacs-rspec")
4815 (version (git-version "1.11" revision commit))
4816 (source
4817 (origin
4818 (method git-fetch)
4819 (uri (git-reference
4820 (url "https://github.com/pezra/rspec-mode")
4821 (commit commit)))
4822 (file-name (git-file-name name version))
4823 (sha256
4824 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
4825 (build-system emacs-build-system)
4826 (arguments
4827 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
4828 #:tests? #t
4829 #:test-command '("make" "test")))
4830 (home-page "https://github.com/pezra/rspec-mode")
4831 (synopsis "Provides a rspec mode for working with RSpec")
4832 (description
4833 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
4834 verify the spec associated with the current buffer, or entire project, as well
4835 as moving between the spec files, and corresponding code files.
4836
4837 Also included are keybindings for spec files and Dired buffers, as well as
4838 snippets for yasnippet.")
4839 (license license:gpl3+))))
4840
4841 (define-public emacs-mode-line-idle
4842 ;; Package has no release. Version is extracted from "Version:" keyword in
4843 ;; main file.
4844 (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241")
4845 (revision "1"))
4846 (package
4847 (name "emacs-mode-line-idle")
4848 (version (git-version "0.1" revision commit))
4849 (source
4850 (origin
4851 (method git-fetch)
4852 (file-name (git-file-name name version))
4853 (uri (git-reference
4854 (url "https://gitlab.com/ideasman42/emacs-mode-line-idle")
4855 (commit commit)))
4856 (sha256
4857 (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"))))
4858 (build-system emacs-build-system)
4859 (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle")
4860 (synopsis "Simple delayed text evaluation for the mode-line")
4861 (description
4862 "Mode Line Idle provides a convenient way to defer text evaluation
4863 which integrates into existing mode-line without requiring a minor mode or
4864 configuration.")
4865 (license license:gpl3+))))
4866
4867 (define-public emacs-smart-mode-line
4868 (package
4869 (name "emacs-smart-mode-line")
4870 (version "2.13")
4871 (source
4872 (origin
4873 (method git-fetch)
4874 (uri (git-reference
4875 (url "https://github.com/Malabarba/smart-mode-line")
4876 (commit version)))
4877 (file-name (git-file-name name version))
4878 (sha256
4879 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
4880 (build-system emacs-build-system)
4881 (propagated-inputs
4882 `(("emacs-rich-minority" ,emacs-rich-minority)))
4883 (home-page "https://github.com/Malabarba/smart-mode-line")
4884 (synopsis "Color-coded smart mode-line")
4885 (description
4886 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
4887 read from small to large monitors by using colors, a prefix feature, and smart
4888 truncation.")
4889 (license license:gpl2+)))
4890
4891 (define-public emacs-sqlite
4892 ;; XXX: There is no tagged commit.
4893 (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797")
4894 (revision "0"))
4895 (package
4896 (name "emacs-sqlite")
4897 (build-system emacs-build-system)
4898 (version (git-version "1.0" revision commit))
4899 (source
4900 (origin
4901 (method git-fetch)
4902 (uri (git-reference
4903 (url "https://gitlab.com/cnngimenez/sqlite.el")
4904 (commit commit)))
4905 (file-name (git-file-name name version))
4906 (sha256
4907 (base32 "06ln4vijl8kii3nzc5cscgsadx1fqgxksflijd3ain83bn8g4wrd"))))
4908 (home-page "https://gitlab.com/cnngimenez/sqlite.el")
4909 (synopsis "SQLite interface for Emacs Lisp")
4910 (description "Emacs SQLite is a simple SQLite interface for connecting
4911 and retrieving information using the SQLite program through Elisp programming.
4912 It is not intended as a user interface.")
4913 (license license:gpl3+))))
4914
4915 (define-public emacs-sr-speedbar
4916 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
4917 (revision "0"))
4918 (package
4919 (name "emacs-sr-speedbar")
4920 (version (git-version "20161025" revision commit))
4921 (source
4922 (origin
4923 (method git-fetch)
4924 (uri (git-reference
4925 (url "https://github.com/emacsorphanage/sr-speedbar")
4926 (commit commit)))
4927 (file-name (git-file-name name version))
4928 (sha256
4929 (base32
4930 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
4931 (build-system emacs-build-system)
4932 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
4933 (synopsis "Same frame Emacs @code{speedbar}")
4934 (description
4935 "This Emacs package allows you to show @code{M-x speedbar} in the
4936 same frame (in an extra window). You can customize the initial width of
4937 the speedbar window.")
4938 (license license:gpl3+))))
4939
4940 (define-public emacs-shell-switcher
4941 (package
4942 (name "emacs-shell-switcher")
4943 (version "1.0.1")
4944 (source
4945 (origin
4946 (method git-fetch)
4947 (uri (git-reference
4948 (url "https://github.com/DamienCassou/shell-switcher")
4949 (commit (string-append "v" version))))
4950 (file-name (git-file-name name version))
4951 (sha256
4952 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
4953 (build-system emacs-build-system)
4954 (home-page "https://github.com/DamienCassou/shell-switcher")
4955 (synopsis "Provide fast switching between shell buffers")
4956 (description
4957 "This package provides commands to quickly switch between shell buffers.")
4958 (license license:gpl3+)))
4959
4960 (define-public emacs-shx
4961 (package
4962 (name "emacs-shx")
4963 (version "1.5.0")
4964 (source (origin
4965 (method git-fetch)
4966 (uri (git-reference
4967 (url "https://github.com/riscy/shx-for-emacs")
4968 (commit (string-append "v" version))))
4969 (file-name (git-file-name name version))
4970 (sha256
4971 (base32 "1cb5w6p9gnfxgh8qp7yj2f5ibpk1b4b5af3ynldaaj6yfpa8hqzn"))))
4972 (build-system emacs-build-system)
4973 (arguments
4974 `(#:tests? #t
4975 #:test-command
4976 '("emacs" "--batch" "--quiet"
4977 "--script" "test/script.el")))
4978 (home-page "https://github.com/riscy/shx-for-emacs")
4979 (synopsis "Extras for the comint-mode shell")
4980 (description
4981 "This package extends @code{comint-mode}: it parses markup in the output
4982 stream, enabling plots and graphics to be embedded, and adds command-line
4983 functions which plug into Emacs (e.g. use @code{:e <filename>} to edit a
4984 file).")
4985 (license license:gpl3+)))
4986
4987 (define-public emacs-names
4988 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
4989 (version "20151201.0")
4990 (revision "8"))
4991 (package
4992 (name "emacs-names")
4993 (version (git-version version revision commit))
4994 (source
4995 (origin
4996 (method git-fetch)
4997 (uri (git-reference
4998 (url "https://github.com/Malabarba/names")
4999 (commit commit)))
5000 (file-name (git-file-name name version))
5001 (sha256
5002 (base32
5003 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
5004 (build-system emacs-build-system)
5005 (home-page "https://github.com/Malabarba/names/")
5006 (synopsis "Namespace implementation for Emacs Lisp")
5007 (description
5008 "This package provides a macro that writes your namespaces for you.")
5009 (license license:gpl3+))))
5010
5011 (define-public emacs-nameless
5012 (package
5013 (name "emacs-nameless")
5014 (version "1.0.2")
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url "https://github.com/Malabarba/Nameless")
5020 (commit version)))
5021 (file-name (git-file-name name version))
5022 (sha256
5023 (base32 "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"))))
5024 (build-system emacs-build-system)
5025 (home-page "https://github.com/Malabarba/nameless")
5026 (synopsis "Hide package namespace in your Emacs-lisp code")
5027 (description
5028 "This package provides a @code{nameless-mode} minor mode in which the
5029 package namespace prefix is ​​hidden by a colon.")
5030 (license license:gpl2+)))
5031
5032 (define-public emacs-evil-leader
5033 (package
5034 (name "emacs-evil-leader")
5035 (version "0.4.3")
5036 (source
5037 (origin
5038 (method git-fetch)
5039 (uri
5040 (git-reference
5041 (url "https://github.com/cofi/evil-leader")
5042 (commit version)))
5043 (file-name (git-file-name name version))
5044 (sha256
5045 (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5"))))
5046 (inputs
5047 `(("emacs-evil" ,emacs-evil)))
5048 (build-system emacs-build-system)
5049 (home-page "https://github.com/cofi/evil-leader")
5050 (synopsis "Implement <leader> feature from Vim")
5051 (description
5052 "Evil Leader provides the @code{<leader>} feature from Vim that provides
5053 an easy way to bind keys under a configurable prefix key.")
5054 (license license:gpl3+)))
5055
5056 (define-public emacs-evil-textobj-syntax
5057 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
5058 (version "0")
5059 (revision "1"))
5060 (package
5061 (name "emacs-evil-textobj-syntax")
5062 (version (git-version version revision commit))
5063 (source
5064 (origin
5065 (method git-fetch)
5066 (uri (git-reference
5067 (url "https://github.com/laishulu/evil-textobj-syntax/")
5068 (commit commit)))
5069 (file-name (git-file-name name version))
5070 (sha256
5071 (base32
5072 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
5073 (build-system emacs-build-system)
5074 (propagated-inputs `(("emacs-evil" ,emacs-evil)
5075 ("emacs-names" ,emacs-names)))
5076 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
5077 (synopsis "Text objects based on syntax highlighting")
5078 (description
5079 "This package provides text objects for @code{evil-mode} with
5080 boundaries defined by syntax highlighting.")
5081 (license license:gpl3+))))
5082
5083 (define-public emacs-flycheck-flow
5084 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
5085 (version "1.1")
5086 (revision "1"))
5087 (package
5088 (name "emacs-flycheck-flow")
5089 (version (git-version version revision commit))
5090 (source
5091 (origin
5092 (method git-fetch)
5093 (uri (git-reference
5094 (url "https://github.com/lbolla/emacs-flycheck-flow")
5095 (commit commit)))
5096 (file-name (git-file-name name version))
5097 (sha256
5098 (base32
5099 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
5100 (build-system emacs-build-system)
5101 (propagated-inputs
5102 `(("emacs-flycheck" ,emacs-flycheck)))
5103 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
5104 (synopsis "Flow support for @code{flycheck-mode}")
5105 (description
5106 "This package allows @code{flycheck-mode} to provide syntax-checking
5107 for Flow files.")
5108 (license license:gpl3+))))
5109
5110 (define-public emacs-flycheck-grammalecte
5111 (package
5112 (name "emacs-flycheck-grammalecte")
5113 (version "1.3")
5114 (source
5115 (origin
5116 (method git-fetch)
5117 (uri (git-reference
5118 (url "https://git.umaneti.net/flycheck-grammalecte/")
5119 (commit (string-append "v" version))))
5120 (file-name (git-file-name name version))
5121 (sha256
5122 (base32 "0ih0nakal36is0dci82gx4ijrvnpz9jpw1adprfara2cf8dx4rk6"))))
5123 (build-system emacs-build-system)
5124 (arguments
5125 `(#:include (cons "\\.py$" %default-include)
5126 #:exclude '("^test-profile.el$")
5127 #:emacs ,emacs ;need libxml support
5128 #:phases
5129 (modify-phases %standard-phases
5130 (add-after 'unpack 'specify-python-location
5131 ;; Hard-code python3 executable location in the library.
5132 (lambda* (#:key inputs #:allow-other-keys)
5133 (let ((python3 (string-append (assoc-ref inputs "python")
5134 "/bin/python3")))
5135 (substitute* "flycheck-grammalecte.el"
5136 (("\"python3") (string-append "\"" python3)))
5137 (substitute* '("conjugueur.py" "flycheck-grammalecte.py")
5138 (("/usr/bin/env python3?") python3))
5139 #t)))
5140 (add-after 'unpack 'specify-grammalecte-location
5141 (lambda* (#:key inputs #:allow-other-keys)
5142 (make-file-writable "flycheck-grammalecte.el")
5143 (emacs-substitute-variables "flycheck-grammalecte.el"
5144 ("flycheck-grammalecte-grammalecte-directory"
5145 (string-append (assoc-ref inputs "grammalecte")
5146 "/lib/python"
5147 ,(version-major+minor (package-version python))
5148 "/site-packages/grammalecte")))
5149 #t))
5150 (add-after 'unpack 'do-not-phone-home
5151 ;; The package wants to check upstream Grammalecte version to
5152 ;; decide if an update is in order. Always return version
5153 ;; installed so it doesn't phone home and doesn't install anything.
5154 (lambda _
5155 (substitute* "flycheck-grammalecte.el"
5156 (("\\(flycheck-grammalecte--grammalecte-upstream-version\\)")
5157 ,(format #f "\"~a\"" (package-version grammalecte)))))))))
5158 (inputs
5159 `(("grammalecte" ,grammalecte)
5160 ("python" ,python)))
5161 (propagated-inputs
5162 `(("emacs-flycheck" ,emacs-flycheck)))
5163 (home-page "https://git.umaneti.net/flycheck-grammalecte/")
5164 (synopsis "Integrate Grammalecte with Flycheck")
5165 (description
5166 "Integrate the French grammar and typography checker Grammalecte with
5167 Flycheck to automatically look for mistakes in your writings. It also
5168 provides an easy way to find synonyms and antonyms for a given word (to avoid
5169 repetitions for example).")
5170 (license license:gpl3+)))
5171
5172 (define-public emacs-flycheck-guile
5173 (package
5174 (name "emacs-flycheck-guile")
5175 (version "0.2")
5176 (source
5177 (origin
5178 (method git-fetch)
5179 (uri
5180 (git-reference
5181 (url "https://github.com/flatwhatson/flycheck-guile")
5182 (commit version)))
5183 (file-name (git-file-name name version))
5184 (sha256
5185 (base32 "0cs5r0ik6a3bl1k3imjl0r8y1i69kx9x9m9cgxj470qk34brwyj5"))))
5186 (propagated-inputs
5187 `(("emacs-flycheck" ,emacs-flycheck)
5188 ("emacs-geiser" ,emacs-geiser)))
5189 (build-system emacs-build-system)
5190 (home-page "https://github.com/flatwhatson/flycheck-guile")
5191 (synopsis "GNU Guile support for Flycheck")
5192 (description
5193 "This package provides a Flycheck checker for GNU Guile using @code{guild
5194 compile}.")
5195 (license license:gpl3+)))
5196
5197 (define-public emacs-flycheck-ledger
5198 (package
5199 (name "emacs-flycheck-ledger")
5200 (version "0.5")
5201 (source
5202 (origin
5203 (method git-fetch)
5204 (uri (git-reference
5205 (url "https://github.com/purcell/flycheck-ledger")
5206 (commit version)))
5207 (file-name (git-file-name name version))
5208 (sha256
5209 (base32 "1djrj3is0dzrl2703bw7bclf33dp4xqmy144q7xj5pvpb9v3kf50"))))
5210 (inputs `(("ledger" ,ledger)))
5211 (arguments
5212 `(#:phases
5213 (modify-phases %standard-phases
5214 (add-after 'unpack 'configure
5215 (lambda* (#:key inputs outputs #:allow-other-keys)
5216 (let ((ledger (assoc-ref inputs "ledger")))
5217 ;; Specify the absolute executable location of ledger.
5218 (substitute* "flycheck-ledger.el"
5219 (("\"ledger\"") (string-append "\"" ledger "\""))))
5220 #t)))))
5221 (propagated-inputs
5222 `(("emacs-flycheck" ,emacs-flycheck)))
5223 (build-system emacs-build-system)
5224 (home-page "https://github.com/purcell/flycheck-ledger")
5225 (synopsis "Ledger support for Flycheck")
5226 (description
5227 "This Flycheck checker uses the output of @code{ledger balance} on the
5228 current file to find errors such as unbalanced transactions and syntax
5229 errors.")
5230 (license license:gpl3+)))
5231
5232 (define-public emacs-flycheck-rust
5233 (package
5234 (name "emacs-flycheck-rust")
5235 (version "1.1")
5236 (source
5237 (origin
5238 (method git-fetch)
5239 (uri
5240 (git-reference
5241 (url "https://github.com/flycheck/flycheck-rust")
5242 (commit version)))
5243 (file-name (git-file-name name version))
5244 (sha256
5245 (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"))))
5246 (propagated-inputs
5247 `(("emacs-dash" ,emacs-dash)
5248 ("emacs-flycheck" ,emacs-flycheck)
5249 ("emacs-let-alist" ,emacs-let-alist)))
5250 (build-system emacs-build-system)
5251 (home-page "https://github.com/flycheck/flycheck-rust")
5252 (synopsis "Rust/Cargo support for Flycheck")
5253 (description
5254 "This Flycheck extension configures Flycheck automatically for
5255 the current Cargo project.")
5256 (license license:gpl3+)))
5257
5258 (define-public emacs-elisp-demos
5259 (package
5260 (name "emacs-elisp-demos")
5261 (version "2020.02.19")
5262 (source
5263 (origin
5264 (method git-fetch)
5265 (uri (git-reference
5266 (url "https://github.com/xuchunyang/elisp-demos")
5267 (commit version)))
5268 (file-name (git-file-name name version))
5269 (sha256
5270 (base32
5271 "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc"))))
5272 (build-system emacs-build-system)
5273 (arguments
5274 `(#:include '("\\.el$" "\\.org$")
5275 #:tests? #t
5276 #:test-command '("make" "test")))
5277 (home-page "https://github.com/xuchunyang/elisp-demos/")
5278 (synopsis "Enhance @code{*Help*} buffers with additional examples")
5279 (description
5280 "This package injects example uses of Elisp functions into their
5281 respective @code{*Help*} buffers.")
5282 (license license:gpl3+)))
5283
5284 (define-public emacs-docker-compose-mode
5285 (package
5286 (name "emacs-docker-compose-mode")
5287 (version "1.1.0")
5288 (source
5289 (origin
5290 (method git-fetch)
5291 (uri (git-reference
5292 (url "https://github.com/meqif/docker-compose-mode")
5293 (commit version)))
5294 (file-name (git-file-name name version))
5295 (sha256
5296 (base32
5297 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
5298 (build-system emacs-build-system)
5299 (propagated-inputs
5300 `(("emacs-dash" ,emacs-dash)
5301 ("emacs-f" ,emacs-f)
5302 ("emacs-yaml-mode" ,emacs-yaml-mode)))
5303 (home-page "https://github.com/meqif/docker-compose-mode/")
5304 (synopsis "Major mode for editing @file{docker-compose} files")
5305 (description
5306 "This is a major mode for @file{docker-compose} files that provides
5307 completion of relevant keywords.")
5308 (license license:expat)))
5309
5310 (define-public emacs-dvc
5311 (let ((revision "591") ;no tags or official releases
5312 (guix-revision "1"))
5313 (package
5314 (name "emacs-dvc")
5315 (version (string-append "0.0.0-" guix-revision "." revision))
5316 (source
5317 (origin
5318 (method bzr-fetch)
5319 (uri (bzr-reference
5320 (url "lp:dvc")
5321 (revision revision)))
5322 (sha256
5323 (base32
5324 "03pqn493w70wcpgaxvqnfgynxghw114l9pyiv3r414d84vzhan6h"))
5325 (file-name (string-append name "-" version "-checkout"))))
5326 (build-system gnu-build-system)
5327 (arguments
5328 `(#:configure-flags
5329 (list (string-append "--with-lispdir=" (assoc-ref %outputs "out")
5330 "/share/emacs/site-lisp/"))
5331 #:tests? #f ;no test suite
5332 #:phases
5333 (modify-phases %standard-phases
5334 (add-before 'build 'set-home
5335 ;; Something in dvc-bookmarks.el attempts to write config files in
5336 ;; $HOME during the autoload generation.
5337 (lambda _ (setenv "HOME" (getenv "TMPDIR")) #t))
5338 (add-before 'build 'fix-texinfo
5339 ;; See https://bugs.launchpad.net/dvc/+bug/1264383.
5340 (lambda _
5341 (substitute* "texinfo/dvc-intro.texinfo"
5342 (("@itemx update ``to''")
5343 "@item update ``to''")
5344 (("@itemx brief")
5345 "@item brief")
5346 (("@itemx full")
5347 "@item full")
5348 (("@itemx drop")
5349 "@item drop")
5350 (("@itemx left file")
5351 "@item left file"))
5352 #t)))))
5353 (native-inputs
5354 `(("autoconf" ,autoconf)
5355 ("automake" ,automake) ;for aclocal
5356 ("emacs" ,emacs-minimal)
5357 ("texinfo" ,texinfo)))
5358 (home-page "http://xsteve.at/prg/emacs_dvc/index.html")
5359 (synopsis "Emacs front-end for various distributed version control systems.")
5360 (description "DVC is a legacy Emacs front-end for a number of
5361 distributed version control systems. It currently supports GNU Arch, GNU
5362 Bazaar, git, Mercurial, and Monotone. It also provides some integration with
5363 Gnus, e.g., for applying patches received by email.")
5364 (license license:gpl2+))))
5365
5366 (define-public emacs-sudo-edit
5367 (package
5368 (name "emacs-sudo-edit")
5369 (version "0.1.1")
5370 (source
5371 (origin
5372 (method git-fetch)
5373 (uri (git-reference
5374 (url "https://github.com/nflath/sudo-edit")
5375 (commit (string-append "v" version))))
5376 (file-name (git-file-name name version))
5377 (sha256
5378 (base32 "1hncxbg5lvywzkwvdmzvrz71midy4samjq2vvxxhz90z1y5l8l29"))))
5379 (build-system emacs-build-system)
5380 (native-inputs
5381 `(("emacs-undercover" ,emacs-undercover)))
5382 (arguments
5383 `(#:emacs ,emacs
5384 #:phases
5385 (modify-phases %standard-phases
5386 (add-before 'check 'fix-makefile
5387 (lambda _
5388 (substitute* "Makefile"
5389 (("\\$\\(CASK\\) exec ") ""))
5390 #t)))
5391 #:tests? #t
5392 #:test-command '("make" "test")))
5393 (home-page "https://github.com/nflath/sudo-edit/")
5394 (synopsis "Open files as another user")
5395 (description
5396 "This package allows editing files as another user, including the root
5397 user.")
5398 (license license:gpl3+)))
5399
5400 (define-public emacs-miniedit
5401 (package
5402 (name "emacs-miniedit")
5403 (version "2.0")
5404 (source
5405 (origin
5406 (method git-fetch)
5407 (uri (git-reference
5408 (url "https://github.com/emacsmirror/miniedit")
5409 (commit version)))
5410 (file-name (git-file-name name version))
5411 (sha256
5412 (base32
5413 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
5414 (build-system emacs-build-system)
5415 (home-page "https://github.com/emacsmirror/miniedit/")
5416 (synopsis "Enhanced editing for minibuffer fields")
5417 (description
5418 "This package provides a function that can be called from the
5419 minibuffer to enable editing the minibuffer input in another buffer with
5420 @code{text-mode} enabled.")
5421 (license license:gpl2+)))
5422
5423 (define-public emacs-ob-ipython
5424 (package
5425 (name "emacs-ob-ipython")
5426 (version "20180224")
5427 (source (origin
5428 (method git-fetch)
5429 (uri (git-reference
5430 (commit "7147455230841744fb5b95dcbe03320313a77124")
5431 (url "https://github.com/gregsexton/ob-ipython")))
5432 (file-name (git-file-name name version))
5433 (sha256
5434 (base32
5435 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
5436 (build-system emacs-build-system)
5437 (propagated-inputs
5438 `(("emacs-f" ,emacs-f)))
5439 (home-page "http://www.gregsexton.org")
5440 (synopsis "Org-Babel functions for IPython evaluation")
5441 (description "This package adds support to Org-Babel for evaluating Python
5442 source code using IPython.")
5443 (license license:gpl3+)))
5444
5445 (define-public emacs-debbugs
5446 (package
5447 (name "emacs-debbugs")
5448 (version "0.28")
5449 (source
5450 (origin
5451 (method url-fetch)
5452 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
5453 version ".tar"))
5454 (sha256
5455 (base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0"))))
5456 (build-system emacs-build-system)
5457 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
5458 (propagated-inputs
5459 `(("emacs-async" ,emacs-async)))
5460 (home-page "https://elpa.gnu.org/packages/debbugs.html")
5461 (synopsis "Access the Debbugs bug tracker in Emacs")
5462 (description
5463 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
5464 Tracker} from within Emacs.
5465
5466 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
5467 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
5468 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
5469 @code{M-x debbugs-org} and related commands.
5470
5471 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
5472 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
5473 (license license:gpl3+)))
5474
5475 (define-public emacs-ert-expectations
5476 (package
5477 (name "emacs-ert-expectations")
5478 (version "0.2")
5479 (source
5480 (origin
5481 (method url-fetch)
5482 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
5483 (sha256
5484 (base32
5485 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
5486 (build-system emacs-build-system)
5487 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
5488 (synopsis "Simple unit test framework for Emacs Lisp")
5489 (description "@code{emacs-ert-expectations} is a simple unit test
5490 framework for Emacs Lisp to be used with @code{ert}.")
5491 (license license:gpl3+)))
5492
5493 (define-public emacs-deferred
5494 (package
5495 (name "emacs-deferred")
5496 (version "0.5.1")
5497 (home-page "https://github.com/kiwanami/emacs-deferred")
5498 (source (origin
5499 (method git-fetch)
5500 (uri (git-reference
5501 (url home-page)
5502 (commit (string-append "v" version))))
5503 (file-name (git-file-name name version))
5504 (sha256
5505 (base32
5506 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
5507 (build-system emacs-build-system)
5508 (arguments
5509 `(#:phases
5510 (modify-phases %standard-phases
5511 (add-after 'unpack 'set-shell
5512 ;; Setting the SHELL environment variable is required for the tests
5513 ;; to find sh.
5514 (lambda _
5515 (setenv "SHELL" (which "sh"))
5516 #t))
5517 (add-before 'check 'fix-makefile
5518 (lambda _
5519 (substitute* "Makefile"
5520 (("\\$\\(CASK\\) exec ") ""))
5521 #t)))
5522 #:tests? #t
5523 #:test-command '("make" "test")))
5524 (native-inputs
5525 `(("emacs-ert-expectations" ,emacs-ert-expectations)
5526 ("emacs-undercover" ,emacs-undercover)
5527 ("ert-runner" ,emacs-ert-runner)))
5528 (synopsis "Simple asynchronous functions for Emacs Lisp")
5529 (description
5530 "The @code{deferred.el} library provides support for asynchronous tasks.
5531 The API is almost the same as that of
5532 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
5533 for asynchronous tasks.")
5534 (license license:gpl3+)))
5535
5536 (define-public emacs-butler
5537 (package
5538 (name "emacs-butler")
5539 (version "0.2.4")
5540 (home-page "https://github.com/AshtonKem/Butler")
5541 (source (origin
5542 (method git-fetch)
5543 (uri (git-reference
5544 (url home-page)
5545 (commit version)))
5546 (file-name (git-file-name name version))
5547 (sha256
5548 (base32
5549 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
5550 (build-system emacs-build-system)
5551 (propagated-inputs
5552 `(("emacs-deferred" ,emacs-deferred)))
5553 (synopsis "Emacs client for Jenkins")
5554 (description
5555 "Butler provides an interface to connect to Jenkins continuous
5556 integration servers. Users can specify a list of server in the
5557 @code{butler-server-list} variable and then use @code{M-x butler-status} to
5558 view the build status of those servers' build jobs, and possibly to trigger
5559 build jobs.")
5560 (license license:gpl3+)))
5561
5562 (define-public emacs-tup-mode
5563 (package
5564 (name "emacs-tup-mode")
5565 (version "1.3.1")
5566 (source
5567 (origin
5568 (method git-fetch)
5569 (uri (git-reference
5570 (url "https://github.com/ejmr/tup-mode")
5571 (commit (string-append "v" version))))
5572 (file-name (git-file-name name version))
5573 (sha256
5574 (base32 "0asd024n5v23wdsg1959sszq568wg3a1bp4jrk0cllfji1z0n78y"))))
5575 (build-system emacs-build-system)
5576 (home-page "https://github.com/ejmr/tup-mode")
5577 (synopsis "Major mode for editing ``tupfiles'' used by the Tup build system")
5578 (description
5579 "Tup mode provides syntax highlighting for all of the elements of
5580 tupfiles, such as rule definitions, user-defined variables, macros, flags, bin
5581 variables, and so on. The mode also allows you to execute Tup commands.")
5582 (license license:gpl3+)))
5583
5584 (define-public emacs-company
5585 (package
5586 (name "emacs-company")
5587 (version "0.9.13")
5588 (source
5589 (origin
5590 (method url-fetch)
5591 (uri (string-append "https://elpa.gnu.org/packages/"
5592 "company-" version ".tar"))
5593 (sha256
5594 (base32 "1c9x9wlzzsn7vrsm57l2l44nqx455saa6wrm853szzg09qn8dlnw"))))
5595 (build-system emacs-build-system)
5596 (home-page "https://company-mode.github.io/")
5597 (synopsis "Modular text completion framework")
5598 (description
5599 "Company is a modular completion mechanism. Modules for retrieving
5600 completion candidates are called back-ends, modules for displaying them are
5601 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
5602 These are distributed in separate files and can be used individually.")
5603 (license license:gpl3+)))
5604
5605 (define-public emacs-company-box
5606 ;; There is no release yet. Version is extracted from the main
5607 ;; file.
5608 (let ((version "0.0.1")
5609 (revision "0")
5610 (commit "be37a9a30dc112ab172af21af694e2cb04a74f85"))
5611 (package
5612 (name "emacs-company-box")
5613 (version (git-version version revision commit))
5614 (source
5615 (origin
5616 (method git-fetch)
5617 (uri (git-reference
5618 (url "https://github.com/sebastiencs/company-box")
5619 (commit commit)))
5620 (file-name (git-file-name name version))
5621 (sha256
5622 (base32 "13fgmdy51gqdwijqfvb784pirx4lgva0y7ysi0c3fcx8f82cdj59"))))
5623 (build-system emacs-build-system)
5624 (propagated-inputs
5625 `(("emacs-company" ,emacs-company)
5626 ("emacs-dash" ,emacs-dash)
5627 ("emacs-frame-local" ,emacs-frame-local)))
5628 (home-page "https://github.com/sebastiencs/company-box")
5629 (synopsis "Company front-end with icons")
5630 (description
5631 "Company box is a Company front-end. It supports different
5632 colors for different backends, associates icons to functions,
5633 variables... and their backends, and displays candidate's
5634 documentation. It is not limited by the current window size or
5635 buffer's text properties.
5636
5637 This package is not compatible with a TTY.")
5638 (license license:gpl3+))))
5639
5640 (define-public emacs-company-posframe
5641 (package
5642 (name "emacs-company-posframe")
5643 (version "0.5.0")
5644 (source (origin
5645 (method git-fetch)
5646 (uri (git-reference
5647 (url "https://github.com/tumashu/company-posframe")
5648 (commit (string-append "v" version))))
5649 (file-name (git-file-name name version))
5650 (sha256
5651 (base32
5652 "05ays6xkqbxcfplvx7wfc2slflmwc3aw7vkixvabk0ilvisndvgm"))))
5653 (build-system emacs-build-system)
5654 (propagated-inputs
5655 `(("emacs-company" ,emacs-company)
5656 ("emacs-posframe" ,emacs-posframe)))
5657 (home-page "https://github.com/tumashu/company-posframe")
5658 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
5659 (description
5660 "Allows @code{emacs-company} to use child frames for its candidate menus.
5661
5662 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
5663 languages.")
5664 (license license:gpl3+)))
5665
5666 (define-public emacs-irony-mode
5667 (package
5668 (name "emacs-irony-mode")
5669 (version "1.4.0")
5670 (home-page "https://github.com/Sarcasm/irony-mode")
5671 (source (origin
5672 (method git-fetch)
5673 (uri (git-reference
5674 (url (string-append home-page ".git"))
5675 (commit (string-append "v" version))))
5676 (file-name (git-file-name name version))
5677 (sha256
5678 (base32
5679 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
5680 (build-system emacs-build-system)
5681 (inputs `(("server" ,emacs-irony-mode-server)))
5682 (arguments `(#:phases
5683 (modify-phases %standard-phases
5684 (add-after 'unpack 'configure
5685 (lambda* (#:key inputs #:allow-other-keys)
5686 (chmod "irony.el" #o644)
5687 (emacs-substitute-variables "irony.el"
5688 ("irony-server-install-prefix"
5689 (assoc-ref inputs "server")))
5690 #t)))))
5691 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
5692 (description "Irony-mode provides Clang-assisted syntax checking and
5693 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
5694 provide syntax checking and autocompletion on compiler level which is very
5695 resistant against false positives. It also integrates well with other
5696 packages like @code{eldoc-mode} and especially @code{company-mode} as
5697 described on the homepage.")
5698 (license license:gpl3+)))
5699
5700 (define-public emacs-irony-mode-server
5701 (package (inherit emacs-irony-mode)
5702 (name "emacs-irony-mode-server")
5703 (inputs
5704 `(("clang" ,clang)))
5705 (arguments
5706 `(#:phases
5707 (modify-phases %standard-phases
5708 (replace 'configure
5709 (lambda* (#:key outputs #:allow-other-keys)
5710 (let ((out (assoc-ref outputs "out")))
5711 (invoke "cmake"
5712 "server"
5713 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
5714 (build-system cmake-build-system)
5715 (synopsis "Server for the Emacs @dfn{irony mode}")))
5716
5717 (define-public emacs-company-irony
5718 (package
5719 (name "emacs-company-irony")
5720 (version "1.1.0")
5721 (source (origin
5722 (method git-fetch)
5723 (uri (git-reference
5724 (url "https://github.com/Sarcasm/company-irony")
5725 (commit (string-append "v" version))))
5726 (sha256 (base32
5727 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
5728 (file-name (git-file-name name version))))
5729 (build-system emacs-build-system)
5730 (inputs
5731 `(("emacs-irony-mode" ,emacs-irony-mode)
5732 ("emacs-company" ,emacs-company)))
5733 (synopsis "C++ completion backend for Company using irony-mode")
5734 (description "This backend for company-mode allows for C++ code completion
5735 with irony-mode using clang-tooling.")
5736 (home-page "https://github.com/Sarcasm/company-irony")
5737 (license license:gpl3+)))
5738
5739 (define-public emacs-flycheck-irony
5740 (package
5741 (name "emacs-flycheck-irony")
5742 (version "0.1.0")
5743 (source (origin
5744 (method git-fetch)
5745 (uri (git-reference
5746 (url "https://github.com/Sarcasm/flycheck-irony")
5747 (commit (string-append "v" version))))
5748 (file-name (git-file-name name version))
5749 (sha256
5750 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
5751 (build-system emacs-build-system)
5752 (inputs
5753 `(("irony-mode" ,emacs-irony-mode)
5754 ("flycheck-mode" ,emacs-flycheck)
5755 ("emacs-company" ,emacs-company)))
5756 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
5757 (description "This package provides a frontend for Flycheck that lets
5758 irony-mode do the syntax checking.")
5759 (home-page "https://github.com/Sarcasm/flycheck-irony")
5760 (license license:gpl3+)))
5761
5762 (define-public emacs-irony-eldoc
5763 (package
5764 (name "emacs-irony-eldoc")
5765 (version (package-version emacs-irony-mode))
5766 (source
5767 (origin
5768 (method git-fetch)
5769 (uri (git-reference
5770 (url "https://github.com/ikirill/irony-eldoc")
5771 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
5772 (file-name (git-file-name name version))
5773 (sha256
5774 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
5775 (build-system emacs-build-system)
5776 (inputs
5777 `(("irony-mode" ,emacs-irony-mode)))
5778 (synopsis "Eldoc integration for irony-mode")
5779 (description "Irony-eldoc is an eldoc extension that shows documentation
5780 for the current function or variable in the minibuffer.")
5781 (home-page "https://github.com/ikirill/irony-eldoc")
5782 (license license:gpl3+)))
5783
5784 (define-public emacs-company-quickhelp
5785 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
5786 ;; so we use the latest 2.2.0 commit instead
5787 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
5788 (revision "1"))
5789 (package
5790 (name "emacs-company-quickhelp")
5791 (version (git-version "2.2.0" revision commit))
5792 (source
5793 (origin
5794 (method git-fetch)
5795 (uri (git-reference
5796 (url "https://github.com/expez/company-quickhelp")
5797 (commit commit)))
5798 (file-name (git-file-name name version))
5799 (sha256
5800 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
5801 (build-system emacs-build-system)
5802 (propagated-inputs
5803 `(("emacs-pos-tip" ,emacs-pos-tip)
5804 ("emacs-company" ,emacs-company)))
5805 (home-page "https://github.com/expez/company-quickhelp")
5806 (synopsis "Popup documentation for completion candidates")
5807 (description "@code{company-quickhelp} shows documentation for the
5808 completion candidate when using the Company text completion framework.")
5809 (license license:gpl3+))))
5810
5811 (define-public emacs-math-symbol-lists
5812 (package
5813 (name "emacs-math-symbol-lists")
5814 (version "1.3")
5815 (source
5816 (origin
5817 (method git-fetch)
5818 (uri (git-reference
5819 (url "https://github.com/vspinu/math-symbol-lists")
5820 (commit (string-append "v" version))))
5821 (file-name (git-file-name name version))
5822 (sha256
5823 (base32 "1r2i600356k8g0l53s4b5xc24flpka664i8f23zbj4h7gk1g2787"))))
5824 (build-system emacs-build-system)
5825 (home-page "https://github.com/vspinu/math-symbol-lists")
5826 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
5827 (description "This is a storage package used by completion engines like
5828 @code{company-math}.")
5829 (license license:gpl3+)))
5830
5831 (define-public emacs-company-coq
5832 (package
5833 (name "emacs-company-coq")
5834 (version "1.0.1")
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri
5839 (git-reference
5840 (url "https://github.com/cpitclaudel/company-coq")
5841 (commit version)))
5842 (file-name (git-file-name name version))
5843 (sha256
5844 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
5845 (inputs
5846 `(("emacs-company" ,emacs-company)
5847 ("emacs-company-math" ,emacs-company-math)
5848 ("emacs-dash" ,emacs-dash)
5849 ("emacs-yasnippet" ,emacs-yasnippet)))
5850 (build-system emacs-build-system)
5851 (home-page "https://github.com/cpitclaudel/company-coq")
5852 (synopsis "Emacs extensions for Proof General's Coq mode")
5853 (description "This package includes a collection of Company mode backends
5854 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
5855 features:
5856
5857 @itemize
5858 @item Prettification of operators, types, and subscripts,
5859 @item Auto-completion,
5860 @item Insertion of cases,
5861 @item Fully explicit intros,
5862 @item Outlines, code folding, and jumping to definition,
5863 @item Help with errors,
5864 @item and more.
5865 @end itemize")
5866 (license license:gpl3+)))
5867
5868 (define-public emacs-company-math
5869 (package
5870 (name "emacs-company-math")
5871 (version "1.4")
5872 (source
5873 (origin
5874 (method git-fetch)
5875 (uri (git-reference
5876 (url "https://github.com/vspinu/company-math")
5877 (commit (string-append "v" version))))
5878 (file-name (git-file-name name version))
5879 (sha256
5880 (base32 "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1"))))
5881 (build-system emacs-build-system)
5882 (propagated-inputs
5883 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
5884 ("emacs-company" ,emacs-company)))
5885 (home-page "https://github.com/vspinu/company-math")
5886 (synopsis "Completion backends for math symbols and @code{LaTeX} tags")
5887 (description
5888 "This package provides a backend for use with Company mode allowing for
5889 completion of common math symbols.")
5890 (license license:gpl3+)))
5891
5892 (define-public emacs-compdef
5893 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
5894 (revision "2"))
5895 (package
5896 (name "emacs-compdef")
5897 (version (git-version "0.2" revision commit))
5898 (source
5899 (origin
5900 (method git-fetch)
5901 (uri (git-reference
5902 (url "https://gitlab.com/jjzmajic/compdef.git")
5903 (commit commit)))
5904 (file-name (git-file-name name version))
5905 (sha256
5906 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
5907 (build-system emacs-build-system)
5908 (home-page "https://gitlab.com/jjzmajic/compdef")
5909 (synopsis "Set local completion backends")
5910 (description "This package provides a function to cleanly set local
5911 completion backends according to mode, and integrates with
5912 @code{use-package}.")
5913 (license license:gpl3+))))
5914
5915 (define-public emacs-icomplete-vertical
5916 (package
5917 (name "emacs-icomplete-vertical")
5918 (version "0.3")
5919 (source
5920 (origin
5921 (method git-fetch)
5922 (uri (git-reference
5923 (url "https://github.com/oantolin/icomplete-vertical")
5924 (commit version)))
5925 (file-name (git-file-name name version))
5926 (sha256
5927 (base32 "02v190pb802vck7di39jyf5prvmfsgcxln8mgwsls2b4clx9da97"))))
5928 (build-system emacs-build-system)
5929 (home-page "https://github.com/oantolin/icomplete-vertical")
5930 (synopsis "Display Icomplete candidates vertically")
5931 (description
5932 "This package defines a global minor mode to display Icomplete
5933 completion candidates vertically.")
5934 (license license:gpl3+)))
5935
5936 (define-public emacs-handle
5937 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
5938 (revision "2"))
5939 (package
5940 (name "emacs-handle")
5941 (version (git-version "0.1" revision commit))
5942 (source
5943 (origin
5944 (method git-fetch)
5945 (uri (git-reference
5946 (url "https://gitlab.com/jjzmajic/handle.git")
5947 (commit commit)))
5948 (file-name (git-file-name name version))
5949 (sha256
5950 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
5951 (build-system emacs-build-system)
5952 (propagated-inputs
5953 `(("emacs-parent-mode" ,emacs-parent-mode)))
5954 (home-page "https://gitlab.com/jjzmajic/handle")
5955 (synopsis "Handle generic functions across related major modes")
5956 (description "This package provides generic functions that specialize on
5957 major modes and intended purpose rather than on arguments. Different
5958 callables for tasks like expression evaluation, definition-jumping, and more
5959 can now be grouped accordingly and tried in sequence until one of them
5960 succeeds.")
5961 (license license:gpl3+))))
5962
5963 (define-public emacs-nswbuff
5964 (package
5965 (name "emacs-nswbuff")
5966 (version "1.2.1")
5967 (source
5968 (origin
5969 (method git-fetch)
5970 (uri (git-reference
5971 (url "https://github.com/joostkremers/nswbuff")
5972 (commit version)))
5973 (file-name (git-file-name name version))
5974 (sha256
5975 (base32 "1sswhr52rp8c4v4fv30sww1gadbdrlk3l35j8xmqfw6hbgzxb5dn"))))
5976 (build-system emacs-build-system)
5977 (home-page "https://github.com/joostkremers/nswbuff")
5978 (synopsis "Quickly switch between buffers")
5979 (description "This package allows for navigating between buffers within
5980 a customizable list.")
5981 (license license:gpl3+)))
5982
5983 (define-public emacs-phi-search
5984 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
5985 (revision "1"))
5986 (package
5987 (name "emacs-phi-search")
5988 (version (git-version "20160630" revision commit))
5989 (source
5990 (origin
5991 (method git-fetch)
5992 (uri (git-reference
5993 (url "https://github.com/zk-phi/phi-search")
5994 (commit commit)))
5995 (file-name (git-file-name name version))
5996 (sha256
5997 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
5998 (build-system emacs-build-system)
5999 (home-page "https://github.com/zk-phi/phi-search")
6000 (synopsis "Interactive search compatible with @code{multiple-cursors}")
6001 (description "This package can be used with @code{multiple-cursors} to
6002 provide an incremental search that moves all fake cursors in sync.")
6003 (license license:gpl2+))))
6004
6005 (define-public emacs-phi-search-mc
6006 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
6007 (revision "1"))
6008 (package
6009 (name "emacs-phi-search-mc")
6010 (version (git-version "2.2.1" revision commit))
6011 (source
6012 (origin
6013 (method git-fetch)
6014 (uri (git-reference
6015 (url "https://github.com/knu/phi-search-mc.el")
6016 (commit commit)))
6017 (file-name (git-file-name name version))
6018 (sha256
6019 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
6020 (build-system emacs-build-system)
6021 (propagated-inputs
6022 `(("emacs-phi-search" ,emacs-phi-search)
6023 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
6024 (home-page "https://github.com/knu/phi-search-mc.el")
6025 (synopsis "Extend @code{phi-search} with additional
6026 @code{multiple-cursors} functionality")
6027 (description "This package provides further integration between
6028 @code{multiple-cursors} and @code{phi-search}, a package that allows for
6029 interactive searches to move multiple fake cursors.")
6030 (license license:bsd-2))))
6031
6032 (define-public emacs-multiple-cursors
6033 (package
6034 (name "emacs-multiple-cursors")
6035 (version "1.4.0")
6036 (source
6037 (origin
6038 (method git-fetch)
6039 (uri (git-reference
6040 (url "https://github.com/magnars/multiple-cursors.el")
6041 (commit version)))
6042 (file-name (git-file-name name version))
6043 (sha256
6044 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
6045 (build-system emacs-build-system)
6046 (home-page "https://github.com/magnars/multiple-cursors.el")
6047 (synopsis "Multiple cursors for Emacs")
6048 (description
6049 "This package adds support to Emacs for editing text with multiple
6050 simultaneous cursors.")
6051 (license license:gpl3+)))
6052
6053 (define-public emacs-multifiles
6054 ;; There is no tag and no "Version:" keyword. Using the latest release
6055 ;; instead.
6056 (let ((commit "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897")
6057 (revision "1"))
6058 (package
6059 (name "emacs-multifiles")
6060 (version (git-version "0" revision commit))
6061 (source
6062 (origin
6063 (method git-fetch)
6064 (uri (git-reference
6065 (url "https://github.com/magnars/multifiles.el")
6066 (commit commit)))
6067 (file-name (git-file-name name version))
6068 (sha256
6069 (base32 "065l04ylplng1vgykkbn2vnkcs3sn1k2cikx1ha2q8wmgx6bkvai"))))
6070 (build-system emacs-build-system)
6071 (propagated-inputs
6072 `(("emacs-dash" ,emacs-dash)))
6073 (home-page "https://github.com/magnars/multifiles.el")
6074 (synopsis "Edit multiple files in a single Emacs buffer")
6075 (description
6076 "This package allows one to view and edit parts of multiple files in
6077 one Emacs buffer.")
6078 (license license:gpl3+))))
6079
6080 (define-public emacs-mc-extras
6081 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
6082 (revision "1"))
6083 (package
6084 (name "emacs-mc-extras")
6085 (version (git-version "1.2.4" revision commit))
6086 (source
6087 (origin
6088 (method git-fetch)
6089 (uri (git-reference
6090 (url "https://github.com/knu/mc-extras.el")
6091 (commit commit)))
6092 (file-name (git-file-name name version))
6093 (sha256
6094 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
6095 (build-system emacs-build-system)
6096 (propagated-inputs
6097 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
6098 (home-page "https://github.com/knu/mc-extras.el")
6099 (synopsis "Extra functions for manipulating multiple cursors")
6100 (description
6101 "This package provides additional functions for
6102 @code{multiple-cursors}, including functions for marking s-expressions,
6103 comparing characters, removing cursors, and more.")
6104 (license license:bsd-2))))
6105
6106 (define-public emacs-typo
6107 (package
6108 (name "emacs-typo")
6109 (version "1.1")
6110 (home-page "https://github.com/jorgenschaefer/typoel")
6111 (source (origin
6112 (method git-fetch)
6113 (uri (git-reference
6114 (url home-page)
6115 (commit (string-append "v" version))))
6116 (file-name (git-file-name name version))
6117 (sha256
6118 (base32
6119 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
6120 (build-system emacs-build-system)
6121 (synopsis "Minor mode for typographic editing")
6122 (description
6123 "This package provides two Emacs modes, @code{typo-mode} and
6124 @code{typo-global-mode}. These modes automatically insert Unicode characters
6125 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
6126 automatically inserts a Unicode opening or closing quotation mark, depending
6127 on context.")
6128 (license license:gpl3+)))
6129
6130 (define-public emacs-company-lsp
6131 (package
6132 (name "emacs-company-lsp")
6133 (version "2.1.0")
6134 (source (origin
6135 (method git-fetch)
6136 (uri (git-reference
6137 (url "https://github.com/tigersoldier/company-lsp")
6138 (commit version)))
6139 (file-name (git-file-name name version))
6140 (sha256
6141 (base32
6142 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
6143 (build-system emacs-build-system)
6144 (propagated-inputs
6145 `(("emacs-dash" ,emacs-dash)
6146 ("emacs-lsp-mode" ,emacs-lsp-mode)
6147 ("emacs-company" ,emacs-company)
6148 ("emacs-s" ,emacs-s)
6149 ("emacs-dash" ,emacs-dash)))
6150 (native-inputs
6151 `(("emacs-buttercup" ,emacs-buttercup)))
6152 (arguments
6153 `(#:tests? #t
6154 #:test-command '("buttercup" "-L" ".")))
6155 (home-page "https://github.com/tigersoldier/company-lsp")
6156 (synopsis "Completion for @code{lsp-mode}")
6157 (description
6158 "This package provides completion features that are not possible with
6159 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
6160 characters and asynchronous fetching of completion candidates.")
6161 (license license:gpl3+)))
6162
6163 (define-public emacs-scala-mode
6164 (package
6165 (name "emacs-scala-mode")
6166 (version "1.1.0")
6167 (source
6168 (origin
6169 (method git-fetch)
6170 (uri (git-reference
6171 (url "https://github.com/hvesalai/emacs-scala-mode")
6172 (commit (string-append "v" version))))
6173 (file-name (git-file-name name version))
6174 (sha256
6175 (base32 "1072lsin7dxadc0xyhy42wd0cw549axbbd4dy95wfmfcc1xbzjwv"))))
6176 (build-system emacs-build-system)
6177 (home-page "https://github.com/hvesalai/emacs-scala-mode")
6178 (synopsis "Emacs major mode for Scala")
6179 (description
6180 "This package provides basic Emacs support for the Scala language,
6181 including: local indenting of code, comments and multi-line strings, motion
6182 commands and highlighting.")
6183 ;; There are no copyright headers in the source code. The LICENSE file
6184 ;; indicates GPL3.
6185 (license license:gpl3)))
6186
6187 (define-public emacs-sbt-mode
6188 (package
6189 (name "emacs-sbt-mode")
6190 (version "2.0.0")
6191 (source
6192 (origin
6193 (method git-fetch)
6194 (uri (git-reference
6195 (url "https://github.com/hvesalai/emacs-sbt-mode")
6196 (commit (string-append "v" version))))
6197 (file-name (git-file-name name version))
6198 (sha256
6199 (base32 "0lv9ridzk9x6rkf7lj21srnszypyq04vqg05vl10zhpz1yqlnbjd"))))
6200 (build-system emacs-build-system)
6201 (home-page "https://github.com/hvesalai/emacs-sbt-mode")
6202 (synopsis "Basic functionality for interacting with sbt inside Emacs")
6203 (description
6204 "This mode provides basic functionality required for successfully
6205 interacting with sbt inside Emacs. The core functionality includes
6206 interacting with the sbt shell and Scala console, compiling code and
6207 navigation to errors.")
6208 (license license:gpl3+)))
6209
6210 (define-public emacs-scheme-complete
6211 ;; Upstream does not provide tags. The commit below corresponds to the
6212 ;; exact version update. Version is extracted from main file.
6213 (let ((commit "5c0a16684a3be7021d67067b2955f1c3e17a320a"))
6214 (package
6215 (name "emacs-scheme-complete")
6216 (version "0.9.9")
6217 (source
6218 (origin
6219 (method git-fetch)
6220 (uri (git-reference
6221 (url "https://github.com/ashinn/scheme-complete")
6222 (commit commit)))
6223 (file-name (git-file-name name version))
6224 (sha256
6225 (base32 "1smxr5bkzbfrjx21vhrj1wagmqx5yd92i997dbgs16iaqbzzr7cz"))))
6226 (build-system emacs-build-system)
6227 (home-page "https://github.com/ashinn/scheme-complete")
6228 (synopsis "Smart tab completion for Scheme in Emacs")
6229 (description
6230 "This file provides a single function, @code{scheme-smart-complete},
6231 which you can use for intelligent, context-sensitive completion for any Scheme
6232 implementation in Emacs. To use it just load this file and bind that function
6233 to a key in your preferred mode.")
6234 (license license:public-domain))))
6235
6236 (define-public emacs-scel
6237 (let ((version "20170629")
6238 (revision "1")
6239 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
6240 (package
6241 (name "emacs-scel")
6242 (version (git-version version revision commit))
6243 (source
6244 (origin
6245 (method git-fetch)
6246 (uri (git-reference
6247 (url "https://github.com/supercollider/scel")
6248 (commit commit)))
6249 (file-name (git-file-name name version))
6250 (sha256
6251 (base32
6252 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
6253 (build-system emacs-build-system)
6254 (arguments
6255 `(#:modules ((guix build emacs-build-system)
6256 ((guix build cmake-build-system) #:prefix cmake:)
6257 (guix build utils))
6258 #:imported-modules (,@%emacs-build-system-modules
6259 (guix build cmake-build-system))
6260 #:phases
6261 (modify-phases %standard-phases
6262 (add-after 'unpack 'configure
6263 (lambda* (#:key outputs #:allow-other-keys)
6264 (substitute* "el/CMakeLists.txt"
6265 (("share/emacs/site-lisp/SuperCollider")
6266 (elpa-directory (assoc-ref outputs "out"))))
6267 ((assoc-ref cmake:%standard-phases 'configure)
6268 #:outputs outputs
6269 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
6270 (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path
6271 (lambda _
6272 (setenv "EMACSLOADPATH"
6273 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
6274 #t))
6275 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
6276 (inputs
6277 `(("supercollider" ,supercollider)))
6278 (native-inputs
6279 `(("cmake" ,cmake-minimal)))
6280 (home-page "https://github.com/supercollider/scel")
6281 (synopsis "SuperCollider Emacs interface")
6282 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
6283 SuperCollider is a platform for audio synthesis and algorithmic composition.")
6284 (license license:gpl2+))))
6285
6286 (define-public emacs-company-auctex
6287 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
6288 (revision "1"))
6289 (package
6290 (name "emacs-company-auctex")
6291 (version (git-version "0" revision commit))
6292 (source (origin
6293 (method git-fetch)
6294 (uri (git-reference
6295 (url "https://github.com/alexeyr/company-auctex")
6296 (commit commit)))
6297 (file-name (git-file-name name version))
6298 (sha256
6299 (base32
6300 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
6301 (build-system emacs-build-system)
6302 (propagated-inputs
6303 `(("emacs-yasnippet" ,emacs-yasnippet)
6304 ("emacs-auctex" ,emacs-auctex)
6305 ("emacs-company" ,emacs-company)))
6306 (home-page "https://github.com/alexeyr/company-auctex/")
6307 (synopsis "Completion for @code{AUCTeX}")
6308 (description
6309 "This package provides a group of backends permitting auto-completion
6310 for @code{AUCTeX}.")
6311 (license license:gpl3+))))
6312
6313 (define-public emacs-mit-scheme-doc
6314 (package
6315 (name "emacs-mit-scheme-doc")
6316 (version "20140203")
6317 (source
6318 (origin
6319 (modules '((guix build utils)))
6320 (snippet
6321 ;; keep only file of interest
6322 '(begin
6323 (for-each delete-file '("dot-emacs.el" "Makefile"))
6324 (install-file "6.945-config/mit-scheme-doc.el" ".")
6325 (delete-file-recursively "6.945-config")
6326 #t))
6327 (file-name (string-append name "-" version ".tar.bz2"))
6328 (method url-fetch)
6329 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
6330 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
6331 (sha256
6332 (base32
6333 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
6334 (build-system emacs-build-system)
6335 (inputs `(("mit-scheme" ,mit-scheme)))
6336 (arguments
6337 `(#:phases
6338 (modify-phases %standard-phases
6339 (add-after 'unpack 'configure-doc
6340 (lambda* (#:key inputs #:allow-other-keys)
6341 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
6342 (doc-dir (string-append mit-scheme-dir "/share/doc/"
6343 "mit-scheme-"
6344 ,(package-version mit-scheme))))
6345 (substitute* "mit-scheme-doc.el"
6346 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
6347 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
6348 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
6349 (synopsis "MIT-Scheme documentation lookup for Emacs")
6350 (description
6351 "This package provides a set of Emacs functions to search definitions of
6352 identifiers in the MIT-Scheme documentation.")
6353 (license license:gpl2+)))
6354
6355 (define-public emacs-constants
6356 (package
6357 (name "emacs-constants")
6358 (version "2.6")
6359 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
6360 (source
6361 (origin
6362 (method git-fetch)
6363 (uri (git-reference
6364 (url "https://github.com/fedeinthemix/emacs-constants")
6365 (commit (string-append "v" version))))
6366 (file-name (git-file-name name version))
6367 (sha256
6368 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
6369 (build-system emacs-build-system)
6370 (synopsis "Enter definition of constants into an Emacs buffer")
6371 (description
6372 "This package provides functions for inserting the definition of natural
6373 constants and units into an Emacs buffer.")
6374 (license license:gpl2+)))
6375
6376 (define-public emacs-tagedit
6377 (package
6378 (name "emacs-tagedit")
6379 (version "1.4.0")
6380 (source
6381 (origin
6382 (method git-fetch)
6383 (uri (git-reference
6384 (url "https://github.com/magnars/tagedit")
6385 (commit version)))
6386 (file-name (git-file-name name version))
6387 (sha256
6388 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
6389 (build-system emacs-build-system)
6390 (propagated-inputs
6391 `(("emacs-s" ,emacs-s)
6392 ("emacs-dash" ,emacs-dash)))
6393 (home-page "https://github.com/magnars/tagedit")
6394 (synopsis "Some paredit-like features for html-mode")
6395 (description
6396 "This package provides a collection of paredit-like functions for editing
6397 in @code{html-mode}.")
6398 (license license:gpl3+)))
6399
6400 (define-public emacs-slime
6401 (package
6402 (name "emacs-slime")
6403 (version "2.26.1")
6404 (source
6405 (origin
6406 (method git-fetch)
6407 (uri (git-reference
6408 (url "https://github.com/slime/slime")
6409 (commit (string-append "v" version))))
6410 (file-name (git-file-name name version))
6411 (sha256
6412 (base32 "1a25ixb7q4svqabxnhwkk43v47mbsh13qwm7qlazkd3zkr8j3cli"))))
6413 (build-system emacs-build-system)
6414 (native-inputs
6415 `(("texinfo" ,texinfo)))
6416 (arguments
6417 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
6418 #:exclude '("^slime-tests.el" "^contrib/test/"
6419 "^contrib/Makefile$" "^contrib/README.md$")
6420 #:phases
6421 (modify-phases %standard-phases
6422 (add-after 'unpack 'make-git-checkout-writable
6423 (lambda _
6424 (for-each make-file-writable (find-files "."))
6425 #t))
6426 (add-before 'install 'configure
6427 (lambda* _
6428 (emacs-substitute-variables "slime.el"
6429 ("inferior-lisp-program" "sbcl"))
6430 #t))
6431 (add-before 'install 'install-doc
6432 (lambda* (#:key outputs #:allow-other-keys)
6433 (let* ((out (assoc-ref outputs "out"))
6434 (info-dir (string-append out "/share/info"))
6435 (doc-dir (string-append out "/share/doc/"
6436 ,name "-" ,version))
6437 (doc-files '("doc/slime-refcard.pdf"
6438 "README.md" "NEWS" "PROBLEMS"
6439 "CONTRIBUTING.md")))
6440 (with-directory-excursion "doc"
6441 (substitute* "Makefile"
6442 (("infodir=/usr/local/info")
6443 (string-append "infodir=" info-dir)))
6444 (invoke "make" "html/index.html")
6445 (invoke "make" "slime.info")
6446 (install-file "slime.info" info-dir)
6447 (copy-recursively "html" (string-append doc-dir "/html")))
6448 (for-each (lambda (f)
6449 (install-file f doc-dir)
6450 (delete-file f))
6451 doc-files)
6452 (delete-file-recursively "doc")
6453 #t))))))
6454 (home-page "https://github.com/slime/slime")
6455 (synopsis "Superior Lisp Interaction Mode for Emacs")
6456 (description
6457 "SLIME extends Emacs with support for interactive programming in
6458 Common Lisp. The features are centered around @command{slime-mode},
6459 an Emacs minor mode that complements the standard @command{lisp-mode}.
6460 While lisp-mode supports editing Lisp source files, @command{slime-mode}
6461 adds support for interacting with a running Common Lisp process
6462 for compilation, debugging, documentation lookup, and so on.")
6463 (license (list license:gpl2+ license:public-domain))))
6464
6465 (define-public emacs-popup
6466 (package
6467 (name "emacs-popup")
6468 (version "0.5.8")
6469 (source
6470 (origin
6471 (method git-fetch)
6472 (uri (git-reference
6473 (url "https://github.com/auto-complete/popup-el")
6474 (commit (string-append "v" version))))
6475 (file-name (git-file-name name version))
6476 (sha256
6477 (base32 "0qrsz4z9q2bfq9xv4n94mvyslm232v2ql9r1fjycx7rnmpqggiwl"))))
6478 (build-system emacs-build-system)
6479 (home-page "https://github.com/auto-complete/popup-el")
6480 (synopsis "Visual Popup User Interface for Emacs")
6481 (description
6482 "Popup.el is a visual popup user interface library for Emacs.
6483 This provides a basic API and common UI widgets such as popup tooltips
6484 and popup menus.")
6485 (license license:gpl3+)))
6486
6487 (define-public emacs-python-black
6488 (package
6489 (name "emacs-python-black")
6490 (version "1.0.0")
6491 (source
6492 (origin
6493 (method git-fetch)
6494 (uri (git-reference
6495 (url "https://github.com/wbolster/emacs-python-black")
6496 (commit version)))
6497 (file-name (git-file-name name version))
6498 (sha256
6499 (base32
6500 "0fjnd85nlkck156dj6cahk8chhgkbgl2kwywqzi8bl4yj700m4dk"))))
6501 (build-system emacs-build-system)
6502 (propagated-inputs
6503 `(("emacs-dash" ,emacs-dash)
6504 ("emacs-reformatter" ,emacs-reformatter)
6505 ("python-black-macchiato" ,python-black-macchiato)))
6506 (arguments `(#:tests? #f))
6507 (home-page "https://github.com/wbolster/emacs-python-black")
6508 (synopsis "Reformat Python code via @code{python-black}")
6509 (description
6510 "This package makes it easy to reformat Python code using
6511 @code{python-black} and @code{python-black-macchiato} for entire and partial
6512 buffers, respectively.")
6513 (license license:bsd-3)))
6514
6515 (define-public emacs-py-isort
6516 (package
6517 (name "emacs-py-isort")
6518 (version "2016.1")
6519 (source
6520 (origin
6521 (method git-fetch)
6522 (uri (git-reference
6523 (url "https://github.com/paetzke/py-isort.el")
6524 (commit (string-append "v" version))))
6525 (file-name (git-file-name name version))
6526 (sha256
6527 (base32 "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx"))))
6528 (build-system emacs-build-system)
6529 (arguments
6530 `(#:tests? #f)) ;tests fail with "emacs: standard input is not a tty"
6531 (propagated-inputs
6532 `(("python-isort" ,python-isort)))
6533 (home-page "https://github.com/paetzke/py-isort.el")
6534 (synopsis "Sort the imports in Python buffers")
6535 (description
6536 "This package provides commands and a minor mode to sort Python imports
6537 using @code{python-isort}.")
6538 (license license:gpl3+)))
6539
6540 (define-public emacs-python-environment
6541 (package
6542 (name "emacs-python-environment")
6543 (version "0.0.2")
6544 (source
6545 (origin
6546 (method git-fetch)
6547 (uri (git-reference
6548 (url "https://github.com/tkf/emacs-python-environment/")
6549 (commit version)))
6550 (file-name (git-file-name name version))
6551 (sha256
6552 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
6553 (build-system emacs-build-system)
6554 (propagated-inputs
6555 `(("emacs-deferred" ,emacs-deferred)))
6556 (home-page "https://github.com/tkf/emacs-python-environment")
6557 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
6558 (description
6559 "This package permits automated installation of tools written in Python.")
6560 (license license:gpl3+)))
6561
6562 (define-public emacs-jedi
6563 (package
6564 (name "emacs-jedi")
6565 (version "0.2.8")
6566 (source (origin
6567 (method git-fetch)
6568 (uri (git-reference
6569 (url "https://github.com/tkf/emacs-jedi/")
6570 (commit (string-append "v" version))))
6571 (file-name (git-file-name name version))
6572 (sha256
6573 (base32
6574 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
6575 (build-system emacs-build-system)
6576 (native-inputs
6577 `(("emacs-mocker" ,emacs-mocker)))
6578 (propagated-inputs
6579 `(("emacs-auto-complete" ,emacs-auto-complete)
6580 ("emacs-python-environment" ,emacs-python-environment)
6581 ("emacs-epc" ,emacs-epc)))
6582 (home-page "https://github.com/tkf/emacs-jedi")
6583 (synopsis "Provides Python completion in Emacs")
6584 (description
6585 "This package provides completion in Python buffers and also helps find
6586 the locations of docstrings, arguments, and functions.")
6587 (license license:gpl3+)))
6588
6589 (define-public emacs-company-jedi
6590 (package
6591 (name "emacs-company-jedi")
6592 (version "0.04")
6593 (source (origin
6594 (method git-fetch)
6595 (uri (git-reference
6596 (url "https://github.com/syohex/emacs-company-jedi")
6597 (commit version)))
6598 (file-name (git-file-name name version))
6599 (sha256
6600 (base32
6601 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
6602 (build-system emacs-build-system)
6603 (propagated-inputs
6604 `(("emacs-jedi" ,emacs-jedi)
6605 ("emacs-company" ,emacs-company)))
6606 (home-page "https://github.com/syohex/emacs-company-jedi")
6607 (synopsis "Provides Python completion in @code{company-mode}")
6608 (description
6609 "This package provides a Company backend for Python.")
6610 (license license:gpl3+)))
6611
6612 (define-public emacs-puppet-mode
6613 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
6614 (revision "1"))
6615 (package
6616 (name "emacs-puppet-mode")
6617 ;; The last release, 0.3 was several years ago, and there have been many
6618 ;; commits since
6619 (version (git-version "0.3" revision commit))
6620 (source
6621 (origin
6622 (method url-fetch)
6623 (uri (string-append
6624 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
6625 commit "/puppet-mode.el"))
6626 (sha256
6627 (base32
6628 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
6629 (build-system emacs-build-system)
6630 (home-page "https://github.com/voxpupuli/puppet-mode")
6631 (synopsis "Emacs major mode for the Puppet configuration language")
6632 (description
6633 "This package provides support for the Puppet configuration language,
6634 including syntax highlighting, indentation of expressions and statements,
6635 linting of manifests and integration with Puppet Debugger.")
6636 ;; Also incorporates work covered by the Apache License, Version 2.0
6637 (license license:gpl3+))))
6638
6639 (define-public emacs-god-mode
6640 (package
6641 (name "emacs-god-mode")
6642 (version "2.17.0")
6643 (source
6644 (origin
6645 (method git-fetch)
6646 (uri (git-reference
6647 (url "https://github.com/chrisdone/god-mode")
6648 (commit version)))
6649 (file-name (git-file-name name version))
6650 (sha256
6651 (base32
6652 "1d2nrj35fzhnycchi0b7m5mbk5fyq7bgpbkkvc5xzqafclrsnapi"))))
6653 (build-system emacs-build-system)
6654 (home-page "https://github.com/chrisdone/god-mode")
6655 (synopsis "Minor mode for entering commands without modifier keys")
6656 (description
6657 "This package provides a global minor mode for entering Emacs commands
6658 without modifier keys. It's similar to Vim's separation of commands and
6659 insertion mode. When enabled all keys are implicitly prefixed with
6660 @samp{C-} (among other helpful shortcuts).")
6661 (license license:gpl3+)))
6662
6663 (define-public emacs-jinja2-mode
6664 (package
6665 (name "emacs-jinja2-mode")
6666 (version "0.2")
6667 (source
6668 (origin
6669 (method git-fetch)
6670 (uri (git-reference
6671 (url "https://github.com/paradoxxxzero/jinja2-mode")
6672 (commit (string-append "v" version))))
6673 (file-name (git-file-name name version))
6674 (sha256
6675 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
6676 (build-system emacs-build-system)
6677 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
6678 (synopsis "Major mode for jinja2")
6679 (description
6680 "Emacs major mode for jinja2 with: syntax highlighting,
6681 sgml/html integration, and indentation (working with sgml).")
6682 (license license:gpl3+)))
6683
6684 (define-public emacs-company-cabal
6685 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
6686 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
6687 (revision "1"))
6688 (package
6689 (name "emacs-company-cabal")
6690 (version (git-version "0.3.0" revision commit))
6691 (source (origin
6692 (method git-fetch)
6693 (uri (git-reference
6694 (url "https://github.com/iquiw/company-cabal/")
6695 (commit commit)))
6696 (file-name (git-file-name name version))
6697 (sha256
6698 (base32
6699 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
6700 (build-system emacs-build-system)
6701 (propagated-inputs
6702 `(("emacs-company" ,emacs-company)))
6703 (arguments
6704 `(#:include (cons "^tools\\/" %default-include)))
6705 (home-page "https://github.com/iquiw/company-cabal/")
6706 (synopsis "Company completion for Haskell Cabal files")
6707 (description
6708 "This package allows for completion of field names, section names,
6709 field values, and more within @code{haskell-cabal-mode}.")
6710 (license license:gpl3+))))
6711
6712 (define-public emacs-rfcview
6713 (package
6714 (name "emacs-rfcview")
6715 (version "0.13")
6716 (home-page "http://www.loveshack.ukfsn.org/emacs")
6717 (source (origin
6718 (method url-fetch)
6719 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
6720 (sha256
6721 (base32
6722 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
6723 (build-system emacs-build-system)
6724 (synopsis "Prettify Request for Comments (RFC) documents")
6725 (description "The Internet Engineering Task Force (IETF) and the Internet
6726 Society (ISOC) publish various Internet-related protocols and specifications
6727 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
6728 documents. RFCs and STDs are published in a simple text form. This package
6729 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
6730 read these documents in Emacs. It prettifies the text and adds
6731 hyperlinks/menus for easier navigation. It also provides functions for
6732 browsing the index of RFC documents and fetching them from remote servers or
6733 local directories.")
6734 (license license:gpl3+)))
6735
6736 (define-public emacs-ffap-rfc-space
6737 (package
6738 (name "emacs-ffap-rfc-space")
6739 (version "12")
6740 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
6741 (source (origin
6742 (method url-fetch)
6743 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
6744 (sha256
6745 (base32
6746 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
6747 (build-system emacs-build-system)
6748 (synopsis "Make ffap recognize an RFC with a space before its number")
6749 (description "The Internet Engineering Task Force (IETF) and the
6750 Internet Society (ISOC) publish various Internet-related protocols and
6751 specifications as \"Request for Comments\" (RFC) documents. The
6752 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
6753 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
6754 and load the appropriate RFC from a remote server. However, it fails
6755 to recognize a name like \"RFC 1234\". This package enhances ffap so
6756 that it correctly finds RFCs even when a space appears before the
6757 number.")
6758 (license license:gpl3+)))
6759
6760 (define-public emacs-feature-mode
6761 (let ((version "20190801")
6762 (revision "1")
6763 (commit "11ae1671629bfedaa553c7b819676d64eb320992"))
6764 (package
6765 (name "emacs-feature-mode")
6766 (version (git-version version revision commit))
6767 (source (origin
6768 (method git-fetch)
6769 (uri (git-reference
6770 (url "https://github.com/michaelklishin/cucumber.el")
6771 (commit commit)))
6772 (file-name (git-file-name name version))
6773 (sha256
6774 (base32
6775 "0yd4gkxz9xcbgibfgr8apsid3f83nmg5jgqk5nql0linj5gymc28"))))
6776 (build-system emacs-build-system)
6777 (arguments
6778 `(#:include (cons* "^features\\/" "snippets\\/" "^support\\/"
6779 %default-include)))
6780 (home-page "https://github.com/michaelklishin/cucumber.el/")
6781 (synopsis "Emacs mode for editing Gherkin plain text user stories")
6782 (description "Major mode for editing Gherkin (popularized by the
6783 Cucumber tool) user stories. Also known by the name @code{cucumber.el}.")
6784 (license license:gpl2+))))
6785
6786 (define-public emacs-org-bullets
6787 (package
6788 (name "emacs-org-bullets")
6789 (version "0.2.4")
6790 (source
6791 (origin
6792 (method git-fetch)
6793 (uri (git-reference
6794 (url "https://github.com/sabof/org-bullets")
6795 (commit version)))
6796 (file-name (git-file-name name version))
6797 (sha256
6798 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
6799 (build-system emacs-build-system)
6800 (home-page "https://github.com/sabof/org-bullets")
6801 (synopsis "Show bullets in org-mode as UTF-8 characters")
6802 (description
6803 "This package provides an Emacs minor mode causing bullets in
6804 @code{org-mode} to be rendered as UTF-8 characters.")
6805 (license license:gpl3+)))
6806
6807 (define-public emacs-org-appear
6808 (let ((commit "19ea96e6e2ce01b8583b25a6e5579f1be207a119")
6809 (revision "1"))
6810 (package
6811 (name "emacs-org-appear")
6812 (version (git-version "0.0.1" revision commit)) ;no upstream release
6813 (source (origin
6814 (method git-fetch)
6815 (uri (git-reference
6816 (url "https://github.com/awth13/org-appear")
6817 (commit commit)))
6818 (file-name (git-file-name name version))
6819 (sha256
6820 (base32
6821 "064kdb3z4zr9sa7qi5921cqh8vj226ifl8x1bkc59qd9a1p34ghd"))))
6822 (build-system emacs-build-system)
6823 (home-page "https://github.com/awth13/org-appear")
6824 (synopsis "Make invisible parts of Org fragments appear visible")
6825 (description "This package enables automatic visibility toggling of
6826 org-mode elements depending on cursor position. Hidden fragment parts appear
6827 when the cursor enters a fragment and disappear when it leaves.")
6828 (license license:expat))))
6829
6830 (define-public emacs-org-drill
6831 (package
6832 (name "emacs-org-drill")
6833 (version "2.7.0")
6834 (source
6835 (origin
6836 (method git-fetch)
6837 (uri (git-reference
6838 (url "https://gitlab.com/phillord/org-drill")
6839 (commit version)))
6840 (file-name (git-file-name name version))
6841 (sha256
6842 (base32 "13y302lyscdqrba1sfx60yf5ji2xi7fbsvjsjbw7hiz63kg6rccy"))))
6843 (build-system emacs-build-system)
6844 (propagated-inputs
6845 `(("emacs-org" ,emacs-org)
6846 ("emacs-persist" ,emacs-persist)))
6847 (home-page "https://gitlab.com/phillord/org-drill")
6848 (synopsis "Flash card memorization system using Org mode")
6849 (description
6850 "This package uses spaced repetition algorithms to conduct interactive
6851 drill sessions to aid in memorization. In these sessions you are shown flash
6852 cards created in Org mode.")
6853 (license license:gpl3+)))
6854
6855 (define-public emacs-anki-editor
6856 ;; Last release was in 2018.
6857 (let ((commit "546774a453ef4617b1bcb0d1626e415c67cc88df")
6858 (revision "0")
6859 (version "0.3.3"))
6860 (package
6861 (name "emacs-anki-editor")
6862 (version (git-version version revision commit))
6863 (source
6864 (origin
6865 (method git-fetch)
6866 (uri (git-reference
6867 (url "https://github.com/louietan/anki-editor")
6868 (commit commit)))
6869 (file-name (git-file-name name version))
6870 (sha256
6871 (base32 "1if610hq5j8rbjh1caw5bwbgnsn231awwxqbpwvrh966kdxzl4qf"))))
6872 (build-system emacs-build-system)
6873 (propagated-inputs
6874 `(("emacs-dash" ,emacs-dash)
6875 ("emacs-request" ,emacs-request)))
6876 (home-page "https://github.com/louietan/anki-editor")
6877 (synopsis "Minor mode for making Anki cards with Org mode")
6878 (description
6879 "This package is for people who use Anki as a spaced repetition system
6880 (SRS) but would like to make cards in Org mode.")
6881 (license license:gpl3+))))
6882
6883 (define-public emacs-org-mime
6884 (package
6885 (name "emacs-org-mime")
6886 (version "0.2.1")
6887 (source
6888 (origin
6889 (method git-fetch)
6890 (uri (git-reference
6891 (url "https://github.com/org-mime/org-mime")
6892 (commit version)))
6893 (file-name (git-file-name name version))
6894 (sha256
6895 (base32 "0vchyd80ybvr6317dwm50nxcgxfrpc0bz6259vnrh24p5sb8shbj"))))
6896 (build-system emacs-build-system)
6897 (home-page "https://github.com/org-mime/org-mime")
6898 (synopsis "Send HTML email using Org mode HTML export")
6899 (description
6900 "This program sends HTML email using Org-mode HTML export.
6901 This approximates a WYSiWYG HTML mail editor from within Emacs, and can be
6902 useful for sending tables, fontified source code, and inline images in
6903 email.")
6904 (license license:gpl3+)))
6905
6906 (define-public emacs-org-msg
6907 ;; No git tags. The commit below corresponds to the release of version 3.3.
6908 (let ((commit "89e746c0a864031eef940758230bc7263a6f2289"))
6909 (package
6910 (name "emacs-org-msg")
6911 (version "3.3")
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
6916 (url "https://github.com/jeremy-compostella/org-msg")
6917 (commit commit)))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32 "15gd5zbxvdallyra9lmpb9i1r2mmwz0j0i0ra7j9imnbfiz3ln9r"))))
6921 (build-system emacs-build-system)
6922 (propagated-inputs
6923 `(("emacs-htmlize" ,emacs-htmlize)))
6924 (home-page "https://github.com/jeremy-compostella/org-msg")
6925 (synopsis "Mix Org mode and Message mode to compose emails")
6926 (description
6927 "OrgMsg is a GNU Emacs global minor mode mixing up Org mode and your
6928 Mail User Agent Mode (Message, mu4e, or Notmuch) to compose and reply to
6929 emails in a Outlook HTML friendly style.")
6930 (license license:gpl3+))))
6931
6932 (define-public emacs-org-superstar
6933 (package
6934 (name "emacs-org-superstar")
6935 (version "1.5.0")
6936 (source
6937 (origin
6938 (method git-fetch)
6939 (uri (git-reference
6940 (url "https://github.com/integral-dw/org-superstar-mode")
6941 (commit (string-append "v" version))))
6942 (file-name (git-file-name name version))
6943 (sha256
6944 (base32 "12inin2p6pm6vbv3yc06fx343dsp0vp07fjb35w088akhikmqh2a"))))
6945 (build-system emacs-build-system)
6946 (propagated-inputs
6947 `(("emacs-org" ,emacs-org)))
6948 (home-page "https://github.com/integral-dw/org-superstar-mode")
6949 (synopsis "Prettify headings and plain lists in Org mode")
6950 (description "This package prettifies headings and plain lists in
6951 Org mode. It is a direct descendant of @code{org-bullets}, with most
6952 of the code base completely rewritten.
6953
6954 Currently, this package prettifies Org heading lines by:
6955 @itemize
6956 @item replacing trailing bullets by UTF-8 bullets,
6957 @item hiding leading stars, customizing their look or removing them from vision,
6958 @item applying a custom face to the header bullet,
6959 @item applying a custom face to the leading bullets,
6960 @item using double-bullets for inline tasks,
6961 @item (optional) using special bullets for TODO keywords.
6962 @end itemize
6963
6964 It also prettifies Org plain list bullets by:
6965 @itemize
6966 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
6967 @item applying a custom face to item bullets.
6968 @end itemize
6969
6970 Features degrade gracefully when viewed from terminal.")
6971 (license license:gpl3+)))
6972
6973 (define-public emacs-org-pomodoro
6974 ;; Last release version was from 2016.
6975 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
6976 (revision "1"))
6977 (package
6978 (name "emacs-org-pomodoro")
6979 (version (git-version "2.1.0" revision commit))
6980 (source
6981 (origin
6982 (method git-fetch)
6983 (uri (git-reference
6984 (url "https://github.com/marcinkoziej/org-pomodoro")
6985 (commit commit)))
6986 (file-name (git-file-name name version))
6987 (sha256
6988 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
6989 (build-system emacs-build-system)
6990 (propagated-inputs
6991 `(("emacs-alert" ,emacs-alert)))
6992 (arguments
6993 `(#:include (cons "^resources\\/" %default-include)
6994 #:tests? #t
6995 #:test-command '("emacs" "--batch"
6996 "-l" "org-pomodoro-tests.el"
6997 "-f" "ert-run-tests-batch-and-exit")
6998 #:phases
6999 (modify-phases %standard-phases
7000 (add-before 'check 'make-tests-writable
7001 (lambda _
7002 (make-file-writable "org-pomodoro-tests.el")
7003 #t))
7004 (add-before 'check 'add-require
7005 (lambda _
7006 (emacs-batch-edit-file "org-pomodoro-tests.el"
7007 `(progn (progn (goto-char (point-min))
7008 (re-search-forward
7009 "ert-deftest")
7010 (beginning-of-line)
7011 (forward-line -1)
7012 (insert "(require 'org-pomodoro)"))
7013 (basic-save-buffer)))
7014 #t)))))
7015 (home-page "https://github.com/marcinkoziej/org-pomodoro")
7016 (synopsis "Pomodoro technique for org-mode")
7017 (description "@code{emacs-org-pomodoro} adds very basic support for
7018 Pomodoro technique in Emacs org-mode.
7019
7020 Run @code{M-x org-pomodoro} for the task at point or select one of the
7021 last tasks that you clocked time for. Each clocked-in pomodoro starts
7022 a timer of 25 minutes and after each pomodoro a break timer of 5
7023 minutes is started automatically. Every 4 breaks a long break is
7024 started with 20 minutes. All values are customizable.")
7025 (license license:gpl3+))))
7026
7027 (define-public emacs-org-sidebar
7028 (package
7029 (name "emacs-org-sidebar")
7030 (version "0.3.2")
7031 (source
7032 (origin
7033 (method git-fetch)
7034 (uri (git-reference
7035 (url "https://github.com/alphapapa/org-sidebar")
7036 (commit version)))
7037 (file-name (git-file-name name version))
7038 (sha256
7039 (base32 "1r8kp954ciin4j7j7j8ihdkryf5x09s3ryl7bi9h2j6xqc1ij4wq"))))
7040 (build-system emacs-build-system)
7041 (propagated-inputs
7042 `(("emacs-dash" ,emacs-dash)
7043 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
7044 ("emacs-org" ,emacs-org)
7045 ("emacs-org-ql" ,emacs-org-ql)
7046 ("emacs-s" ,emacs-s)))
7047 (home-page "https://github.com/alphapapa/org-sidebar")
7048 (synopsis "Helpful sidebar for Org buffers")
7049 (description "This package provides a sidebar for Org buffers. At the
7050 top is a chronological list of scheduled and deadlined tasks in the current
7051 buffer (similar to the Org agenda ,but without all its features), and below
7052 that is a list of all other non-done to-do items. If the buffer is narrowed,
7053 the sidebar only shows items in the narrowed portion; this allows seeing an
7054 overview of tasks in a subtree.")
7055 (license license:gpl3+)))
7056
7057 (define-public emacs-org-trello
7058 (package
7059 (name "emacs-org-trello")
7060 (version "0.8.1")
7061 (source
7062 (origin
7063 (method git-fetch)
7064 (uri (git-reference
7065 (url "https://github.com/org-trello/org-trello")
7066 (commit version)))
7067 (file-name (git-file-name name version))
7068 (sha256
7069 (base32
7070 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
7071 (build-system emacs-build-system)
7072 (propagated-inputs
7073 `(("emacs-dash" ,emacs-dash)
7074 ("emacs-deferred" ,emacs-deferred)
7075 ("emacs-f" ,emacs-f)
7076 ("emacs-helm" ,emacs-helm)
7077 ("emacs-request" ,emacs-request)
7078 ("emacs-s" ,emacs-s)))
7079 (home-page "https://org-trello.github.io")
7080 (synopsis "Emacs minor mode for interacting with Trello")
7081 (description "This package provides an Emacs minor mode to extend
7082 @code{org-mode} with Trello abilities. Trello is an online project
7083 organizer.")
7084 (license license:gpl3+)))
7085
7086 (define-public emacs-org-tanglesync
7087 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
7088 (revision "2"))
7089 (package
7090 (name "emacs-org-tanglesync")
7091 (version (git-version "0.6" revision commit))
7092 (source
7093 (origin
7094 (method git-fetch)
7095 (uri (git-reference
7096 (url "https://github.com/mtekman/org-tanglesync.el")
7097 (commit commit)))
7098 (file-name (git-file-name name version))
7099 (sha256
7100 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
7101 (build-system emacs-build-system)
7102 (propagated-inputs
7103 `(("emacs-org" ,emacs-org)))
7104 (home-page "https://github.com/mtekman/org-tanglesync.el")
7105 (synopsis "Sync Org source blocks with tangled external files")
7106 (description "This package automatically pulls changes from source code
7107 to their corresponding tangled blocks.")
7108 (license license:gpl3+))))
7109
7110 (define-public emacs-company-flow
7111 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
7112 (revision "1"))
7113 (package
7114 (name "emacs-company-flow")
7115 (version (git-version "0.1.0" revision commit))
7116 (source (origin
7117 (method git-fetch)
7118 (uri (git-reference
7119 (url "https://github.com/aaronjensen/company-flow/")
7120 (commit commit)))
7121 (file-name (git-file-name name version))
7122 (sha256
7123 (base32
7124 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
7125 (build-system emacs-build-system)
7126 (propagated-inputs
7127 `(("emacs-company" ,emacs-company)
7128 ("emacs-dash" ,emacs-dash)))
7129 (home-page "https://github.com/aaronjensen/company-flow/")
7130 (synopsis "Flow backend for @code{company-mode}")
7131 (description
7132 "This package provides completion for JavaScript files utilizing Flow.")
7133 (license license:gpl3+))))
7134
7135 (define-public emacs-habitica
7136 (let ((commit "c45c602ddf9d6cbb0e3baf5cb3e1b7ef90f2759d")
7137 (revision "1"))
7138 (package
7139 (name "emacs-habitica")
7140 (version (git-version "1.0" revision commit))
7141 (source
7142 (origin
7143 (method git-fetch)
7144 (uri (git-reference
7145 (url "https://github.com/abrochard/emacs-habitica")
7146 (commit commit)))
7147 (file-name (git-file-name name version))
7148 (sha256
7149 (base32
7150 "0wgnzn3z98bl28jgqi7xklw9fwx2wwgihj3mq0jb8ah4vn70d0j3"))))
7151 (build-system emacs-build-system)
7152 (home-page "https://github.com/abrochard/emacs-habitica")
7153 (synopsis "Emacs interface for Habitica")
7154 (description "Emacs extension for @uref{https://habitica.com/, Habitica},
7155 a RPG style habit tracker and todo list.")
7156 (license license:gpl3+))))
7157
7158 (define-public emacs-atom-one-dark-theme
7159 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
7160 (revision "0"))
7161 (package
7162 (name "emacs-atom-one-dark-theme")
7163 (version (git-version "0.4.0" revision commit))
7164 (source (origin
7165 (method git-fetch)
7166 (uri (git-reference
7167 (url "https://github.com/jonathanchu/atom-one-dark-theme")
7168 (commit commit)))
7169 (sha256
7170 (base32
7171 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
7172 (file-name (git-file-name name version))))
7173 (build-system emacs-build-system)
7174 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
7175 (synopsis "Atom One Dark color theme for Emacs")
7176 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
7177 (license license:gpl3+))))
7178
7179 (define-public emacs-zenburn-theme
7180 (package
7181 (name "emacs-zenburn-theme")
7182 (version "2.7.0")
7183 (source
7184 (origin
7185 (method git-fetch)
7186 (uri (git-reference
7187 (url "https://github.com/bbatsov/zenburn-emacs")
7188 (commit (string-append "v" version))))
7189 (file-name (git-file-name name version))
7190 (sha256
7191 (base32 "1991s1gz2i3jchf0yvcsjjb5flwn13ifbnnfkqqrxxvy2imfh18q"))))
7192 (build-system emacs-build-system)
7193 (home-page "https://github.com/bbatsov/zenburn-emacs")
7194 (synopsis "Low contrast color theme for Emacs")
7195 (description
7196 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
7197 It is built on top of the custom theme support in Emacs 24 or later.")
7198 (license license:gpl3+)))
7199
7200 (define-public emacs-moe-theme-el
7201 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
7202 (version "1.0")
7203 (revision "1"))
7204 (package
7205 (name "emacs-moe-theme-el")
7206 (version (git-version version revision commit))
7207 (source
7208 (origin
7209 (method git-fetch)
7210 (uri (git-reference
7211 (url "https://github.com/kuanyui/moe-theme.el")
7212 (commit commit)))
7213 (file-name (git-file-name name version))
7214 (sha256
7215 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
7216 (build-system emacs-build-system)
7217 (home-page "https://github.com/kuanyui/moe-theme.el")
7218 (synopsis "Anime-inspired color themes")
7219 (description
7220 "This package provides vibrant color schemes with light and dark
7221 variants.")
7222 (license license:gpl3+))))
7223
7224 (define-public emacs-solarized-theme
7225 (package
7226 (name "emacs-solarized-theme")
7227 (version "1.3.1")
7228 (source
7229 (origin
7230 (method git-fetch)
7231 (uri (git-reference
7232 (url "https://github.com/bbatsov/solarized-emacs/")
7233 (commit (string-append "v" version))))
7234 (file-name (git-file-name name version))
7235 (sha256
7236 (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
7237 (build-system emacs-build-system)
7238 (propagated-inputs
7239 `(("emacs-dash" ,emacs-dash)))
7240 (home-page "https://github.com/bbatsov/solarized-emacs")
7241 (synopsis "Port of the Solarized theme for Emacs")
7242 (description
7243 "Solarized for Emacs is a port of the Solarized theme for Vim. This
7244 package provides a light and a dark variant.")
7245 (license license:gpl3+)))
7246
7247 (define-public emacs-poet-theme
7248 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
7249 (revision "0"))
7250 (package
7251 (name "emacs-poet-theme")
7252 (version (git-version "0" revision commit))
7253 (source
7254 (origin
7255 (method git-fetch)
7256 (uri (git-reference
7257 (url "https://github.com/kunalb/poet")
7258 (commit commit)))
7259 (file-name (git-file-name name version))
7260 (sha256
7261 (base32
7262 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
7263 (build-system emacs-build-system)
7264 (home-page "https://github.com/kunalb/poet/")
7265 (synopsis "Emacs theme for prose")
7266 (description
7267 "Emacs has very good support for multiple fonts in a single file. Poet
7268 uses this support to make it much more convenient to write prose within Emacs,
7269 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
7270 Code blocks, tables, etc are formatted in monospace text with the appropriate
7271 backgrounds.")
7272 (license license:expat))))
7273
7274 (define-public emacs-ahungry-theme
7275 (package
7276 (name "emacs-ahungry-theme")
7277 (version "1.10.0")
7278 (source
7279 (origin (method url-fetch)
7280 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
7281 version ".tar"))
7282 (sha256
7283 (base32
7284 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
7285 (build-system emacs-build-system)
7286 (home-page "https://github.com/ahungry/color-theme-ahungry")
7287 (synopsis "Ahungry color theme for Emacs")
7288 (description "Ahungry theme for Emacs provides bright and bold colors.
7289 If you load it from a terminal, you will be able to make use of the
7290 transparent background. If you load it from a GUI, it will default to a
7291 dark background.")
7292 (license license:gpl3+)))
7293
7294 (define-public emacs-gruvbox-theme
7295 (package
7296 (name "emacs-gruvbox-theme")
7297 (version "1.28.0")
7298 (source (origin
7299 (method git-fetch)
7300 (uri (git-reference
7301 (url "https://github.com/greduan/emacs-theme-gruvbox")
7302 (commit version)))
7303 (file-name (git-file-name name version))
7304 (sha256
7305 (base32
7306 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
7307 (build-system emacs-build-system)
7308 (propagated-inputs
7309 `(("emacs-autothemer" ,emacs-autothemer)))
7310 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
7311 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
7312 (description
7313 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
7314
7315 Designed as a bright theme with pastel 'retro groove' colors and light/dark
7316 mode switching in the way of solarized. The main focus when developing gruvbox
7317 is to keep colors easily distinguishable, contrast enough and still pleasant
7318 for the eyes.")
7319 (license license:expat))) ; MIT license
7320
7321 (define-public emacs-spacegray-theme
7322 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
7323 (revision "0"))
7324 (package
7325 (name "emacs-spacegray-theme")
7326 (version (git-version "0" revision commit))
7327 (source (origin
7328 (method git-fetch)
7329 (uri (git-reference
7330 (url "https://github.com/bruce/emacs-spacegray-theme")
7331 (commit commit)))
7332 (file-name (git-file-name name version))
7333 (sha256
7334 (base32
7335 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
7336 (build-system emacs-build-system)
7337 (home-page "https://github.com/bruce/emacs-spacegray-theme")
7338 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
7339 (description
7340 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
7341 Sublime Text. It features a dark blue/gray background and soft blue, green,
7342 orange and red as accent colors.")
7343 (license license:expat)))) ; MIT license
7344
7345 (define-public emacs-2048-game
7346 (package
7347 (name "emacs-2048-game")
7348 (version "20151026.1233")
7349 (source
7350 (origin
7351 (method url-fetch)
7352 (uri (string-append "https://melpa.org/packages/2048-game-"
7353 version ".el"))
7354 (sha256
7355 (base32
7356 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
7357 (build-system emacs-build-system)
7358 (home-page "https://hg.sr.ht/~zck/game-2048")
7359 (synopsis "Implementation of the game 2048 in Emacs Lisp")
7360 (description
7361 "This program is an implementation of 2048 for Emacs.
7362 The goal of this game is to create a tile with value 2048. The size of the
7363 board and goal value can be customized.")
7364 (license license:gpl3+)))
7365
7366 (define-public emacs-chess
7367 (package
7368 (name "emacs-chess")
7369 (version "2.0.5")
7370 (source
7371 (origin
7372 (method url-fetch)
7373 (uri (string-append "https://elpa.gnu.org/packages/"
7374 "chess-" version ".tar"))
7375 (sha256
7376 (base32 "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7"))))
7377 (build-system emacs-build-system)
7378 (arguments
7379 `(#:phases
7380 (modify-phases %standard-phases
7381 (add-after 'install 'install-pieces
7382 (lambda* (#:key outputs #:allow-other-keys)
7383 (let* ((out (assoc-ref outputs "out"))
7384 (pieces
7385 (string-append out "/share/emacs/site-lisp/pieces")))
7386 (mkdir-p pieces)
7387 (copy-recursively "pieces" pieces)
7388 #t))))))
7389 (home-page "https://elpa.gnu.org/packages/chess.html")
7390 (synopsis "Play chess in GNU Emacs")
7391 (description
7392 "Chess is an Emacs Lisp library and several clients on top of the
7393 underlying library functionality for performing various activities related to
7394 the game of chess.")
7395 (license license:gpl3+)))
7396
7397 (define-public emacs-4clojure
7398 ;; There is no release. Base version is extracted from Version keyword in
7399 ;; the main file.
7400 (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
7401 (revision "1"))
7402 (package
7403 (name "emacs-4clojure")
7404 (version (git-version "0.2.1" revision commit))
7405 (source
7406 (origin
7407 (method git-fetch)
7408 (uri (git-reference
7409 (url "https://github.com/emacsorphanage/4clojure")
7410 (commit commit)))
7411 (file-name (git-file-name name version))
7412 (sha256
7413 (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
7414 (build-system emacs-build-system)
7415 (propagated-inputs
7416 `(("emacs-request" ,emacs-request)))
7417 (home-page "https://github.com/emacsorphanage/4clojure/")
7418 (synopsis "Open and evaluate 4clojure questions in Emacs")
7419 (description "Emacs 4clojure interacts with
7420 @url{http://www.4clojure.com, 4clojure} problems. You can open a specific
7421 question and move to the next or previous one. You can also verify your
7422 answers.")
7423 (license license:gpl3+))))
7424
7425 (define-public emacs-base16-theme
7426 (package
7427 (name "emacs-base16-theme")
7428 (version "2.2")
7429 (source
7430 (origin
7431 (method git-fetch)
7432 (uri (git-reference
7433 (url "https://github.com/belak/base16-emacs")
7434 (commit version)))
7435 (file-name (git-file-name name version))
7436 (sha256
7437 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
7438 (build-system emacs-build-system)
7439 (home-page "https://github.com/belak/base16-emacs")
7440 (synopsis "Base16 color themes for Emacs")
7441 (description
7442 "Base16 provides carefully chosen syntax highlighting and a default set
7443 of sixteen colors suitable for a wide range of applications. Base16 is not a
7444 single theme but a set of guidelines with numerous implementations.")
7445 (license license:expat)))
7446
7447 (define-public emacs-solaire-mode
7448 (package
7449 (name "emacs-solaire-mode")
7450 (version "1.0.9")
7451 (source
7452 (origin
7453 (method git-fetch)
7454 (uri (git-reference
7455 (url "https://github.com/hlissner/emacs-solaire-mode")
7456 (commit (string-append "v" version))))
7457 (file-name (git-file-name name version))
7458 (sha256
7459 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
7460 (build-system emacs-build-system)
7461 (home-page "https://github.com/hlissner/emacs-solaire-mode")
7462 (synopsis "Change background of file-visiting buffers in Emacs")
7463 (description
7464 "@code{solaire-mode} is inspired by editors which visually distinguish
7465 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
7466 background of file-visiting buffers (and certain aspects of the UI) to make
7467 them easier to distinguish from other, less important buffers.")
7468 (license license:expat)))
7469
7470 (define-public emacs-embark
7471 (package
7472 (name "emacs-embark")
7473 (version "0.10")
7474 (source
7475 (origin
7476 (method git-fetch)
7477 (uri (git-reference
7478 (url "https://github.com/oantolin/embark")
7479 (commit version)))
7480 (sha256
7481 (base32 "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz"))
7482 (file-name (git-file-name name version))))
7483 (build-system emacs-build-system)
7484 (propagated-inputs
7485 `(("emacs-avy" ,emacs-avy)
7486 ("emacs-consult" ,emacs-consult)))
7487 (home-page "https://github.com/oantolin/embark")
7488 (synopsis "Emacs mini-buffer actions rooted in keymaps")
7489 (description
7490 "This package provides a sort of right-click contextual menu for Emacs
7491 offering you relevant @emph{actions} to use on a @emph{target} determined by
7492 the context.
7493
7494 In the minibuffer, the target is the current best completion candidate. In
7495 the @code{*Completions*} buffer the target is the completion at point.
7496 n a regular buffer, the target is the region if active, or else the file,
7497 symbol or URL at point.
7498
7499 The type of actions offered depend on the type of the target. For files you
7500 get offered actions like deleting, copying, renaming, visiting in another
7501 window, running a shell command on the file, etc. For buffers the actions
7502 include switching to or killing the buffer. For package names the actions
7503 include installing, removing or visiting the homepage.")
7504 (license license:gpl3+)))
7505
7506 (define-public emacs-prescient
7507 (package
7508 (name "emacs-prescient")
7509 (version "5.1")
7510 (source
7511 (origin
7512 (method git-fetch)
7513 (uri (git-reference
7514 (url "https://github.com/raxod502/prescient.el")
7515 (commit (string-append "v" version))))
7516 (file-name (git-file-name name version))
7517 (sha256
7518 (base32 "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"))))
7519 (build-system emacs-build-system)
7520 (propagated-inputs
7521 `(("emacs-company" ,emacs-company)
7522 ("emacs-ivy" ,emacs-ivy)
7523 ("emacs-selectrum" ,emacs-selectrum)))
7524 (home-page "https://github.com/raxod502/prescient.el/")
7525 (synopsis "Emacs library for sorting and filtering candidates")
7526 (description
7527 "Prescient is a library for sorting and filtering, as well as extensions
7528 for Ivy and Company that make use of the library.")
7529 (license license:expat)))
7530
7531 (define-public emacs-selectrum
7532 (package
7533 (name "emacs-selectrum")
7534 (version "3.1")
7535 (source
7536 (origin
7537 (method git-fetch)
7538 (uri (git-reference
7539 (url "https://github.com/raxod502/selectrum")
7540 (commit (string-append "v" version))))
7541 (file-name (git-file-name name version))
7542 (sha256
7543 (base32 "02jrki6vzyfyi1bbslki5pk2348flh9dz18jkc4y7p60bvbr52cb"))))
7544 (build-system emacs-build-system)
7545 (home-page "https://github.com/raxod502/selectrum/")
7546 (synopsis "Incremental narrowing in Emacs")
7547 (description "Selectrum is a solution for incremental narrowing in
7548 Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based
7549 on choosing the right abstractions and prioritizing consistency and
7550 predictability over special-cased improvements for particular cases.
7551 As such, Selectrum follows existing Emacs conventions where they exist
7552 and are reasonable, and it declines to implement features which have
7553 marginal benefit compared to the additional complexity of a new
7554 interface.")
7555 (license license:expat)))
7556
7557 (define-public emacs-orderless
7558 (package
7559 (name "emacs-orderless")
7560 (version "0.5")
7561 (source
7562 (origin
7563 (method git-fetch)
7564 (uri (git-reference
7565 (url "https://github.com/oantolin/orderless")
7566 (commit version)))
7567 (sha256
7568 (base32 "032lfwflkpaxbcxl4jf438vapswsdagipjczcn30sc4dfdh3p42c"))
7569 (file-name (git-file-name name version))))
7570 (build-system emacs-build-system)
7571 (home-page "https://github.com/oantolin/orderless")
7572 (synopsis "Emacs completion style that matches multiple regexps in any order")
7573 (description "This package provides an orderless completion style that
7574 divides the pattern into space-separated components, and matches candidates
7575 that match all of the components in any order. Each component can match in
7576 any one of several ways: literally, as a regexp, as an initialism, in the flex
7577 style, or as multiple word prefixes.")
7578 (license license:gpl3+)))
7579
7580 (define-public emacs-consult
7581 (package
7582 (name "emacs-consult")
7583 (version "0.7")
7584 (source
7585 (origin
7586 (method git-fetch)
7587 (uri (git-reference
7588 (url "https://github.com/minad/consult")
7589 (commit version)))
7590 (sha256
7591 (base32 "1kzwybp87srckd1238drdcn9h7jyyqz9pzcwvw3ld8bgyyrwsxkj"))
7592 (file-name (git-file-name name version))))
7593 (build-system emacs-build-system)
7594 (propagated-inputs
7595 `(("emacs-flycheck" ,emacs-flycheck)
7596 ("emacs-selectrum" ,emacs-selectrum)))
7597 (home-page "https://github.com/minad/consult")
7598 (synopsis "Consulting completing-read")
7599 (description "This package provides various handy commands based on the
7600 Emacs completion function completing-read, which allows quickly selecting from a
7601 list of candidates.")
7602 (license license:gpl3+)))
7603
7604 (define-public emacs-marginalia
7605 (package
7606 (name "emacs-marginalia")
7607 (version "0.5")
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri (git-reference
7612 (url "https://github.com/minad/marginalia")
7613 (commit version)))
7614 (file-name (git-file-name name version))
7615 (sha256
7616 (base32 "07vfidgq9am07zz2ydhdifmp4jmgs9jn5l1nfqiyp16sd1br6czj"))))
7617 (build-system emacs-build-system)
7618 (home-page "https://github.com/minad/marginalia")
7619 (synopsis "Marginalia in the minibuffer completions")
7620 (description
7621 "This package provides Marginalia mode which adds marginalia to the
7622 minibuffer completions. Marginalia are marks or annotations placed at the
7623 margin of the page of a book or in this case helpful colorful annotations
7624 placed at the margin of the minibuffer for your completion candidates.")
7625 (license license:gpl3+)))
7626
7627 (define-public emacs-smartparens
7628 (package
7629 (name "emacs-smartparens")
7630 (version "1.11.0")
7631 (source
7632 (origin
7633 (method git-fetch)
7634 (uri (git-reference
7635 (url "https://github.com/Fuco1/smartparens")
7636 (commit version)))
7637 (file-name (git-file-name name version))
7638 (sha256
7639 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
7640 (build-system emacs-build-system)
7641 (propagated-inputs
7642 `(("emacs-dash" ,emacs-dash)
7643 ("emacs-markdown-mode" ,emacs-markdown-mode)))
7644 (home-page "https://github.com/Fuco1/smartparens")
7645 (synopsis "Paredit-like insertion, wrapping and navigation with user
7646 defined pairs")
7647 (description
7648 "Smartparens is a minor mode for Emacs that deals with parens pairs
7649 and tries to be smart about it. It started as a unification effort to
7650 combine functionality of several existing packages in a single,
7651 compatible and extensible way to deal with parentheses, delimiters, tags
7652 and the like. Some of these packages include autopair, textmate,
7653 wrap-region, electric-pair-mode, paredit and others. With the basic
7654 features found in other packages it also brings many improvements as
7655 well as completely new features.")
7656 (license license:gpl3+)))
7657
7658 (define-public emacs-highlight-symbol
7659 ;; We prefer a more recent commit that provides an option to squelch
7660 ;; echo-area alerts that can drown out useful information like eldoc
7661 ;; messages.
7662 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
7663 (version "1.3")
7664 (revision "1"))
7665 (package
7666 (name "emacs-highlight-symbol")
7667 (version (git-version version revision commit))
7668 (source
7669 (origin
7670 (method git-fetch)
7671 (uri (git-reference
7672 (url "https://github.com/nschum/highlight-symbol.el")
7673 (commit commit)))
7674 (file-name (git-file-name name version))
7675 (sha256
7676 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
7677 (build-system emacs-build-system)
7678 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
7679 (synopsis "Automatic and manual symbol highlighting for Emacs")
7680 (description
7681 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
7682 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
7683 the symbol at point highlighted.
7684
7685 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
7686 @code{highlight-symbol-next-in-defun} and
7687 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
7688 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
7689 bindings @code{M-p} and @code{M-p} for navigation. When
7690 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
7691 regardless of @code{highlight-symbol-idle-delay}.
7692
7693 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
7694 (license license:gpl2+))))
7695
7696 (define-public emacs-symbol-overlay
7697 (package
7698 (name "emacs-symbol-overlay")
7699 (version "4.2")
7700 (source
7701 (origin
7702 (method git-fetch)
7703 (uri (git-reference
7704 (url "https://github.com/wolray/symbol-overlay")
7705 (commit version)))
7706 (file-name (git-file-name name version))
7707 (sha256
7708 (base32 "10n0871xzycifyqp73xnbqmrgy60imlb26yhm3p6vfj3d84mg1b2"))))
7709 (build-system emacs-build-system)
7710 (home-page "https://github.com/wolray/symbol-overlay")
7711 (synopsis "Highlight symbols and perform various search operations on them")
7712 (description
7713 "This package provides functions for highlighting and navigating
7714 between symbols.")
7715 (license license:gpl3+)))
7716
7717 (define-public emacs-hl-todo
7718 (package
7719 (name "emacs-hl-todo")
7720 (version "3.1.2")
7721 (source (origin
7722 (method git-fetch)
7723 (uri (git-reference
7724 (url "https://github.com/tarsius/hl-todo")
7725 (commit (string-append "v" version))))
7726 (file-name (git-file-name name version))
7727 (sha256
7728 (base32
7729 "1i5mdmkbrxqx75grwl01pywbgl8pasr00mq6fidspp0aligsbg6w"))))
7730 (build-system emacs-build-system)
7731 (home-page "https://github.com/tarsius/hl-todo")
7732 (synopsis "Emacs mode to highlight TODO and similar keywords")
7733 (description
7734 "This package provides an Emacs mode to highlight TODO and similar
7735 keywords in comments and strings. This package also provides commands for
7736 moving to the next or previous keyword and to invoke @code{occur} with a
7737 regexp that matches all known keywords.")
7738 (license license:gpl3+)))
7739
7740 (define-public emacs-perspective
7741 (package
7742 (name "emacs-perspective")
7743 (version "2.14")
7744 (source
7745 (origin
7746 (method git-fetch)
7747 (uri (git-reference
7748 (url "https://github.com/nex3/perspective-el")
7749 (commit version)))
7750 (file-name (git-file-name name version))
7751 (sha256
7752 (base32 "04r5h5zs5r6s22p5ynhpr860r2r552z9pyf4kbabfg1gz9jag7yp"))))
7753 (build-system emacs-build-system)
7754 (arguments
7755 `(#:tests? #t
7756 #:test-command '("emacs" "-Q" "-batch" "-L" "."
7757 "-l" "test/test-perspective.el"
7758 "-f" "ert-run-tests-batch-and-exit")))
7759 (home-page "https://github.com/nex3/perspective-el")
7760 (synopsis "Switch between named \"perspectives\"")
7761 (description
7762 "This package provides tagged workspaces in Emacs, similar to workspaces in
7763 windows managers such as Awesome and XMonad. @code{perspective.el} provides
7764 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
7765 perspective is composed of a window configuration and a set of buffers.
7766 Switching to a perspective activates its window configuration, and when in a
7767 perspective only its buffers are available by default.")
7768 ;; This package is released under the same license as Emacs (GPLv3+) or
7769 ;; the Expat license.
7770 (license license:gpl3+)))
7771
7772 (define-public emacs-persp-mode
7773 (package
7774 (name "emacs-persp-mode")
7775 (version "2.9.8")
7776 (source
7777 (origin
7778 (method git-fetch)
7779 (uri (git-reference
7780 (url "https://github.com/Bad-ptr/persp-mode.el")
7781 (commit (string-append "v" version))))
7782 (file-name (git-file-name name version))
7783 (sha256
7784 (base32
7785 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
7786 (build-system emacs-build-system)
7787 (home-page "https://github.com/Bad-ptr/persp-mode.el")
7788 (synopsis "Switch between named \"perspectives\" shared among frames")
7789 (description
7790 "This package extends @code{perspective.el} to enable perspectives that
7791 can be saved to and restored from a file.")
7792 (license license:gpl2+)))
7793
7794 (define-public emacs-test-simple
7795 (package
7796 (name "emacs-test-simple")
7797 (version "1.3.0")
7798 (source
7799 (origin
7800 (method url-fetch)
7801 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
7802 version ".el"))
7803 (sha256
7804 (base32
7805 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
7806 (build-system emacs-build-system)
7807 (home-page "https://github.com/rocky/emacs-test-simple")
7808 (synopsis "Simple unit test framework for Emacs Lisp")
7809 (description
7810 "Test Simple is a simple unit test framework for Emacs Lisp. It
7811 alleviates the need for context macros, enclosing specifications or required
7812 test tags. It supports both interactive and non-interactive use.")
7813 (license license:gpl3+)))
7814
7815 (define-public emacs-load-relative
7816 (package
7817 (name "emacs-load-relative")
7818 (version "1.3.1")
7819 (source
7820 (origin
7821 (method url-fetch)
7822 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
7823 version ".el"))
7824 (sha256
7825 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
7826 (build-system emacs-build-system)
7827 (home-page "https://github.com/rocky/emacs-load-relative")
7828 (synopsis "Emacs Lisp relative file loading related functions")
7829 (description
7830 "Provides functions which facilitate writing multi-file Emacs packages
7831 and running from the source tree without having to \"install\" code or fiddle
7832 with @{load-path}.
7833
7834 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
7835 another (presumably currently running) Emacs Lisp file.")
7836 (license license:gpl3+)))
7837
7838 (define-public emacs-loc-changes
7839 (package
7840 (name "emacs-loc-changes")
7841 (version "1.2")
7842 (source
7843 (origin
7844 (method url-fetch)
7845 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
7846 version ".el"))
7847 (sha256
7848 (base32
7849 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
7850 (build-system emacs-build-system)
7851 (home-page "https://github.com/rocky/emacs-loc-changes")
7852 (synopsis "Keeps track of positions even after buffer changes")
7853 (description
7854 "This Emacs package provides a mean to track important buffer positions
7855 after buffer changes.")
7856 (license license:gpl3+)))
7857
7858 (define-public emacs-realgud
7859 (package
7860 (name "emacs-realgud")
7861 (version "1.5.1")
7862 (source
7863 (origin
7864 (method git-fetch)
7865 (uri (git-reference
7866 (url "https://github.com/realgud/realgud/")
7867 (commit version)))
7868 (sha256
7869 (base32
7870 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
7871 (file-name (git-file-name name version))))
7872 (build-system emacs-build-system)
7873 (arguments
7874 `(#:tests? #t
7875 #:phases
7876 (modify-phases %standard-phases
7877 (add-after 'unpack 'fix-realgud:run-process-void-error
7878 ;; See: https://github.com/realgud/realgud/issues/269.
7879 (lambda _
7880 (substitute* '("realgud/debugger/gdb/gdb.el"
7881 "realgud/debugger/gub/gub.el")
7882 (("^\\(require 'load-relative\\).*" anchor)
7883 (string-append anchor
7884 "(require-relative-list \
7885 '(\"../../common/run\") \"realgud:\")\n")))
7886 #t))
7887 (add-after 'expand-load-path 'fix-autogen-script
7888 (lambda _
7889 (substitute* "autogen.sh"
7890 (("./configure") "sh configure"))
7891 #t))
7892 (add-after 'fix-autogen-script 'autogen
7893 (lambda _
7894 (setenv "CONFIG_SHELL" "sh")
7895 (invoke "sh" "autogen.sh")))
7896 (add-after 'fix-autogen-script 'set-home
7897 (lambda _
7898 (setenv "HOME" (getenv "TMPDIR"))
7899 #t))
7900 (add-before 'patch-el-files 'remove-realgud-pkg.el
7901 (lambda _
7902 ;; FIXME: `patch-el-files' crashes on this file with error:
7903 ;; unable to locate "bashdb".
7904 (delete-file "./test/test-regexp-bashdb.el")
7905 #t)))
7906 #:include (cons* ".*\\.el$" %default-include)))
7907 (native-inputs
7908 `(("autoconf" ,autoconf)
7909 ("automake" ,automake)
7910 ("emacs-test-simple" ,emacs-test-simple)))
7911 (propagated-inputs
7912 `(("emacs-load-relative" ,emacs-load-relative)
7913 ("emacs-loc-changes" ,emacs-loc-changes)))
7914 (home-page "https://github.com/realgud/realgud/")
7915 (synopsis
7916 "Modular front-end for interacting with external debuggers")
7917 (description
7918 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
7919 with external debuggers. It integrates various debuggers such as gdb, pdb,
7920 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
7921 sources. Unlike GUD, it also supports running multiple debug sessions in
7922 parallel.")
7923 (license license:gpl3+)))
7924
7925 (define-public emacs-request
7926 ;; We prefer a more recent commit that has support for auth-source,
7927 ;; which makes authentication more convenient for users and maintainers.
7928 (let ((commit "d02d1347ffdf138cffd380cbeac62ac8732036ef")
7929 (revision "0"))
7930 (package
7931 (name "emacs-request")
7932 (version (git-version "0.3.2" revision commit))
7933 (source (origin
7934 (method git-fetch)
7935 (uri (git-reference
7936 (url "https://github.com/tkf/emacs-request")
7937 (commit commit)))
7938 (file-name (git-file-name name version))
7939 (sha256
7940 (base32
7941 "1rkpakzish2d470ca15yq3k0m1j7a2lrkvvddcyvc2rx0sncsdjs"))))
7942 (build-system emacs-build-system)
7943 (arguments
7944 `(#:tests? #f)) ; requires network access.
7945 (propagated-inputs
7946 `(("emacs-deferred" ,emacs-deferred)))
7947 (home-page "https://github.com/tkf/emacs-request")
7948 (synopsis "Package for speaking HTTP in Emacs Lisp")
7949 (description "This package provides a HTTP request library with multiple
7950 backends. It supports url.el which is shipped with Emacs and the curl command
7951 line program.")
7952 (license license:gpl3+))))
7953
7954 (define-public emacs-rudel
7955 (package
7956 (name "emacs-rudel")
7957 (version "0.3.2")
7958 (source
7959 (origin
7960 (method url-fetch)
7961 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
7962 version ".tar"))
7963 (sha256
7964 (base32 "03hcvpp6ykavidwn5x48gs986w1i5icvh7ks6p74pdaagpgw4jmk"))))
7965 (build-system emacs-build-system)
7966 (home-page "http://rudel.sourceforge.net/")
7967 (synopsis "Collaborative editing framework")
7968 (description
7969 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
7970 is to share buffers with other users in order to edit the contents of those
7971 buffers collaboratively. Rudel supports multiple backends to enable
7972 communication with other collaborative editors using different protocols,
7973 though currently Obby (for use with the Gobby editor) is the only
7974 fully-functional one.")
7975 (license license:gpl3+)))
7976
7977 (define-public emacs-hydra
7978 (package
7979 (name "emacs-hydra")
7980 (version "0.15.0")
7981 (source
7982 (origin
7983 (method git-fetch)
7984 (uri (git-reference
7985 (url "https://github.com/abo-abo/hydra")
7986 (commit version)))
7987 (file-name (git-file-name name version))
7988 (sha256
7989 (base32
7990 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
7991 (build-system emacs-build-system)
7992 (arguments
7993 `(#:tests? #t
7994 #:test-command '("make" "test")))
7995 (home-page "https://github.com/abo-abo/hydra")
7996 (synopsis "Make Emacs bindings that stick around")
7997 (description
7998 "This package can be used to tie related commands into a family of short
7999 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
8000 the prefixed binding), all the heads can be called in succession with only a
8001 short extension. Any binding that isn't the Hydra's head vanquishes the
8002 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
8003 serve its original purpose, calling the command assigned to it. This makes
8004 the Hydra very seamless; it's like a minor mode that disables itself
8005 automatically.")
8006 (license license:gpl3+)))
8007
8008 (define-public emacs-pretty-hydra
8009 (package
8010 (name "emacs-pretty-hydra")
8011 (version "0.2.2")
8012 (source
8013 (origin
8014 (method git-fetch)
8015 (uri (git-reference
8016 (url "https://github.com/jerrypnz/major-mode-hydra.el")
8017 (commit version)))
8018 (file-name (git-file-name name version))
8019 (sha256
8020 (base32
8021 "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
8022 (build-system emacs-build-system)
8023 (propagated-inputs
8024 `(("emacs-dash" ,emacs-dash)
8025 ("emacs-hydra" ,emacs-hydra)
8026 ("emacs-s" ,emacs-s)))
8027 (arguments
8028 `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))
8029 (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
8030 (synopsis "Major mode keybindings managed by Hydra")
8031 (description
8032 "This package offers an hydra-based method of managing major
8033 mode-specific key bindings. It is intended for use as a library only; see
8034 package @code{emacs-major-mode-hydra} for a user-friendly interface.")
8035 (license license:gpl3+)))
8036
8037 (define-public emacs-interleave
8038 (package
8039 (name "emacs-interleave")
8040 (version "1.4.0")
8041 (source
8042 (origin
8043 (method git-fetch)
8044 (uri
8045 (git-reference
8046 (url "https://github.com/rudolfochrist/interleave")
8047 (commit (string-append "interleave-" version))))
8048 (file-name (git-file-name name version))
8049 (sha256
8050 (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb"))))
8051 (build-system emacs-build-system)
8052 (home-page "https://github.com/rudolfochrist/interleave")
8053 (synopsis "Emacs minor mode to interleave notes and text books")
8054 (description
8055 "Interleave is a minor mode that presents a document viewer side
8056 by side to an Org buffer with your notes relevant to the current page.")
8057 (license license:gpl3+)))
8058
8059 (define-public emacs-major-mode-hydra
8060 (package
8061 (inherit emacs-pretty-hydra)
8062 (name "emacs-major-mode-hydra")
8063 (propagated-inputs
8064 `(("emacs-dash" ,emacs-dash)
8065 ("emacs-pretty-hydra" ,emacs-pretty-hydra)))
8066 (arguments
8067 `(#:exclude (cons "^pretty-hydra\\.el" %default-exclude)))
8068 (synopsis "Create nice-looking hydras")
8069 (description
8070 "This package provides the macro @code{pretty-hydra-define} to define
8071 hydras with one column per group of heads.")))
8072
8073 (define-public emacs-ivy
8074 (package
8075 (name "emacs-ivy")
8076 (version "0.13.4")
8077 (source
8078 (origin
8079 (method url-fetch)
8080 (uri (string-append "https://elpa.gnu.org/packages/ivy-" version ".tar"))
8081 (sha256
8082 (base32 "0qpza1c45mr8fcpnm32cck4v22fnzz1yb7kww05rzgq1k9iivx5v"))))
8083 (build-system emacs-build-system)
8084 (propagated-inputs
8085 `(("emacs-hydra" ,emacs-hydra)))
8086 (home-page "https://github.com/abo-abo/swiper")
8087 (synopsis "Incremental vertical completion for Emacs")
8088 (description
8089 "This package provides @code{ivy-read} as an alternative to
8090 @code{completing-read} and similar functions. No attempt is made to determine
8091 the best candidate. Instead, the user can navigate candidates with
8092 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
8093 splitting the input text by spaces and re-building it into a regular
8094 expression.")
8095 (license license:gpl3+)))
8096
8097 (define-public emacs-counsel
8098 (package
8099 (name "emacs-counsel")
8100 (version "0.13.4")
8101 (source
8102 (origin
8103 (method url-fetch)
8104 (uri (string-append "https://elpa.gnu.org/packages/"
8105 "counsel-" version ".tar"))
8106 (sha256
8107 (base32 "094zfapfn1l8wjf3djkipk0d9nks0g77sbk107pfsbr3skkzh031"))))
8108 (build-system emacs-build-system)
8109 (propagated-inputs
8110 `(("emacs-swiper" ,emacs-swiper)))
8111 (home-page "https://github.com/abo-abo/swiper")
8112 (synopsis "Various completion functions using Ivy")
8113 (description
8114 "Just call one of the interactive functions in a file to complete the
8115 corresponding thing using Ivy.
8116
8117 The following completions are currently available:
8118 @itemize
8119 @item Symbol completion for Elisp, Common Lisp, Python, Clojure, C, C++.
8120 @item Describe functions for Elisp: function, variable, library, command,
8121 @item bindings, theme.
8122 @item Navigation functions: imenu, ace-line, semantic, outline.
8123 @item Git utilities: git-files, git-grep, git-log, git-stash, git-checkout.
8124 @item Grep utilities: grep, ag, pt, recoll, ack, rg.
8125 @item System utilities: process list, rhythmbox, linux-app.
8126 @item Many more.
8127 @end itemize")
8128 (license license:gpl3+)))
8129
8130 (define-public emacs-swiper
8131 (package
8132 (name "emacs-swiper")
8133 (version "0.13.4")
8134 (source
8135 (origin
8136 (method url-fetch)
8137 (uri (string-append "https://elpa.gnu.org/packages/swiper-" version ".tar"))
8138 (sha256
8139 (base32 "197pq2cvvskib87aky907wv2am55vilr7y5dabmmm07a8vr9py0v"))))
8140 (build-system emacs-build-system)
8141 (propagated-inputs
8142 `(("emacs-ivy" ,emacs-ivy)))
8143 (home-page "https://github.com/abo-abo/swiper")
8144 (synopsis "Isearch with an overview")
8145 (description
8146 "This package gives an overview of the current regex search candidates.
8147 The search regex can be split into groups with a space. Each group is
8148 highlighted with a different face.
8149
8150 It can double as a quick `regex-builder', although only single lines will be
8151 matched.")
8152 (license license:gpl3+)))
8153
8154 (define-public emacs-ivy-xref
8155 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
8156 (revision "1"))
8157 (package
8158 (name "emacs-ivy-xref")
8159 (version (git-version "0.1" revision commit))
8160 (source
8161 (origin
8162 (method git-fetch)
8163 (uri (git-reference
8164 (url "https://github.com/alexmurray/ivy-xref")
8165 (commit commit)))
8166 (file-name (git-file-name name version))
8167 (sha256
8168 (base32
8169 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
8170 (build-system emacs-build-system)
8171 (propagated-inputs
8172 `(("emacs-ivy" ,emacs-ivy)))
8173 (home-page "https://github.com/alexmurray/ivy-xref")
8174 (synopsis "Ivy interface for @code{xref}")
8175 (description "This package provides an Ivy interface for selecting from
8176 @code{xref} results.")
8177 (license license:gpl3))))
8178
8179 (define-public emacs-ivy-pass
8180 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
8181 (revision "1"))
8182 (package
8183 (name "emacs-ivy-pass")
8184 (version (git-version "0.1" revision commit))
8185 (source
8186 (origin
8187 (method git-fetch)
8188 (uri (git-reference
8189 (url "https://github.com/ecraven/ivy-pass")
8190 (commit commit)))
8191 (file-name (git-file-name name version))
8192 (sha256
8193 (base32
8194 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
8195 (build-system emacs-build-system)
8196 (propagated-inputs
8197 `(("emacs-ivy" ,emacs-ivy)
8198 ("emacs-password-store" ,emacs-password-store)
8199 ("password-store" ,password-store)))
8200 (home-page "https://github.com/ecraven/ivy-pass")
8201 (synopsis "Ivy interface for password store (pass)")
8202 (description "This package provides an Ivy interface for working with
8203 the password store @code{pass}.")
8204 (license license:gpl3))))
8205
8206 (define-public emacs-ivy-yasnippet
8207 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
8208 (revision "2"))
8209 (package
8210 (name "emacs-ivy-yasnippet")
8211 (version (git-version "0.1" revision commit))
8212 (source
8213 (origin
8214 (method git-fetch)
8215 (uri (git-reference
8216 (url "https://github.com/mkcms/ivy-yasnippet")
8217 (commit commit)))
8218 (file-name (git-file-name name version))
8219 (sha256
8220 (base32
8221 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
8222 (build-system emacs-build-system)
8223 (propagated-inputs
8224 `(("emacs-ivy" ,emacs-ivy)
8225 ("emacs-yasnippet" ,emacs-yasnippet)
8226 ("emacs-dash" ,emacs-dash)))
8227 (home-page "https://github.com/mkcms/ivy-yasnippet")
8228 (synopsis "Preview @code{yasnippets} with @code{ivy}")
8229 (description "This package allows you to select @code{yasnippet}
8230 snippets using @code{ivy} completion. When current selection changes in the
8231 minibuffer, the snippet contents are temporarily expanded in the buffer. To
8232 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
8233 @code{yas-minor-mode} first).")
8234 (license license:gpl3+))))
8235
8236 ;; The 0.1.6 release is incompatible with newer ivy versions, so we instead
8237 ;; pick a more recent snapshot of the repository, see
8238 ;; https://github.com/Yevgnen/ivy-rich/pull/80.
8239 (define-public emacs-ivy-rich
8240 (let ((commit "7b9b7b20c3ead81da90232cd6707dfad3c1f1eb3")
8241 (revision "1"))
8242 (package
8243 (name "emacs-ivy-rich")
8244 (version (git-version "0.1.6" revision commit))
8245 (source
8246 (origin
8247 (method git-fetch)
8248 (uri (git-reference
8249 (url "https://github.com/Yevgnen/ivy-rich")
8250 (commit commit)))
8251 (file-name (git-file-name name version))
8252 (sha256
8253 (base32 "03p13z609ighdq4axls93alqfl7pclx12g4vdd7lwpcy0r0cgyf8"))))
8254 (build-system emacs-build-system)
8255 (propagated-inputs
8256 `(("emacs-ivy" ,emacs-ivy)))
8257 (home-page "https://github.com/Yevgnen/ivy-rich")
8258 (synopsis "More friendly interface for @code{ivy}")
8259 (description
8260 "This package extends Ivy by showing more information in the minibuffer
8261 for each candidate. It adds columns showing buffer modes, file sizes,
8262 docstrings, etc. If @code{emacs-all-the-icons} is installed, it can show
8263 icons as well.")
8264 (license license:gpl3+))))
8265
8266 (define-public emacs-avy
8267 (package
8268 (name "emacs-avy")
8269 (version "0.5.0")
8270 (source
8271 (origin
8272 (method git-fetch)
8273 (uri (git-reference
8274 (url "https://github.com/abo-abo/avy")
8275 (commit version)))
8276 (file-name (git-file-name name version))
8277 (sha256
8278 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
8279 (build-system emacs-build-system)
8280 (arguments
8281 `(#:tests? #t
8282 #:test-command '("make" "test")))
8283 (home-page "https://github.com/abo-abo/avy")
8284 (synopsis "Tree-based completion for Emacs")
8285 (description
8286 "This package provides a generic completion method based on building a
8287 balanced decision tree with each candidate being a leaf. To traverse the tree
8288 from the root to a desired leaf, typically a sequence of @code{read-key} can
8289 be used.
8290
8291 In order for @code{read-key} to make sense, the tree needs to be visualized
8292 appropriately, with a character at each branch node. So this completion
8293 method works only for things that you can see on your screen, all at once,
8294 such as the positions of characters, words, line beginnings, links, or
8295 windows.")
8296 (license license:gpl3+)))
8297
8298 (define-public emacs-ace-window
8299 (package
8300 (name "emacs-ace-window")
8301 (version "0.10.0")
8302 (source
8303 (origin
8304 (method git-fetch)
8305 (uri (git-reference
8306 (url "https://github.com/abo-abo/ace-window")
8307 (commit version)))
8308 (file-name (git-file-name name version))
8309 (sha256
8310 (base32
8311 "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl"))))
8312 (build-system emacs-build-system)
8313 (propagated-inputs
8314 `(("emacs-avy" ,emacs-avy)))
8315 (home-page "https://github.com/abo-abo/ace-window")
8316 (synopsis "Quickly switch windows in Emacs")
8317 (description
8318 "@code{ace-window} is meant to replace @code{other-window}.
8319 In fact, when there are only two windows present, @code{other-window} is
8320 called. If there are more, each window will have its first character
8321 highlighted. Pressing that character will switch to that window.")
8322 (license license:gpl3+)))
8323
8324 (define-public emacs-windsize
8325 ;; There is no proper release. The base version is extracted from the
8326 ;; "Version" keyword in the main file.
8327 (let ((revision "1")
8328 (commit "62c2846bbe95b0a73e996c75e4a644d05f57aaaa"))
8329 (package
8330 (name "emacs-windsize")
8331 (version (git-version "0.1" revision commit))
8332 (source
8333 (origin
8334 (method git-fetch)
8335 (uri (git-reference
8336 (url "https://github.com/grammati/windsize")
8337 (commit commit)))
8338 (file-name (git-file-name name version))
8339 (sha256
8340 (base32 "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi"))))
8341 (build-system emacs-build-system)
8342 (home-page "https://github.com/grammati/windsize")
8343 (synopsis "Easy resizing of Emacs windows")
8344 (description
8345 "This package allows moving the borders of the active window
8346 with the arrow keys. It prefers to move the right or bottom border when
8347 possible, and falls back to moving the left or top border otherwise.")
8348 (license license:gpl3+))))
8349
8350 (define-public emacs-window-purpose
8351 (let ((commit "f6421966761ad911fe8861aba2b110c5dd60d1ea")
8352 (revision "1"))
8353 (package
8354 (name "emacs-window-purpose")
8355 (version (git-version "1.7" revision commit))
8356 (source
8357 (origin
8358 (method git-fetch)
8359 (uri (git-reference
8360 (url "https://github.com/bmag/emacs-purpose.git")
8361 (commit commit)))
8362 (file-name (git-file-name name version))
8363 (sha256
8364 (base32
8365 "1p0y5gnrw7q65py2wjdf1hrdpiw5c2zbgvfbfmb13257jq5mga38"))))
8366 (build-system emacs-build-system)
8367 (propagated-inputs
8368 `(("emacs-let-alist" ,emacs-let-alist)
8369 ("emacs-imenu-list" ,emacs-imenu-list)))
8370 (arguments
8371 '(#:include
8372 '("^[^/]+.el$"
8373 "^[^/]+.el.in$"
8374 "^dir$"
8375 "^[^/]+.info$"
8376 "^[^/]+.texi$"
8377 "^[^/]+.texinfo$"
8378 "^doc/dir$"
8379 "^doc/[^/]+.info$"
8380 "^doc/[^/]+.texi$"
8381 "^doc/[^/]+.texinfo$"
8382 "^layouts$")
8383 #:exclude
8384 '("^.dir-locals.el$"
8385 "^test.el$"
8386 "^tests.el$"
8387 "^[^/]+-test.el$"
8388 "^[^/]+-tests.el$")))
8389 (home-page "https://github.com/bmag/emacs-purpose")
8390 (synopsis "Purpose-based window management for Emacs")
8391 (description "Purpose is a package that introduces the concept of a
8392 \"purpose\" for windows and buffers, and then helps you maintain a robust
8393 window layout easily.")
8394 (license license:gpl3+))))
8395
8396 (define-public emacs-iedit
8397 ;; Last release version was in 2016.
8398 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
8399 (revision "1"))
8400 (package
8401 (name "emacs-iedit")
8402 (version (git-version "0.9.9.9" revision commit))
8403 (source
8404 (origin
8405 (method git-fetch)
8406 (uri (git-reference
8407 (url "https://github.com/victorhge/iedit")
8408 (commit commit)))
8409 (file-name (git-file-name name version))
8410 (sha256
8411 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
8412 (build-system emacs-build-system)
8413 (home-page "https://www.emacswiki.org/emacs/Iedit")
8414 (synopsis "Edit multiple regions in the same way simultaneously")
8415 (description
8416 "This package is an Emacs minor mode and allows you to edit one
8417 occurrence of some text in a buffer (possibly narrowed) or region, and
8418 simultaneously have other occurrences edited in the same way.
8419
8420 You can also use Iedit mode as a quick way to temporarily show only the buffer
8421 lines that match the current text being edited. This gives you the effect of
8422 a temporary @code{keep-lines} or @code{occur}.")
8423 (license license:gpl3+))))
8424
8425 (define-public emacs-zoutline
8426 (package
8427 (name "emacs-zoutline")
8428 (version "0.2.0")
8429 (source
8430 (origin
8431 (method git-fetch)
8432 (uri (git-reference
8433 (url "https://github.com/abo-abo/zoutline")
8434 (commit version)))
8435 (sha256
8436 (base32
8437 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
8438 (file-name (git-file-name name version))))
8439 (build-system emacs-build-system)
8440 (home-page "https://github.com/abo-abo/zoutline")
8441 (synopsis "Simple outline library")
8442 (description
8443 "This library provides helpers for outlines. Outlines allow users to
8444 navigate code in a tree-like fashion.")
8445 (license license:gpl3+)))
8446
8447 (define-public emacs-lispy
8448 ;; No release since May 2019 and tons of fixes have landed on master.
8449 ;; https://github.com/abo-abo/lispy/issues/513
8450 (let ((commit "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58"))
8451 (package
8452 (name "emacs-lispy")
8453 (version (git-version "0.27.0" "2" commit))
8454 (home-page "https://github.com/abo-abo/lispy")
8455 (source (origin
8456 (method git-fetch)
8457 (uri (git-reference
8458 (url "https://github.com/abo-abo/lispy")
8459 (commit commit)))
8460 (sha256
8461 (base32
8462 "1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"))
8463 (file-name (git-file-name name version))))
8464 (build-system emacs-build-system)
8465 (propagated-inputs
8466 `(("emacs-ace-window" ,emacs-ace-window)
8467 ("emacs-hydra" ,emacs-hydra)
8468 ("emacs-iedit" ,emacs-iedit)
8469 ("emacs-swiper" ,emacs-swiper)
8470 ("emacs-zoutline" ,emacs-zoutline)))
8471 (native-inputs
8472 `(("which" ,which)
8473 ("emacs-clojure-mode" ,emacs-clojure-mode)
8474 ("emacs-undercover" ,emacs-undercover)))
8475 (arguments
8476 `(#:include (cons* "^lispy-clojure\\.clj$"
8477 "^lispy-python\\.py$"
8478 %default-include)
8479 #:phases
8480 ;; XXX: Some failing tests
8481 (modify-phases %standard-phases
8482 (add-before 'check 'make-test-writable
8483 (lambda _
8484 (make-file-writable "lispy-test.el")
8485 #t))
8486 (add-before 'check 'remove-failing-test
8487 (lambda _
8488 (emacs-batch-edit-file "lispy-test.el"
8489 `(progn
8490 (dolist (test '("lispy-eval-python-str" "lispy--clojure-dot-object"))
8491 (goto-char (point-min))
8492 (re-search-forward
8493 (concat "ert-deftest " test))
8494 (beginning-of-line)
8495 (kill-sexp))
8496 (basic-save-buffer)))
8497 #t)))
8498 #:tests? #t
8499 ;; Set BEMACS to prevent the test suite from loading straight.el.
8500 #:test-command '("make" "test" "BEMACS=emacs -batch")))
8501 (synopsis "Modal S-expression editing")
8502 (description
8503 "Due to the structure of Lisp syntax it's very rare for the programmer
8504 to want to insert characters right before \"(\" or right after \")\". Thus
8505 unprefixed printable characters can be used to call commands when the point is
8506 at one of these special locations. Lispy provides unprefixed keybindings for
8507 S-expression editing when point is at the beginning or end of an
8508 S-expression.")
8509 (license license:gpl3+))))
8510
8511 (define-public emacs-lispyville
8512 (let ((commit "89316f01822b2135e52ca27fd308d207ef618052")
8513 (revision "3"))
8514 (package
8515 (name "emacs-lispyville")
8516 (version (git-version "0.1" revision commit))
8517 (home-page "https://github.com/noctuid/lispyville")
8518 (source (origin
8519 (method git-fetch)
8520 (uri (git-reference (url home-page) (commit commit)))
8521 (sha256
8522 (base32
8523 "10k3hxxpx2v2k4dyad7j1bzmr1q7rzvv4y6c67pa9zcqyaw8m91v"))
8524 (file-name (git-file-name name version))))
8525 (propagated-inputs
8526 `(("emacs-evil" ,emacs-evil)
8527 ("emacs-lispy" ,emacs-lispy)))
8528 (build-system emacs-build-system)
8529 (synopsis "Minor mode for integrating Evil with lispy")
8530 (description
8531 "LispyVille's main purpose is to provide a Lisp editing environment
8532 suited towards Evil users. It can serve as a minimal layer on top of lispy
8533 for better integration with Evil, but it does not require the use of lispy’s
8534 keybinding style. The provided commands allow for editing Lisp in normal
8535 state and will work even without lispy being enabled.")
8536 (license license:gpl3+))))
8537
8538 (define-public emacs-lpy
8539 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
8540 (revision "3"))
8541 (package
8542 (name "emacs-lpy")
8543 (version (git-version "0.1.0" revision commit))
8544 (source
8545 (origin
8546 (method git-fetch)
8547 (uri (git-reference
8548 (url "https://github.com/abo-abo/lpy")
8549 (commit commit)))
8550 (sha256
8551 (base32
8552 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
8553 (file-name (git-file-name name version))))
8554 (propagated-inputs
8555 `(("emacs-zoutline" ,emacs-zoutline)
8556 ("emacs-lispy" ,emacs-lispy)))
8557 (build-system emacs-build-system)
8558 (home-page "https://github.com/abo-abo/lpy")
8559 (synopsis "Modal editing for Python")
8560 (description
8561 "This package provides a minor mode for Python that binds useful
8562 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
8563 circumstances, and leaves the keys untouched outside of those situations,
8564 allowing unprefixed keys to insert their respective characters as expected.")
8565 (license license:gpl3+))))
8566
8567 (define-public emacs-clojure-mode
8568 (package
8569 (name "emacs-clojure-mode")
8570 (version "5.12.0")
8571 (source
8572 (origin
8573 (method git-fetch)
8574 (uri (git-reference
8575 (url "https://github.com/clojure-emacs/clojure-mode")
8576 (commit version)))
8577 (file-name (git-file-name name version))
8578 (sha256
8579 (base32 "14ipfy9ji39pnb9x7bzjp8lyqyxk168fx017m823j7a2g9i0sgp3"))))
8580 (build-system emacs-build-system)
8581 (native-inputs
8582 `(("emacs-buttercup" ,emacs-buttercup)
8583 ("emacs-dash" ,emacs-dash)
8584 ("emacs-paredit" ,emacs-paredit)
8585 ("emacs-s" ,emacs-s)))
8586 (arguments
8587 `(#:tests? #t
8588 #:test-command '("buttercup")
8589 #:phases
8590 (modify-phases %standard-phases
8591 (add-before 'check 'fix-tests
8592 ;; See: https://github.com/clojure-emacs/clojure-mode/issues/568
8593 (lambda _
8594 (substitute* "clojure-mode.el"
8595 (("\\(list \\(cdr project\\)\\)" line)
8596 (string-append "\"Return the list of directory roots of the PROJECT.\"\n"
8597 line)))
8598 #t)))))
8599 (home-page "https://github.com/clojure-emacs/clojure-mode")
8600 (synopsis "Major mode for Clojure code")
8601 (description
8602 "This Emacs package provides font-lock, indentation, navigation and basic
8603 refactoring for the @uref{http://clojure.org, Clojure programming language}.
8604 It is recommended to use @code{clojure-mode} with Paredit or Smartparens.")
8605 (license license:gpl3+)))
8606
8607 (define-public emacs-epl
8608 (package
8609 (name "emacs-epl")
8610 (version "0.9")
8611 (source
8612 (origin
8613 (method git-fetch)
8614 (uri (git-reference
8615 (url "https://github.com/cask/epl")
8616 (commit version)))
8617 (file-name (git-file-name name version))
8618 (sha256
8619 (base32 "0d3z5z90ln8ipk1yds1n1p8fj9yyh2kpspqjs7agl38indra3nb4"))))
8620 (build-system emacs-build-system)
8621 (home-page "https://github.com/cask/epl")
8622 (synopsis "Emacs Package Library")
8623 (description
8624 "A package management library for Emacs, based on @code{package.el}.
8625
8626 The purpose of this library is to wrap all the quirks and hassle of
8627 @code{package.el} into a sane API.")
8628 (license license:gpl3+)))
8629
8630 (define-public emacs-counsel-jq
8631 (let ((release "1.0.0")
8632 (revision "0")
8633 (commit "aaf33fc2447096cd0d03b77395fe2a95c9fe1481"))
8634 (package
8635 (name "emacs-counsel-jq")
8636 (version (git-version release revision commit))
8637 (home-page "https://github.com/200ok-ch/counsel-jq")
8638 (source
8639 (origin
8640 (method git-fetch)
8641 (uri (git-reference
8642 (url home-page)
8643 (commit commit)))
8644 (file-name (git-file-name name version))
8645 (sha256
8646 (base32 "10rz0qm8a4bl0m86kx19zq8lri047p4sxqyny08bgm9pbam0wvwn"))))
8647 (build-system emacs-build-system)
8648 (propagated-inputs
8649 `(("emacs-swiper" ,emacs-swiper)
8650 ("jq" ,jq)))
8651 (synopsis "Live preview @code{jq} queries using counsel")
8652 (description
8653 "This Emacs package provides the ability to live preview @code{jq}
8654 queries using counsel.")
8655 (license license:gpl3+))))
8656
8657 (define-public emacs-counsel-notmuch
8658 ;; Upstream provides no release. Extract version for main file.
8659 (let ((commit "a4a1562935e4180c42524c51609d1283e9be0688")
8660 (revision "0"))
8661 (package
8662 (name "emacs-counsel-notmuch")
8663 (version (git-version "1.0" revision commit))
8664 (source
8665 (origin
8666 (method git-fetch)
8667 (uri (git-reference
8668 (url "https://github.com/fuxialexander/counsel-notmuch")
8669 (commit commit)))
8670 (file-name (git-file-name name version))
8671 (sha256
8672 (base32 "01k1321d961kc2i660a5595bqk0d85f16snsxngsn5si6y83kqr7"))))
8673 (build-system emacs-build-system)
8674 (arguments
8675 `(#:phases
8676 (modify-phases %standard-phases
8677 (add-after 'unpack 'locate-notmuch
8678 (lambda* (#:key inputs #:allow-other-keys)
8679 (make-file-writable "counsel-notmuch.el")
8680 (emacs-substitute-variables "counsel-notmuch.el"
8681 ("counsel-notmuch-path"
8682 (string-append (assoc-ref inputs "notmuch")
8683 "/bin/notmuch")))
8684 #t)))))
8685 (inputs
8686 `(("emacs-counsel" ,emacs-counsel)
8687 ("notmuch" ,notmuch)
8688 ("emacs-s" ,emacs-s)))
8689 (home-page "https://github.com/fuxialexander/counsel-notmuch")
8690 (synopsis "Search emails in Notmuch asynchronously with Ivy")
8691 (description
8692 "This package can be used to search emails in Notmuch
8693 asynchronously, with Counsel and Ivy. Simply call
8694 @code{counsel-notmuch} and input your Notmuch query.")
8695 (license license:gpl3+))))
8696
8697 (define-public emacs-counsel-projectile
8698 ;; Use a recent commit in order to fix recent breakage with Ivy.
8699 (let ((commit "06b03c1080d3ccc3fa9b9c41b1ccbcf13f058e4b")
8700 (revision "0"))
8701 (package
8702 (name "emacs-counsel-projectile")
8703 (version (git-version "0.3.1" revision commit))
8704 (source
8705 (origin
8706 (method git-fetch)
8707 (uri (git-reference
8708 (url "https://github.com/ericdanan/counsel-projectile")
8709 (commit commit)))
8710 (file-name (git-file-name name version))
8711 (sha256
8712 (base32 "10afil6grwxj1x8fxd3ar7ikw3s3hzrkjsjin8wzchbz04389l7s"))))
8713 (build-system emacs-build-system)
8714 (propagated-inputs
8715 `(("emacs-counsel" ,emacs-counsel)
8716 ("emacs-projectile" ,emacs-projectile)))
8717 (home-page "https://github.com/ericdanan/counsel-projectile")
8718 (synopsis "Enhance Projectile with Ivy")
8719 (description
8720 "This package uses Ivy to provide additional actions for Projectile
8721 commands and replacements for existing functions.")
8722 (license license:gpl3+))))
8723
8724 (define-public emacs-qml-mode
8725 (package
8726 (name "emacs-qml-mode")
8727 (version "0.4")
8728 (source (origin
8729 (method git-fetch)
8730 (uri (git-reference
8731 (url "https://github.com/coldnew/qml-mode")
8732 (commit version)))
8733 (file-name (git-file-name name version))
8734 (sha256
8735 (base32
8736 "1sncsvzjfgmhp4m8w5jd4y51k24n2jfpgvrkd64wlhhzbj3wb947"))))
8737 (build-system emacs-build-system)
8738 (home-page "https://github.com/coldnew/qml-mode/")
8739 (synopsis "Qt Modeling Language (QML) mode for Emacs")
8740 (description "This package provides the @code{qml-mode} major Emacs mode
8741 for editing source files written in the Qt Modeling Language (QML) user
8742 interface markup language. It provides syntax highlighting and basic
8743 navigation commands. @code{qml-mode} is derived from code{js-mode}, the Emacs
8744 builtin JavaScript mode.")
8745 (license license:gpl2+)))
8746
8747 (define-public emacs-queue
8748 (package
8749 (name "emacs-queue")
8750 (version "0.2")
8751 (source (origin
8752 (method url-fetch)
8753 (uri (string-append "https://elpa.gnu.org/packages/queue-"
8754 version ".el"))
8755 (sha256
8756 (base32
8757 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
8758 (build-system emacs-build-system)
8759 (home-page "https://www.dr-qubit.org/emacs_data-structures.html")
8760 (synopsis "Queue data structure for Emacs")
8761 (description
8762 "This Emacs library provides queue data structure. These queues can be
8763 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
8764 stack, i.e. elements can be added to the front or back of the queue, and can
8765 be removed from the front. This type of data structure is sometimes called an
8766 \"output-restricted deque\".")
8767 (license license:gpl3+)))
8768
8769 (define-public emacs-quickrun
8770 (package
8771 (name "emacs-quickrun")
8772 (version "2.3.1")
8773 (source
8774 (origin
8775 (method git-fetch)
8776 (uri (git-reference
8777 (url "https://github.com/emacsorphanage/quickrun")
8778 (commit version)))
8779 (sha256
8780 (base32 "0a1n2v09h0n7d9p2izflqqang4ny0b46dlqvmxvkkik4bb6f4wcz"))
8781 (file-name (git-file-name name version))))
8782 (build-system emacs-build-system)
8783 (home-page "https://github.com/emacsorphanage/quickrun")
8784 (synopsis "Execute editing buffer and show its output quickly")
8785 (description
8786 "This package evaluates the content of a buffer, or region, and displays
8787 the result. Quickrun executes not only script languages (Perl, Ruby, Python
8788 etc), but also compiling languages (C, C++, Go, Java etc) and markup
8789 languages.")
8790 (license license:gpl3+)))
8791
8792 (define-public emacs-pkg-info
8793 (package
8794 (name "emacs-pkg-info")
8795 (version "0.6")
8796 (source
8797 (origin
8798 (method git-fetch)
8799 (uri (git-reference
8800 (url "https://github.com/lunaryorn/pkg-info.el")
8801 (commit version)))
8802 (file-name (git-file-name name version))
8803 (sha256
8804 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
8805 (build-system emacs-build-system)
8806 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
8807 (home-page "https://github.com/lunaryorn/pkg-info.el")
8808 (synopsis "Information about Emacs packages")
8809 (description
8810 "This library extracts information from the installed Emacs packages.")
8811 (license license:gpl3+)))
8812
8813 (define-public emacs-spinner
8814 (package
8815 (name "emacs-spinner")
8816 (version "1.7.3")
8817 (source (origin
8818 (method url-fetch)
8819 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
8820 version ".el"))
8821 (sha256
8822 (base32
8823 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
8824 (build-system emacs-build-system)
8825 (home-page "https://github.com/Malabarba/spinner.el")
8826 (synopsis "Emacs mode-line spinner for operations in progress")
8827 (description
8828 "This Emacs package adds spinners and progress-bars to the mode-line for
8829 ongoing operations.")
8830 (license license:gpl3+)))
8831
8832 (define-public emacs-sparql-mode
8833 (package
8834 (name "emacs-sparql-mode")
8835 (version "4.0.2")
8836 (source
8837 (origin
8838 (method git-fetch)
8839 (uri (git-reference
8840 (url "https://github.com/ljos/sparql-mode")
8841 (commit (string-append "v" version))))
8842 (file-name (git-file-name name version))
8843 (sha256
8844 (base32 "0hqp8r24wvzrkl630wbm0lynrcrnawv2yn2a3xgwqwwhwgva35rn"))))
8845 (build-system emacs-build-system)
8846 (propagated-inputs
8847 `(("emacs-company" ,emacs-company)))
8848 (home-page "https://github.com/ljos/sparql-mode")
8849 (synopsis "SPARQL mode for Emacs")
8850 (description
8851 "This package is a major mode for Emacs that provides syntax highlighting
8852 for SPARQL. It can also execute queries against a SPARQL HTTP endpoint, such
8853 as Fuseki or DBPedia.")
8854 (license license:gpl3+)))
8855
8856 (define-public emacs-better-defaults
8857 (package
8858 (name "emacs-better-defaults")
8859 (version "0.1.3")
8860 (source
8861 (origin
8862 (method git-fetch)
8863 (uri (git-reference
8864 (url "https://github.com/technomancy/better-defaults")
8865 (commit version)))
8866 (file-name (git-file-name name version))
8867 (sha256
8868 (base32
8869 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
8870 (build-system emacs-build-system)
8871 (home-page "https://github.com/technomancy/better-defaults")
8872 (synopsis "Better defaults for Emacs")
8873 (description
8874 "Better defaults attempts to address the most obvious deficiencies of the
8875 Emacs default configuration in uncontroversial ways that nearly everyone can
8876 agree upon.")
8877 (license license:gpl3+)))
8878
8879 (define-public emacs-undohist-el
8880 (package
8881 (name "emacs-undohist-el")
8882 (version "0.2.1")
8883 (source
8884 (origin
8885 (method git-fetch)
8886 (uri (git-reference
8887 (url "https://github.com/m2ym/undohist-el")
8888 (commit version)))
8889 (file-name (git-file-name name version))
8890 (sha256
8891 (base32 "0hmx2b20nrxg2lb8vplgrzdh8chgxwlbmjvbq5scddggd302sd56"))))
8892 (build-system emacs-build-system)
8893 (home-page "https://github.com/m2ym/undohist-el")
8894 (synopsis "Save undo history between sessions")
8895 (description "This package allows persistent use of undo history for
8896 individual file buffers.")
8897 (license license:gpl3+)))
8898
8899 (define-public emacs-eprime
8900 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
8901 (package
8902 (name "emacs-eprime")
8903 (version (string-append "20140513-" (string-take commit 7)))
8904 (source (origin
8905 (method url-fetch)
8906 (uri (string-append "https://raw.githubusercontent.com"
8907 "/AndrewHynes/eprime-mode/"
8908 commit "/eprime-mode.el"))
8909 (file-name (string-append "eprime-" version ".el"))
8910 (sha256
8911 (base32
8912 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
8913 (build-system emacs-build-system)
8914 (home-page "https://github.com/AndrewHynes/eprime-mode")
8915 (synopsis "E-prime checking mode for Emacs")
8916 (description "This package provides an E-prime checking mode for Emacs
8917 that highlights non-conforming text. The subset of the English language called
8918 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
8919 (license license:gpl3+))))
8920
8921 (define-public emacs-julia-mode
8922 (package
8923 (name "emacs-julia-mode")
8924 (version "0.4")
8925 (source
8926 (origin
8927 (method git-fetch)
8928 (uri (git-reference
8929 (url "https://github.com/JuliaEditorSupport/julia-emacs")
8930 (commit version)))
8931 (file-name (git-file-name name version))
8932 (sha256
8933 (base32
8934 "1w131jb9mhvyjxa0p93iwfhzidgbcs6b8i6jg79yisqb9wchik99"))))
8935 (build-system emacs-build-system)
8936 (arguments
8937 `(#:tests? #t
8938 #:test-command '("emacs" "--batch"
8939 "-l" "julia-mode-tests.el"
8940 "-f" "ert-run-tests-batch-and-exit")))
8941 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
8942 (synopsis "Major mode for Julia")
8943 (description "This Emacs package provides a mode for the Julia
8944 programming language.")
8945 (license license:expat)))
8946
8947 (define-public emacs-julia-repl
8948 (package
8949 (name "emacs-julia-repl")
8950 (version "1.3.0")
8951 (source (origin
8952 (method git-fetch)
8953 (uri (git-reference
8954 (url "https://github.com/tpapp/julia-repl")
8955 (commit version)))
8956 (file-name (git-file-name name version))
8957 (sha256
8958 (base32
8959 "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"))))
8960 (build-system emacs-build-system)
8961 (home-page "https://github.com/tpapp/julia-repl")
8962 (synopsis "Minor mode for interacting with a Julia REPL")
8963 (description "This package provides a minor mode for interacting with a
8964 Julia REPL running inside Emacs. The julia process is started in an ANSI
8965 terminal (term), which allows text formatting and colors, and interaction with
8966 the help system and the debugger. It is recommended that you use this minor
8967 mode with the package emacs-julia-mode.")
8968 (license license:expat)))
8969
8970 (define-public emacs-julia-snail
8971 (package
8972 (name "emacs-julia-snail")
8973 (version "1.0.0rc4") ;rc5 requires CSTParser (julia package)
8974 (source (origin
8975 (method git-fetch)
8976 (uri (git-reference
8977 (url "https://github.com/gcv/julia-snail")
8978 (commit version)))
8979 (file-name (git-file-name name version))
8980 (sha256
8981 (base32
8982 "065ix3jycsx3wvkq7a6060i93caxisdvgxgqb1l6rq15n4qln78y"))))
8983 (build-system emacs-build-system)
8984 (arguments
8985 `(#:phases
8986 (modify-phases %standard-phases
8987 (add-after 'install 'JuliaSnail-jl
8988 (lambda* (#:key outputs #:allow-other-keys)
8989 (let ((out (assoc-ref outputs "out")))
8990 (install-file "JuliaSnail.jl"
8991 (string-append out "/share/emacs/site-lisp/")))
8992 #t)))))
8993 (inputs
8994 `(("emacs-dash" ,emacs-dash)
8995 ("emacs-s" ,emacs-s)
8996 ("emacs-spinner" ,emacs-spinner)
8997 ("emacs-xref" ,emacs-xref)))
8998 (propagated-inputs
8999 `(("libvterm" ,libvterm)
9000 ("emacs-julia-mode" ,emacs-julia-mode) ;required by parser
9001 ("emacs-parsec" ,emacs-parsec) ;required by parser
9002 ("emacs-vterm" ,emacs-vterm)))
9003 (home-page "https://github.com/gcv/julia-snail")
9004 (synopsis "Development environment and REPL interaction package for Julia")
9005 (description "This package provides a development environment and REPL
9006 interaction package for Julia in the spirit of Common Lisp’s SLIME and
9007 Clojure’s CIDER. It enables convenient and dynamic REPL-driven development.")
9008 (license license:gpl3)))
9009
9010 (define-public emacs-smex
9011 (package
9012 (name "emacs-smex")
9013 (version "3.0")
9014 (source (origin
9015 (method url-fetch)
9016 (uri (string-append "https://raw.githubusercontent.com"
9017 "/nonsequitur/smex/" version "/smex.el"))
9018 (file-name (string-append "smex-" version ".el"))
9019 (sha256
9020 (base32
9021 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
9022 (build-system emacs-build-system)
9023 (home-page "https://github.com/nonsequitur/smex/")
9024 (synopsis "M-x interface with Ido-style fuzzy matching")
9025 (description
9026 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
9027 convenient interface to your recently and most frequently used commands. And
9028 to all the other commands, too.")
9029 (license license:gpl3+)))
9030
9031 (define-public emacs-js2-mode
9032 (package
9033 (name "emacs-js2-mode")
9034 (version "20201220")
9035 (source
9036 (origin
9037 (method git-fetch)
9038 (uri (git-reference
9039 (url "https://github.com/mooz/js2-mode")
9040 (commit version)))
9041 (file-name (git-file-name name version))
9042 (sha256
9043 (base32 "00jy917cgp5xzfgs4m0spzlbqk8mg63layin8nxmn2647rfjnik4"))))
9044 (build-system emacs-build-system)
9045 (arguments
9046 `(#:tests? #t
9047 #:test-command '("make" "test")))
9048 (home-page "https://github.com/mooz/js2-mode/")
9049 (synopsis "Improved JavaScript editing mode for Emacs")
9050 (description
9051 "Js2-mode provides a JavaScript major mode for Emacs that is more
9052 advanced than the built-in javascript-mode. Features include accurate syntax
9053 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
9054 errors and strict-mode warnings, smart line-wrapping within comments and
9055 strings, and code folding.")
9056 (license license:gpl3+)))
9057
9058 (define-public emacs-nodejs-repl
9059 (package
9060 (name "emacs-nodejs-repl")
9061 (version "0.2.4")
9062 (source (origin
9063 (method git-fetch)
9064 (uri (git-reference
9065 (url "https://github.com/abicky/nodejs-repl.el")
9066 (commit version)))
9067 (file-name (git-file-name name version))
9068 (sha256
9069 (base32
9070 "0a5mmg3cmdi73giblp07ksl06xzl9nb2m3f96ny4r3rv0ar3v1bx"))))
9071 (build-system emacs-build-system)
9072 (inputs
9073 `(("node" ,node)))
9074 (native-inputs
9075 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
9076 (arguments
9077 `(#:phases
9078 (modify-phases %standard-phases
9079 (add-after 'unpack 'set-shell
9080 ;; Setting the SHELL environment variable is required for the tests
9081 ;; to find sh.
9082 (lambda _
9083 (setenv "SHELL" (which "sh"))
9084 #t))
9085 (add-after 'unpack 'configure
9086 (lambda* (#:key inputs outputs #:allow-other-keys)
9087 (let ((node (assoc-ref inputs "node")))
9088 ;; Specify the absolute file names of the various
9089 ;; programs so that everything works out-of-the-box.
9090 (make-file-writable "nodejs-repl.el")
9091 (emacs-substitute-variables
9092 "nodejs-repl.el"
9093 ("nodejs-repl-command"
9094 (string-append node "/bin/node")))))))
9095 #:tests? #t
9096 #:test-command '("emacs" "-Q" "--batch"
9097 "-L" "."
9098 "-l" "test/test.el"
9099 "-f" "ert-run-tests-batch-and-exit")))
9100 (home-page "https://github.com/abicky/nodejs-repl.el")
9101 (synopsis "Node.js REPL inside Emacs")
9102 (description
9103 "This program is derived from comint-mode and provides the following
9104 features:
9105
9106 @itemize
9107 @item TAB completion same as Node.js REPL
9108 @item file name completion in string
9109 @item incremental history search
9110 @end itemize")
9111 (license license:gpl3+)))
9112
9113 (define-public emacs-typescript-mode
9114 (package
9115 (name "emacs-typescript-mode")
9116 (version "0.3")
9117 (source (origin
9118 (method git-fetch)
9119 (uri (git-reference
9120 (url "https://github.com/ananthakumaran/typescript.el")
9121 (commit (string-append "v" version))))
9122 (file-name (git-file-name name version))
9123 (sha256
9124 (base32
9125 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
9126 (build-system emacs-build-system)
9127 (home-page "https://github.com/ananthakumaran/typescript.el")
9128 (synopsis "Emacs major mode for editing Typescript code")
9129 (description
9130 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
9131 This is much more robust and works with @code{cc-mode}'s comment
9132 filling (mostly). The modifications to the original @code{javascript.el} mode
9133 mainly consisted in replacing \"javascript\" with \"typescript\"
9134
9135 The main features of this Typescript mode are syntactic highlighting (enabled
9136 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
9137 indentation and filling of comments and C preprocessor fontification.")
9138 (license license:gpl3+)))
9139
9140 (define-public emacs-tide
9141 (package
9142 (name "emacs-tide")
9143 (version "4.0.2")
9144 (source (origin
9145 (method git-fetch)
9146 (uri (git-reference
9147 (url "https://github.com/ananthakumaran/tide")
9148 (commit (string-append "v" version))))
9149 (file-name (git-file-name name version))
9150 (sha256
9151 (base32
9152 "1n2dihpl53a48jis3l4rry581wpr5lxjd433drlkaa4lqgx8cw67"))))
9153 (build-system emacs-build-system)
9154 (propagated-inputs
9155 `(("emacs-dash" ,emacs-dash)
9156 ("emacs-s" ,emacs-s)
9157 ("emacs-flycheck" ,emacs-flycheck)
9158 ("emacs-typescript-mode" ,emacs-typescript-mode)))
9159 (home-page "https://github.com/ananthakumaran/tide")
9160 (synopsis "Typescript IDE for Emacs")
9161 (description
9162 "Tide is an Interactive Development Environment (IDE) for Emacs which
9163 provides the following features:
9164
9165 @itemize
9166 @item ElDoc
9167 @item Auto complete
9168 @item Flycheck
9169 @item Jump to definition, Jump to type definition
9170 @item Find occurrences
9171 @item Rename symbol
9172 @item Imenu
9173 @item Compile On Save
9174 @item Highlight Identifiers
9175 @item Code Fixes
9176 @item Code Refactor
9177 @item Organize Imports
9178 @end itemize")
9179 (license license:gpl3+)))
9180
9181 (define-public emacs-markdown-mode
9182 (package
9183 (name "emacs-markdown-mode")
9184 (version "2.4")
9185 (source
9186 (origin
9187 (method git-fetch)
9188 (uri (git-reference
9189 (url "https://github.com/jrblevin/markdown-mode")
9190 (commit (string-append "v" version))))
9191 (file-name (git-file-name name version))
9192 (sha256
9193 (base32 "0g0ja4h651yfabm3k6gbw4y8w7wibc9283fyfzb33kjj38ivl5d7"))))
9194 (build-system emacs-build-system)
9195 (home-page "https://jblevins.org/projects/markdown-mode/")
9196 (synopsis "Emacs Major mode for Markdown files")
9197 (description
9198 "Markdown-mode is a major mode for editing Markdown-formatted text files
9199 in Emacs.")
9200 (license license:gpl3+)))
9201
9202 (define-public emacs-evil-markdown
9203 (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b")
9204 (revision "2"))
9205 (package
9206 (name "emacs-evil-markdown")
9207 (version (git-version "0.0.2" revision commit))
9208 (source
9209 (origin
9210 (method git-fetch)
9211 (uri (git-reference
9212 (url "https://github.com/Somelauw/evil-markdown")
9213 (commit commit)))
9214 (file-name (git-file-name name version))
9215 (sha256
9216 (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p"))))
9217 (build-system emacs-build-system)
9218 (propagated-inputs
9219 `(("emacs-evil" ,emacs-evil)
9220 ("emacs-markdown-mode" ,emacs-markdown-mode)))
9221 (home-page "https://github.com/Somelauw/evil-markdown/")
9222 (synopsis "Evil keybindings for @code{markdown-mode}")
9223 (description
9224 "This package provides custom text objects and bindings for
9225 @code{markdown-mode}.")
9226 (license license:gpl3+))))
9227
9228 (define-public emacs-edit-indirect
9229 (package
9230 (name "emacs-edit-indirect")
9231 (version "0.1.6")
9232 (source
9233 (origin
9234 (method git-fetch)
9235 (uri (git-reference
9236 (url "https://github.com/Fanael/edit-indirect")
9237 (commit version)))
9238 (file-name (git-file-name name version))
9239 (sha256
9240 (base32 "189nvmlkki1jfszm9i0crbb1p4nzgmbly0wpvpg0i8vmw7vrpl40"))))
9241 (build-system emacs-build-system)
9242 (home-page "https://github.com/Fanael/edit-indirect")
9243 (synopsis "Edit regions in separate buffers")
9244 (description "This package allows you to edit regions in separate buffers,
9245 like @code{org-edit-src-code} but for arbitrary regions.")
9246 (license license:bsd-2)))
9247
9248 (define-public emacs-projectile
9249 (package
9250 (name "emacs-projectile")
9251 (version "2.3.0")
9252 (source (origin
9253 (method url-fetch)
9254 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
9255 "/projectile/v" version "/projectile.el"))
9256 (file-name (string-append "projectile-" version ".el"))
9257 (sha256
9258 (base32
9259 "1a2drmvx80076d52w46rgynwndj78l3ljr71pdzp9g9hh71mr27y"))))
9260 (build-system emacs-build-system)
9261 (propagated-inputs
9262 `(("emacs-dash" ,emacs-dash)
9263 ("emacs-pkg-info" ,emacs-pkg-info)))
9264 (home-page "https://github.com/bbatsov/projectile")
9265 (synopsis "Manage and navigate projects in Emacs easily")
9266 (description
9267 "This library provides easy project management and navigation. The
9268 concept of a project is pretty basic - just a folder containing special file.
9269 Currently git, mercurial and bazaar repos are considered projects by default.
9270 If you want to mark a folder manually as a project just create an empty
9271 .projectile file in it.")
9272 (license license:gpl3+)))
9273
9274 (define-public emacs-skeletor
9275 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
9276 (revision "1"))
9277 (package
9278 (name "emacs-skeletor")
9279 (version (git-version "1.6.1" revision commit))
9280 (source (origin
9281 (method git-fetch)
9282 (uri (git-reference
9283 (url "https://github.com/chrisbarrett/skeletor.el")
9284 (commit commit)))
9285 (file-name (git-file-name name version))
9286 (sha256
9287 (base32
9288 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
9289 (build-system emacs-build-system)
9290 (propagated-inputs
9291 `(("emacs-s" ,emacs-s)
9292 ("emacs-f" ,emacs-f)
9293 ("emacs-dash" ,emacs-dash)
9294 ("emacs-let-alist" ,emacs-let-alist)))
9295 (native-inputs
9296 `(("emacs-ert-runner" ,emacs-ert-runner)))
9297 (arguments
9298 `(#:include (cons "^project-skeletons\\/" %default-include)
9299 ;; XXX: one failing test involving initializing a git repo
9300 #:phases
9301 (modify-phases %standard-phases
9302 (add-before 'check 'make-test-writable
9303 (lambda _
9304 (make-file-writable "test/skeletor-test.el")
9305 #t))
9306 (add-before 'check 'remove-git-test
9307 (lambda _
9308 (emacs-batch-edit-file "test/skeletor-test.el"
9309 `(progn
9310 (progn
9311 (goto-char (point-min))
9312 (re-search-forward
9313 "ert-deftest initialises-git-repo")
9314 (beginning-of-line)
9315 (kill-sexp))
9316 (basic-save-buffer)))
9317 #t)))
9318 #:tests? #t
9319 #:test-command '("ert-runner")))
9320 (home-page "https://github.com/chrisbarrett/skeletor.el")
9321 (synopsis "Project skeletons for Emacs")
9322 (description "This package provides project templates and automates the
9323 mundane parts of setting up a new project, such as version control, licenses,
9324 and tooling.")
9325 (license license:gpl3+))))
9326
9327 (define-public emacs-elfeed
9328 (package
9329 (name "emacs-elfeed")
9330 (version "3.4.1")
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/skeeto/elfeed")
9336 (commit version)))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32 "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"))))
9340 (build-system emacs-build-system)
9341 (arguments
9342 `(#:tests? #t
9343 #:test-command '("make" "test")))
9344 (home-page "https://github.com/skeeto/elfeed")
9345 (synopsis "Atom/RSS feed reader for Emacs")
9346 (description
9347 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
9348 and RSS, with a user interface inspired by notmuch.")
9349 (license license:gpl3+)))
9350
9351 (define-public emacs-elfeed-org
9352 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
9353 (package
9354 (name "emacs-elfeed-org")
9355 (version (git-version "0.1" "1" commit))
9356 (source
9357 (origin
9358 (method git-fetch)
9359 (uri (git-reference
9360 (url "https://github.com/remyhonig/elfeed-org")
9361 (commit commit)))
9362 (file-name (git-file-name name version))
9363 (sha256
9364 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
9365 (build-system emacs-build-system)
9366 (propagated-inputs
9367 `(("emacs-elfeed" ,emacs-elfeed)
9368 ("emacs-org" ,emacs-org)
9369 ("emacs-dash" ,emacs-dash)
9370 ("emacs-s" ,emacs-s)))
9371 (native-inputs
9372 `(("ert-runner" ,emacs-ert-runner)
9373 ("emacs-xtest" ,emacs-xtest)))
9374 (arguments
9375 `(#:tests? #t
9376 #:test-command '("ert-runner" "-L" "org-mode/lisp")
9377 #:phases
9378 (modify-phases %standard-phases
9379 (add-before 'check 'chmod
9380 (lambda _
9381 (chmod "test/fixture-mark-feed-ignore.org" #o644)
9382 #t)))))
9383 (home-page "https://github.com/remyhonig/elfeed-org")
9384 (synopsis "Configure Elfeed with an Org-mode file")
9385 (description
9386 "@code{elfeed-org} lets you manage your Elfeed subscriptions
9387 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
9388 the regular flat list, where there is no hierarchy and tag names are
9389 duplicated a lot. Org-mode makes the book keeping of tags and feeds
9390 much easier.")
9391 (license license:gpl3+))))
9392
9393 (define-public emacs-elfeed-protocol
9394 (package
9395 (name "emacs-elfeed-protocol")
9396 (version "0.8.0")
9397 (source
9398 (origin
9399 (method git-fetch)
9400 (uri (git-reference
9401 (url "https://github.com/fasheng/elfeed-protocol")
9402 (commit version)))
9403 (file-name (git-file-name name version))
9404 (sha256
9405 (base32 "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp"))))
9406 (build-system emacs-build-system)
9407 (propagated-inputs
9408 `(("emacs-elfeed" ,emacs-elfeed)))
9409 (home-page "https://github.com/fasheng/elfeed-protocol")
9410 (synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed")
9411 (description
9412 "Elfeed-protocol provides extra protocols to make self-hosting RSS
9413 readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work
9414 with Elfeed.")
9415 (license license:gpl3+)))
9416
9417 (define-public emacs-elfeed-score
9418 (package
9419 (name "emacs-elfeed-score")
9420 (version "0.7.7")
9421 (source
9422 (origin
9423 (method git-fetch)
9424 (uri (git-reference
9425 (url "https://github.com/sp1ff/elfeed-score")
9426 (commit version)))
9427 (file-name (git-file-name name version))
9428 (sha256
9429 (base32
9430 "07xid0a31ghknbfwj8dxzbqkg4sfayjhlqvp17p2bzlf1mj0zjyd"))))
9431 (build-system emacs-build-system)
9432 (propagated-inputs
9433 `(("emacs-elfeed" ,emacs-elfeed)))
9434 (home-page "https://github.com/sp1ff/elfeed-score")
9435 (synopsis "Gnus-style scoring for Elfeed")
9436 (description
9437 "Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It
9438 brings Gnus-style scoring to your RSS feeds. Elfeed, by default, displays
9439 feed entries by date. This package allows you to setup rules for assigning
9440 numeric scores to entries, and sorting entries with higher scores ahead of
9441 those with lower, regardless of date. The idea is to prioritize content
9442 important to you.")
9443 (license license:gpl3+)))
9444
9445 (define-public emacs-el-x
9446 (package
9447 (name "emacs-el-x")
9448 (version "0.3.1")
9449 (source (origin
9450 (method git-fetch)
9451 (uri (git-reference
9452 (url "https://github.com/sigma/el-x")
9453 (commit (string-append "v" version))))
9454 (file-name (git-file-name name version))
9455 (sha256
9456 (base32
9457 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
9458 (build-system emacs-build-system)
9459 (arguments
9460 `(#:phases
9461 (modify-phases %standard-phases
9462 ;; Move the source files to the top level, which is included in
9463 ;; the EMACSLOADPATH.
9464 (add-after 'unpack 'move-source-files
9465 (lambda _
9466 (let ((el-files (find-files "./lisp" ".*\\.el$")))
9467 (for-each (lambda (f)
9468 (rename-file f (basename f)))
9469 el-files))
9470 #t)))))
9471 (home-page "https://github.com/sigma/el-x")
9472 (synopsis "Emacs Lisp extensions")
9473 (description "command@{emacs-el-x} defines the @code{dflet} macro to
9474 provide the historic behavior of @code{flet}, as well as
9475 @code{declare-function} stub for older Emacs.")
9476 (license license:gpl2+)))
9477
9478 (define-public emacs-mocker
9479 (package
9480 (name "emacs-mocker")
9481 (version "0.5.0")
9482 (source (origin
9483 (method git-fetch)
9484 (uri (git-reference
9485 (url "https://github.com/sigma/mocker.el")
9486 (commit (string-append "v" version))))
9487 (file-name (git-file-name name version))
9488 (sha256
9489 (base32
9490 "1dc514cqbfmg33sb3j90s5jmw6jnm3wzvs0zhw3maz13bp7w6z48"))))
9491 (build-system emacs-build-system)
9492 (arguments
9493 `(#:tests? #t
9494 #:test-command '("ert-runner")))
9495 (native-inputs
9496 `(("ert-runner" ,emacs-ert-runner)))
9497 (propagated-inputs
9498 `(("emacs-el-x" ,emacs-el-x)))
9499 (home-page "https://github.com/sigma/mocker.el")
9500 (synopsis "Mocking framework for Emacs Lisp")
9501 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
9502 It uses regular Lisp rather than a domain specific language (DSL), which
9503 maximizes flexibility (at the expense of conciseness).")
9504 (license license:gpl2+)))
9505
9506 (define-public emacs-find-file-in-project
9507 (package
9508 (name "emacs-find-file-in-project")
9509 (version "6.0.0")
9510 (source (origin
9511 (method git-fetch)
9512 (uri (git-reference
9513 (url "https://github.com/technomancy/find-file-in-project")
9514 (commit version)))
9515 (file-name (git-file-name name version))
9516 (sha256
9517 (base32
9518 "1iagywiihwv96y9p811xlx4cmbsj8h76niymprv1vm4fj6cmihr6"))))
9519 (build-system emacs-build-system)
9520 (arguments
9521 `(#:tests? #t
9522 #:test-command '("ert-runner" "tests")))
9523 (native-inputs
9524 `(("ert-runner" ,emacs-ert-runner)))
9525 (home-page "https://github.com/technomancy/find-file-in-project")
9526 (synopsis "File/directory finder for Emacs")
9527 (description "@code{find-file-in-project} finds files or
9528 directories quickly in the current project. The project root is detected
9529 automatically when Git, Subversion or Mercurial are used. It also provides
9530 functions to assist in reviewing changes on files.")
9531 (license license:gpl3+)))
9532
9533 (define-public emacs-pyvenv
9534 (package
9535 (name "emacs-pyvenv")
9536 (version "1.21")
9537 (source (origin
9538 (method git-fetch)
9539 (uri (git-reference
9540 (url "https://github.com/jorgenschaefer/pyvenv")
9541 (commit (string-append "v" version))))
9542 (file-name (git-file-name name version))
9543 (sha256
9544 (base32
9545 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
9546 (build-system emacs-build-system)
9547 (arguments
9548 `(#:phases
9549 (modify-phases %standard-phases
9550 ;; This phase incorrectly attempts to substitute "activate" and fails
9551 ;; doing so.
9552 (delete 'patch-el-files))
9553 #:tests? #t
9554 #:test-command '("ert-runner")))
9555 (native-inputs
9556 `(("ert-runner" ,emacs-ert-runner)
9557 ("emacs-mocker" ,emacs-mocker)))
9558 (home-page "https://github.com/jorgenschaefer/pyvenv")
9559 (synopsis "Python virtual environment interface for Emacs")
9560 (description "pyvenv.el is a minor mode to support using Python virtual
9561 environments (virtualenv) inside Emacs.")
9562 (license license:gpl3+)))
9563
9564 (define-public emacs-highlight-indent-guides
9565 (let ((version "0.8.5") ; from package metadata
9566 (revision "0")
9567 (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c"))
9568 (package
9569 (name "emacs-highlight-indent-guides")
9570 (version (git-version version revision commit))
9571 (source
9572 (origin
9573 (method git-fetch)
9574 (uri (git-reference
9575 (url "https://github.com/DarthFennec/highlight-indent-guides")
9576 (commit commit)))
9577 (file-name (git-file-name name version))
9578 (sha256
9579 (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2"))))
9580 (build-system emacs-build-system)
9581 (home-page
9582 "https://github.com/DarthFennec/highlight-indent-guides")
9583 (synopsis "Minor mode to highlight indentation")
9584 (description
9585 "This package provides a minor mode to highlight indentation levels via
9586 font-lock. Indent widths are dynamically discovered, which means this
9587 correctly highlights in any mode, regardless of indent width, even in
9588 languages with non-uniform indentation such as Haskell. This mode works
9589 properly around hard tabs and mixed indentation and behaves well in large
9590 buffers.")
9591 (license license:expat))))
9592
9593 (define-public emacs-highlight-indentation
9594 ;; Last release version is from 2015.
9595 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
9596 (revision "1"))
9597 (package
9598 (name "emacs-highlight-indentation")
9599 (version (git-version "0.7.0" revision commit))
9600 (source
9601 (origin
9602 (method git-fetch)
9603 (uri (git-reference
9604 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs")
9605 (commit commit)))
9606 (file-name (git-file-name name version))
9607 (sha256
9608 (base32
9609 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
9610 (build-system emacs-build-system)
9611 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
9612 (synopsis "Highlighting indentation for Emacs")
9613 (description "This package provides two minor modes to highlight
9614 indentation guides in Emacs:
9615
9616 @enumerate
9617 @item @code{highlight-indentation-mode}, which displays guidelines
9618 indentation (space indentation only).
9619 @item @code{highlight-indentation-current-column-mode}, which displays
9620 guidelines for the current-point indentation (space indentation only).
9621 @end enumerate")
9622 (license license:gpl2+))))
9623
9624 (define-public emacs-elpy
9625 (package
9626 (name "emacs-elpy")
9627 (version "1.35.0")
9628 (source (origin
9629 (method git-fetch)
9630 (uri (git-reference
9631 (url "https://github.com/jorgenschaefer/elpy")
9632 (commit version)))
9633 (file-name (git-file-name name version))
9634 (sha256
9635 (base32
9636 "07rdb9w3bxzfr07224awa541xdy116hyc2b3bpl3fc3ikddmbydk"))))
9637 (build-system emacs-build-system)
9638 (arguments
9639 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
9640 #:phases
9641 (modify-phases %standard-phases
9642 (add-after 'unpack 'patch-ffip-project-search-call
9643 (lambda _
9644 ;; Since version 6.0.0 of find-file-in-project,
9645 ;; ffip-project-search doesn't accept a third argument anymore
9646 ;; (see: https://github.com/jorgenschaefer/elpy/issues/1889).
9647 (substitute* "elpy.el"
9648 (("\\((ffip-project-search nil nil) project-root\\)" _ signature)
9649 (format #f "(let ((ffip-project-root project-root)) (~a))"
9650 signature)))))
9651 ;; The default environment of the RPC uses Virtualenv to install
9652 ;; Python dependencies from PyPI. We don't want/need this in Guix.
9653 (add-before 'check 'do-not-use-virtualenv
9654 (lambda _
9655 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
9656 (substitute* "elpy-rpc.el"
9657 (("defcustom elpy-rpc-virtualenv-path 'default")
9658 "defcustom elpy-rpc-virtualenv-path 'system"))))
9659 (add-before 'check 'build-doc
9660 (lambda _
9661 (with-directory-excursion "docs"
9662 (invoke "make" "info" "man"))
9663 ;; Move .info file at the root so that it can installed by the
9664 ;; 'move-doc phase.
9665 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")))
9666 (add-after 'build-doc 'install-manpage
9667 (lambda* (#:key outputs #:allow-other-keys)
9668 (let* ((out (assoc-ref outputs "out"))
9669 (man1 (string-append out "/share/man/man1")))
9670 (mkdir-p man1)
9671 (copy-file "docs/_build/man/elpy.1"
9672 (string-append man1 "/elpy.1"))))))
9673 #:tests? #t
9674 #:test-command '("ert-runner")))
9675 (propagated-inputs
9676 `(("emacs-company" ,emacs-company)
9677 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
9678 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
9679 ("emacs-yasnippet" ,emacs-yasnippet)
9680 ("pyvenv" ,emacs-pyvenv)
9681 ("s" ,emacs-s)
9682 ;; The following are recommended Python dependencies that make Elpy
9683 ;; much more useful. Installing these avoids Elpy prompting to install them
9684 ;; from PyPI using pip.
9685 ("python-autopep8" ,python-autopep8)
9686 ("python-black" ,python-black)
9687 ("python-flake8" ,python-flake8)
9688 ("python-jedi" ,python-jedi)
9689 ("python-rope" ,python-rope)
9690 ("python-yapf" ,python-yapf)))
9691 (native-inputs
9692 `(("ert-runner" ,emacs-ert-runner)
9693 ("emacs-f" ,emacs-f)
9694 ("python" ,python-wrapper)
9695 ;; For documentation.
9696 ("python-sphinx" ,python-sphinx)
9697 ("texinfo" ,texinfo)))
9698 (home-page "https://github.com/jorgenschaefer/elpy")
9699 (synopsis "Python development environment for Emacs")
9700 (description "Elpy brings powerful Python editing to Emacs. It combines
9701 and configures a number of other packages written in Emacs Lisp as well as
9702 Python, together offering features such as navigation, documentation,
9703 completion, interactive development and more.")
9704 (license license:gpl3+)))
9705
9706 (define-public emacs-rainbow-delimiters
9707 (package
9708 (name "emacs-rainbow-delimiters")
9709 (version "2.1.4")
9710 (source (origin
9711 (method git-fetch)
9712 (uri (git-reference
9713 (url "https://github.com/Fanael/rainbow-delimiters")
9714 (commit version)))
9715 (file-name (git-file-name name version))
9716 (sha256
9717 (base32
9718 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
9719 (build-system emacs-build-system)
9720 (home-page "https://github.com/Fanael/rainbow-delimiters")
9721 (arguments
9722 `(#:tests? #t
9723 #:test-command '("emacs" "-Q" "-batch"
9724 "-l" "rainbow-delimiters-test.el"
9725 "-f" "ert-run-tests-batch-and-exit")))
9726 (synopsis "Highlight brackets according to their depth")
9727 (description
9728 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
9729 highlights parentheses, brackets, and braces according to their depth. Each
9730 successive level is highlighted in a different color, making it easy to spot
9731 matching delimiters, orient yourself in the code, and tell which statements
9732 are at a given level.")
9733 (license license:gpl3+)))
9734
9735 (define-public emacs-rainbow-identifiers
9736 (package
9737 (name "emacs-rainbow-identifiers")
9738 (version "0.2.2")
9739 (source (origin
9740 (method url-fetch)
9741 (uri (string-append "https://raw.githubusercontent.com/Fanael"
9742 "/rainbow-identifiers/" version
9743 "/rainbow-identifiers.el"))
9744 (file-name (string-append "rainbow-identifiers-" version ".el"))
9745 (sha256
9746 (base32
9747 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
9748 (build-system emacs-build-system)
9749 (home-page "https://github.com/Fanael/rainbow-identifiers")
9750 (synopsis "Highlight identifiers in source code")
9751 (description
9752 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
9753 identifiers based on their names. Each identifier gets a color based on a hash
9754 of its name.")
9755 (license license:bsd-2)))
9756
9757 (define-public emacs-rainbow-mode
9758 (package
9759 (name "emacs-rainbow-mode")
9760 (version "1.0.5")
9761 (source
9762 (origin
9763 (method url-fetch)
9764 (uri (string-append "https://elpa.gnu.org/packages/"
9765 "rainbow-mode-" version ".el"))
9766 (sha256
9767 (base32 "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9"))))
9768 (build-system emacs-build-system)
9769 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
9770 (synopsis "Colorize color names in buffers")
9771 (description
9772 "This minor mode sets background color to strings that match color
9773 names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
9774 (license license:gpl3+)))
9775
9776 (define-public emacs-ryo-modal
9777 ;; Package has no release. Version is extracted from "Version:" keyword in
9778 ;; main file.
9779 (let ((commit "3a54312eea7023a86ca3f8eb3c03c872554bff2f")
9780 (revision "0"))
9781 (package
9782 (name "emacs-ryo-modal")
9783 (version (git-version "0.4" revision commit))
9784 (source
9785 (origin
9786 (method git-fetch)
9787 (uri (git-reference
9788 (url "https://github.com/Kungsgeten/ryo-modal")
9789 (commit commit)))
9790 (file-name (git-file-name name version))
9791 (sha256
9792 (base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95"))))
9793 (build-system emacs-build-system)
9794 (home-page "https://github.com/Kungsgeten/ryo-modal")
9795 (synopsis "Emacs minor mode for defining modal editing environments")
9796 (description "RYO modal provides a convenient way of defining modal
9797 keybindings in Emacs, and does not come with any predefined bindings.")
9798 (license license:expat))))
9799
9800 (define-public emacs-visual-fill-column
9801 (package
9802 (name "emacs-visual-fill-column")
9803 (version "2.2")
9804 (source
9805 (origin
9806 (method git-fetch)
9807 (uri (git-reference
9808 (url "https://github.com/joostkremers/visual-fill-column")
9809 (commit version)))
9810 (file-name (git-file-name name version))
9811 (sha256
9812 (base32 "1wjb4zm9mx07v0qx2fxmclg4pg0ssgnf8lp89wc56kmc0s40jhii"))))
9813 (build-system emacs-build-system)
9814 (home-page "https://github.com/joostkremers/visual-fill-column")
9815 (synopsis "Fill-column for visual-line-mode")
9816 (description
9817 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
9818 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
9819 wrapping lines at the window edge, which is the standard behaviour of
9820 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
9821 @code{fill-column} is too large for the window, the text is wrapped at the
9822 window edge.")
9823 (license license:gpl3+)))
9824
9825 (define-public emacs-writeroom
9826 (package
9827 (name "emacs-writeroom")
9828 (version "3.11")
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
9833 (url "https://github.com/joostkremers/writeroom-mode")
9834 (commit version)))
9835 (file-name (git-file-name name version))
9836 (sha256
9837 (base32
9838 "0y4jcja9kml1lq88r8b9myk39dgaggh7q7f3a43sj828hvzlccb7"))))
9839 (build-system emacs-build-system)
9840 (propagated-inputs
9841 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
9842 (home-page "https://github.com/joostkremers/writeroom-mode")
9843 (synopsis "Distraction-free writing for Emacs")
9844 (description
9845 "This package defines a minor mode for distraction-free writing. Some of
9846 the default effects include entering fullscreen, deleting other windows of the
9847 current frame, disabling the mode line, and adding margins to the buffer that
9848 restrict the text width to 80 characters.")
9849 (license license:bsd-3)))
9850
9851 (define-public emacs-ido-completing-read+
9852 (package
9853 (name "emacs-ido-completing-read+")
9854 (version "4.13")
9855 (source (origin
9856 (method url-fetch)
9857 (uri (string-append "https://raw.githubusercontent.com"
9858 "/DarwinAwardWinner/ido-ubiquitous/v"
9859 version "/ido-completing-read+.el"))
9860 (file-name (string-append "ido-completing-read+-" version ".el"))
9861 (sha256
9862 (base32
9863 "0g2ixvw2sxpvrgz78745zi6iql4501pqi85zi6j31dnc1hx1i0r6"))))
9864 (build-system emacs-build-system)
9865 (propagated-inputs
9866 `(("emacs-s" ,emacs-s)))
9867 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
9868 (synopsis "Replacement for completing-read using ido")
9869 (description
9870 "The ido-completing-read+ function is a wrapper for ido-completing-read.
9871 Importantly, it detects edge cases that ordinary ido cannot handle and either
9872 adjusts them so ido can handle them, or else simply falls back to the standard
9873 Emacs completion function instead.")
9874 (license license:gpl3+)))
9875
9876 (define-public emacs-ido-ubiquitous
9877 (package
9878 (name "emacs-ido-ubiquitous")
9879 (version "4.13")
9880 (source (origin
9881 (method url-fetch)
9882 (uri (string-append "https://raw.githubusercontent.com"
9883 "/DarwinAwardWinner/ido-ubiquitous/v"
9884 version "/ido-ubiquitous.el"))
9885 (file-name (string-append "ido-ubiquitous-" version ".el"))
9886 (sha256
9887 (base32
9888 "08iwvqknicqlffda7ixwgzw7q9g2g4j4nsxdw6544r85vaysi4cc"))))
9889 (build-system emacs-build-system)
9890 (propagated-inputs
9891 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
9892 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
9893 (synopsis "Use ido (nearly) everywhere")
9894 (description
9895 "Ido-ubiquitous enables ido-style completion for almost every function
9896 that uses the standard completion function completing-read.")
9897 (license license:gpl3+)))
9898
9899 (define-public emacs-yaml-mode
9900 (package
9901 (name "emacs-yaml-mode")
9902 (version "0.0.15")
9903 (source
9904 (origin
9905 (method git-fetch)
9906 (uri (git-reference
9907 (url "https://github.com/yoshiki/yaml-mode")
9908 (commit version)))
9909 (file-name (git-file-name name version))
9910 (sha256
9911 (base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l"))))
9912 (build-system emacs-build-system)
9913 (home-page "https://github.com/yoshiki/yaml-mode")
9914 (synopsis "Major mode for editing YAML files")
9915 (description
9916 "Yaml mode is an Emacs major mode for editing files in the YAML data
9917 serialization format. As YAML and Python share the fact that indentation
9918 determines structure, this mode provides indentation and indentation command
9919 behavior very similar to that of Python mode.")
9920 (license license:gpl3+)))
9921
9922 (define-public emacs-gitlab-ci-mode
9923 (package
9924 (name "emacs-gitlab-ci-mode")
9925 (version "20190425.11.10")
9926 (source (origin
9927 (method git-fetch)
9928 (uri (git-reference
9929 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
9930 (commit (string-append "v" version))))
9931 (file-name (git-file-name name version))
9932 (sha256
9933 (base32
9934 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
9935 (build-system emacs-build-system)
9936 (propagated-inputs
9937 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
9938 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
9939 (synopsis "Emacs mode for editing GitLab CI files")
9940 (description
9941 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
9942 files. It provides syntax highlighting and completion for keywords and
9943 special variables. An interface to GitLab’s CI file linter is also provided
9944 via @code{gitlab-ci-lint}.")
9945 (license license:gpl3+)))
9946
9947 (define-public emacs-gitlab-snip-helm
9948 (package
9949 (name "emacs-gitlab-snip-helm")
9950 (version "0.0.2")
9951 (source (origin
9952 (method git-fetch)
9953 (uri (git-reference
9954 (url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
9955 (commit version)))
9956 (file-name (git-file-name name version))
9957 (sha256
9958 (base32
9959 "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
9960 (build-system emacs-build-system)
9961 (propagated-inputs
9962 `(("emacs-dash" ,emacs-dash)
9963 ("emacs-helm" ,emacs-helm)))
9964 (home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
9965 (synopsis "GitLab snippet API interaction for Emacs")
9966 (description "This package provides GitLab snippet API interaction for
9967 Emacs.")
9968 (license license:gpl3+)))
9969
9970 (define-public emacs-web-mode
9971 (package
9972 (name "emacs-web-mode")
9973 (version "17")
9974 (source
9975 (origin
9976 (method git-fetch)
9977 (uri (git-reference
9978 (url "https://github.com/fxbois/web-mode")
9979 (commit (string-append "v" version))))
9980 (file-name (git-file-name name version))
9981 (sha256
9982 (base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
9983 (build-system emacs-build-system)
9984 (synopsis "Major mode for editing web templates")
9985 (description "Web mode is an Emacs major mode for editing web templates
9986 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
9987 client/server side engines). Web mode is compatible with many template
9988 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
9989 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
9990 Dust.js, React/JSX, Angularjs, ejs, etc.")
9991 (home-page "https://web-mode.org/")
9992 (license license:gpl3+)))
9993
9994 (define-public emacs-templatel
9995 (package
9996 (name "emacs-templatel")
9997 (version "0.1.4")
9998 (source
9999 (origin
10000 (method git-fetch)
10001 (uri (git-reference
10002 (url "https://github.com/clarete/templatel")
10003 (commit version)))
10004 (file-name (git-file-name name version))
10005 (sha256
10006 (base32 "1k33h503038l2bcr8gs020z2cjxfs94lamkdgv52cvd9i20d0kqq"))))
10007 (build-system emacs-build-system)
10008 (home-page "https://clarete.li/templatel")
10009 (synopsis "Jinja inspired template language for Emacs Lisp")
10010 (description
10011 "templatel is the modern templating language. It provides variable
10012 substitution and control flow through a clean and powerful language inspired
10013 by Python's Jinja.")
10014 (license license:gpl3+)))
10015
10016 (define-public emacs-wgrep
10017 (package
10018 (name "emacs-wgrep")
10019 (version "2.3.2")
10020 (source (origin
10021 (method git-fetch)
10022 (uri (git-reference
10023 (url "https://github.com/mhayashi1120/Emacs-wgrep")
10024 (commit version)))
10025 (file-name (git-file-name name version))
10026 (sha256
10027 (base32
10028 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
10029 (build-system emacs-build-system)
10030 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
10031 (synopsis "Edit a grep buffer and apply those changes to the files")
10032 (description
10033 "Emacs wgrep allows you to edit a grep buffer and apply those changes
10034 to the file buffer. Several backends are supported beside the classic grep:
10035 ack, ag, helm and pt.")
10036 (license license:gpl3+)))
10037
10038 (define-public emacs-helm
10039 (package
10040 (name "emacs-helm")
10041 (version "3.7.0")
10042 (source
10043 (origin
10044 (method git-fetch)
10045 (uri (git-reference
10046 (url "https://github.com/emacs-helm/helm")
10047 (commit (string-append "v" version))))
10048 (file-name (git-file-name name version))
10049 (sha256
10050 (base32 "0lxq13bsbh7xawgsq08kjm7s28x9yl8mid3538flv5kcc1rv2b9y"))))
10051 (build-system emacs-build-system)
10052 (propagated-inputs
10053 `(("emacs-async" ,emacs-async)
10054 ("emacs-popup" ,emacs-popup)))
10055 (home-page "https://emacs-helm.github.io/helm/")
10056 (synopsis "Incremental completion and selection narrowing
10057 framework for Emacs")
10058 (description "Helm is incremental completion and selection narrowing
10059 framework for Emacs. It will help steer you in the right direction when
10060 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
10061 of @code{anything.el} originally written by Tamas Patrovic and can be
10062 considered to be its successor. Helm sets out to clean up the legacy code in
10063 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
10064 not tied in the trap of backward compatibility.")
10065 (license license:gpl3+)))
10066
10067 (define-public emacs-helm-org
10068 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
10069 (revision "3"))
10070 (package
10071 (name "emacs-helm-org")
10072 (version (git-version "1.0" revision commit))
10073 (source
10074 (origin
10075 (method git-fetch)
10076 (uri (git-reference
10077 (url "https://github.com/emacs-helm/helm-org")
10078 (commit commit)))
10079 (file-name (git-file-name name version))
10080 (sha256
10081 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
10082 (build-system emacs-build-system)
10083 (propagated-inputs
10084 `(("emacs-helm" ,emacs-helm)))
10085 (home-page "https://github.com/emacs-helm/helm-org")
10086 (synopsis "Helm interface to the Silver Searcher")
10087 (description
10088 "This package provides a frontend for grepping tools like ag and ack,
10089 as well as features for editing search results.")
10090 (license license:gpl3+))))
10091
10092 (define-public emacs-helm-swoop
10093 (package
10094 (name "emacs-helm-swoop")
10095 (version "3.0.0")
10096 (source
10097 (origin
10098 (method git-fetch)
10099 (uri (git-reference
10100 (url "https://github.com/emacsorphanage/helm-swoop")
10101 (commit version)))
10102 (file-name (git-file-name name version))
10103 (sha256
10104 (base32 "1qjay0fvryxa8n1ws6r1by512p2fylb2nj7ycm1497fcalb0d706"))))
10105 (build-system emacs-build-system)
10106 (propagated-inputs
10107 `(("emacs-helm" ,emacs-helm)))
10108 (home-page "https://github.com/emacsorphanage/helm-swoop")
10109 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
10110 (description
10111 "This package builds on the Helm interface to provide several commands
10112 for search-based navigation of buffers.")
10113 (license license:gpl2+)))
10114
10115 (define-public emacs-helm-ag
10116 (package
10117 (name "emacs-helm-ag")
10118 (version "0.62")
10119 (source
10120 (origin
10121 (method git-fetch)
10122 (uri (git-reference
10123 (url "https://github.com/syohex/emacs-helm-ag")
10124 (commit version)))
10125 (file-name (git-file-name name version))
10126 (sha256
10127 (base32 "0xgbpp8xqdiyvfs64x0q909g77ml28z3irw2lnasvpsg0dfdm2zy"))))
10128 (build-system emacs-build-system)
10129 (propagated-inputs
10130 `(("emacs-helm" ,emacs-helm)))
10131 (home-page "https://github.com/syohex/emacs-helm-ag")
10132 (synopsis "Helm interface to the Silver Searcher")
10133 (description
10134 "This package provides a frontend for grepping tools like ag and ack,
10135 as well as features for editing search results.")
10136 (license license:gpl3+)))
10137
10138 (define-public emacs-helm-projectile
10139 (package
10140 (name "emacs-helm-projectile")
10141 (version "1.0.0")
10142 (source
10143 (origin
10144 (method git-fetch)
10145 (uri (git-reference
10146 (url "https://github.com/bbatsov/helm-projectile")
10147 (commit (string-append "v" version))))
10148 (file-name (git-file-name name version))
10149 (sha256
10150 (base32 "05gpg90gg03yalmv9fw1y9k21i2l617iipvs0p9n80aln8nrzs8g"))))
10151 (build-system emacs-build-system)
10152 (propagated-inputs
10153 `(("emacs-helm" ,emacs-helm)
10154 ("emacs-projectile" ,emacs-projectile)))
10155 (home-page "https://github.com/bbatsov/helm-projectile")
10156 (synopsis "Helm integration for Projectile")
10157 (description
10158 "This Emacs library provides a Helm interface for Projectile.")
10159 (license license:gpl3+)))
10160
10161 (define-public emacs-taskrunner
10162 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
10163 (revision "1"))
10164 (package
10165 (name "emacs-taskrunner")
10166 (version (git-version "0.6" revision commit))
10167 (source
10168 (origin
10169 (method git-fetch)
10170 (uri (git-reference
10171 (url "https://github.com/emacs-taskrunner/emacs-taskrunner")
10172 (commit commit)))
10173 (file-name (git-file-name name version))
10174 (sha256
10175 (base32
10176 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
10177 (build-system emacs-build-system)
10178 (propagated-inputs
10179 `(("emacs-async" ,emacs-async)
10180 ("emacs-projectile" ,emacs-projectile)))
10181 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
10182 (synopsis "Retrieve tasks from various build systems and task-runners")
10183 (description "This package parses Makefiles and build-system files for
10184 multiple project types.")
10185 (license license:gpl3+))))
10186
10187 (define-public emacs-ivy-taskrunner
10188 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
10189 (revision "1"))
10190 (package
10191 (name "emacs-ivy-taskrunner")
10192 (version (git-version "0.9" revision commit))
10193 (source
10194 (origin
10195 (method git-fetch)
10196 (uri (git-reference
10197 (url "https://github.com/emacs-taskrunner/ivy-taskrunner")
10198 (commit commit)))
10199 (file-name (git-file-name name version))
10200 (sha256
10201 (base32
10202 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
10203 (build-system emacs-build-system)
10204 (propagated-inputs
10205 `(("emacs-ivy" ,emacs-ivy)
10206 ("emacs-taskrunner" ,emacs-taskrunner)
10207 ("emacs-projectile" ,emacs-projectile)))
10208 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
10209 (synopsis "Retrieve build-system tasks using Ivy")
10210 (description "This package provides an Ivy interface for selecting
10211 Makefile targets.")
10212 (license license:gpl3+))))
10213
10214 (define-public emacs-helm-taskrunner
10215 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
10216 (revision "1"))
10217 (package
10218 (name "emacs-helm-taskrunner")
10219 (version (git-version "0.9" revision commit))
10220 (source
10221 (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/emacs-taskrunner/helm-taskrunner")
10225 (commit commit)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32
10229 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
10230 (build-system emacs-build-system)
10231 (propagated-inputs
10232 `(("emacs-helm" ,emacs-helm)
10233 ("emacs-taskrunner" ,emacs-taskrunner)
10234 ("emacs-projectile" ,emacs-projectile)))
10235 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
10236 (synopsis "Retrieve build-system tasks using Helm")
10237 (description "This package provides a Helm interface for selecting
10238 Makefile targets.")
10239 (license license:gpl3+))))
10240
10241 (define-public emacs-helm-make
10242 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
10243 (revision "1"))
10244 (package
10245 (name "emacs-helm-make")
10246 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
10247 (source
10248 (origin
10249 (method git-fetch)
10250 (uri (git-reference
10251 (url "https://github.com/abo-abo/helm-make")
10252 (commit commit)))
10253 (file-name (git-file-name name version))
10254 (sha256
10255 (base32
10256 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
10257 (build-system emacs-build-system)
10258 (propagated-inputs
10259 `(("emacs-helm" ,emacs-helm)
10260 ("emacs-projectile" ,emacs-projectile)))
10261 (home-page "https://github.com/abo-abo/helm-make")
10262 (synopsis "Select a Makefile target with helm")
10263 (description "@code{helm-make} or @code{helm-make-projectile} will give
10264 you a @code{helm} selection of directory Makefile's targets. Selecting a
10265 target will call @code{compile} on it.")
10266 (license license:gpl3+))))
10267
10268 (define-public emacs-cider
10269 (package
10270 (name "emacs-cider")
10271 (version "1.1.0")
10272 (source
10273 (origin
10274 (method git-fetch)
10275 (uri (git-reference
10276 (url "https://github.com/clojure-emacs/cider")
10277 (commit (string-append "v" version))))
10278 (file-name (git-file-name name version))
10279 (sha256
10280 (base32 "0wigprg45n6q6jmkw2a9s7mr4h500l2ky9244rrdvkjsgj6af8q8"))))
10281 (build-system emacs-build-system)
10282 (arguments
10283 '(#:exclude ;don't exclude 'cider-test.el'
10284 '("^\\.dir-locals\\.el$" "^test/")))
10285 (propagated-inputs
10286 `(("emacs-clojure-mode" ,emacs-clojure-mode)
10287 ("emacs-parseedn" ,emacs-parseedn)
10288 ("emacs-pkg-info" ,emacs-pkg-info)
10289 ("emacs-queue" ,emacs-queue)
10290 ("emacs-sesman" ,emacs-sesman)
10291 ("emacs-spinner" ,emacs-spinner)))
10292 (home-page "https://cider.mx/")
10293 (synopsis "Clojure development environment for Emacs")
10294 (description
10295 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
10296 provide an interactive development experience similar to the one you'd get
10297 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
10298 Geiser) and Smalltalk.
10299
10300 CIDER is the successor to the now deprecated combination of using SLIME +
10301 swank-clojure for Clojure development.
10302
10303 There are plenty of differences between CIDER and SLIME, but the core ideas
10304 are pretty much the same (and SLIME served as the principle inspiration for
10305 CIDER).")
10306 (license license:gpl3+)))
10307
10308 (define-public emacs-sly
10309 ;; Update together with sbcl-slynk.
10310 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
10311 ;; Versions are not always tagged. Besides, latest master contains
10312 ;; important fixes.
10313 (package
10314 (name "emacs-sly")
10315 (version (git-version "1.0.43" "4" commit))
10316 (source
10317 (origin
10318 (method git-fetch)
10319 (uri (git-reference
10320 (url "https://github.com/joaotavora/sly")
10321 (commit commit)))
10322 (file-name (git-file-name name version))
10323 (sha256
10324 (base32
10325 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))))
10326 (build-system emacs-build-system)
10327 (native-inputs
10328 `(("texinfo" ,texinfo)))
10329 (arguments
10330 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
10331 #:phases
10332 ;; The package provides autoloads.
10333 (modify-phases %standard-phases
10334 (delete 'make-autoloads)
10335 (add-before 'install 'install-doc
10336 (lambda* (#:key outputs #:allow-other-keys)
10337 (let* ((out (assoc-ref outputs "out"))
10338 (info-dir (string-append out "/share/info"))
10339 (doc-dir (string-append out "/share/doc/"
10340 ,name "-" ,version))
10341 (doc-files '( ;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
10342 "README.md" "NEWS.md" "PROBLEMS.md"
10343 "CONTRIBUTING.md")))
10344 (with-directory-excursion "doc"
10345 (substitute* "Makefile"
10346 (("infodir=/usr/local/info")
10347 (string-append "infodir=" info-dir))
10348 ;; Don't rebuild contributors.texi since we are not in
10349 ;; the git repo.
10350 (("contributors.texi: Makefile texinfo-tabulate.awk")
10351 "contributors.texi:"))
10352 (invoke "make" "html/index.html")
10353 (invoke "make" "sly.info")
10354 ;; TODO: We need minimal texlive with "preprint" package
10355 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
10356 (install-file "sly.info" info-dir)
10357 (copy-recursively "html" (string-append doc-dir "/html")))
10358 (for-each (lambda (f)
10359 (install-file f doc-dir)
10360 (delete-file f))
10361 doc-files)
10362 (delete-file-recursively "doc")
10363 #t))))))
10364 (home-page "https://github.com/joaotavora/sly")
10365 (synopsis "Sylvester the Cat's Common Lisp IDE")
10366 (description
10367 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
10368 contains the following improvements over it:
10369
10370 @enumerate
10371 @item A full-featured REPL based on Emacs's @code{comint.el}. Everything
10372 can be copied to the REPL;
10373 @item Stickers, or live code annotations that record values as code traverses them.
10374 @item Flex-style completion out-of-the-box, using Emacs's completion API.
10375 Company, Helm, and other supported natively, no plugin required;
10376 @item An interactive Trace Dialog;
10377 @item Multiple inspectors and multiple REPLs, with independent history.
10378 @item Regexp-capable @code{M-x sly-apropos}.
10379 @item Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box;
10380 @item \"Presentations\" replaced by interactive backreferences, which
10381 highlight the object and remain stable throughout the REPL session;
10382 @end enumerate
10383
10384 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
10385 xref, etc.) are still available, but with better integration.")
10386 (license license:gpl3+))))
10387
10388 (define-public emacs-sly-quicklisp
10389 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
10390 (revision "1"))
10391 (package
10392 (name "emacs-sly-quicklisp")
10393 (version (git-version "0.0.0" revision commit))
10394 (home-page "https://github.com/joaotavora/sly-quicklisp")
10395 (source
10396 (origin
10397 (method git-fetch)
10398 (uri (git-reference
10399 (url home-page)
10400 (commit commit)))
10401 (file-name (git-file-name name version))
10402 (sha256
10403 (base32
10404 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
10405 (build-system emacs-build-system)
10406 (propagated-inputs
10407 `(("emacs-sly" ,emacs-sly)))
10408 (arguments
10409 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10410 #:phases
10411 ;; The package provides autoloads.
10412 (modify-phases %standard-phases
10413 (delete 'make-autoloads)
10414 (delete 'enable-autoloads-compilation))))
10415 (synopsis "Quicklisp support for SLY")
10416 (description
10417 "@command{sly-quicklisp} is an external contrib for SLY that provides a
10418 sly-quickload command that prompts the user for a package to install. ")
10419 (license license:gpl3+))))
10420
10421 (define-public emacs-sly-asdf
10422 (let ((commit "32ce14994e8faee9321605cec36d156b02996c46")
10423 (revision "4"))
10424 (package
10425 (name "emacs-sly-asdf")
10426 (version (git-version "0.1.0" revision commit))
10427 (home-page "https://github.com/mmgeorge/sly-asdf")
10428 (source
10429 (origin
10430 (method git-fetch)
10431 (uri (git-reference
10432 (url home-page)
10433 (commit commit)))
10434 (file-name (git-file-name name version))
10435 (sha256
10436 (base32
10437 "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd"))))
10438 (build-system emacs-build-system)
10439 (propagated-inputs
10440 `(("emacs-sly" ,emacs-sly)
10441 ("emacs-popup" ,emacs-popup)))
10442 (arguments
10443 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
10444 (synopsis "ASDF contrib for SLY")
10445 (description
10446 "@command{sly-asdf} is an external contrib for SLY that provides
10447 additional support for working with ASDF projects.")
10448 (license license:gpl3+))))
10449
10450 (define-public emacs-sly-named-readtables
10451 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
10452 (revision "1"))
10453 (package
10454 (name "emacs-sly-named-readtables")
10455 (version (git-version "0.1" revision commit))
10456 (home-page "https://github.com/joaotavora/sly-named-readtables")
10457 (source
10458 (origin
10459 (method git-fetch)
10460 (uri (git-reference
10461 (url home-page)
10462 (commit commit)))
10463 (file-name (git-file-name name version))
10464 (sha256
10465 (base32
10466 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
10467 (build-system emacs-build-system)
10468 (propagated-inputs
10469 `(("emacs-sly" ,emacs-sly)))
10470 (arguments
10471 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10472 #:phases (modify-phases %standard-phases
10473 ;; Byte compilation of the autoload file fails.
10474 (delete 'enable-autoloads-compilation))))
10475 (synopsis "Named-readtables support for SLY")
10476 (description
10477 "@command{sly-named-readtables} is an external contrib for SLY that
10478 enables different readtables to be active in different parts of the same
10479 file.")
10480 (license license:gpl3+))))
10481
10482 (define-public emacs-sly-macrostep
10483 (let ((commit "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
10484 (revision "2"))
10485 (package
10486 (name "emacs-sly-macrostep")
10487 (version (git-version "0.1" revision commit))
10488 (home-page "https://github.com/joaotavora/sly-macrostep")
10489 (source
10490 (origin
10491 (method git-fetch)
10492 (uri (git-reference
10493 (url home-page)
10494 (commit commit)))
10495 (file-name (git-file-name name version))
10496 (sha256
10497 (base32
10498 "1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"))))
10499 (build-system emacs-build-system)
10500 (propagated-inputs
10501 `(("emacs-sly" ,emacs-sly)
10502 ("emacs-macrostep" ,emacs-macrostep)))
10503 (arguments
10504 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10505 #:phases
10506 ;; The package provides autoloads.
10507 (modify-phases %standard-phases
10508 (delete 'make-autoloads)
10509 (delete 'enable-autoloads-compilation))))
10510 (synopsis "Expand Common Lisp macros inside source files with SLY")
10511 (description
10512 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
10513 inside the source file.")
10514 (license license:gpl3+))))
10515
10516 (define-public emacs-sly-stepper
10517 (let ((commit "ec3c0a7f3c8b82926882e5fcfdacf67b86d989f8"))
10518 (package
10519 (name "emacs-sly-stepper")
10520 (version (git-version "0.0.0" "1" commit))
10521 (home-page "https://github.com/joaotavora/sly-stepper")
10522 (source
10523 (origin
10524 (method git-fetch)
10525 (uri (git-reference
10526 (url home-page)
10527 (commit commit)))
10528 (file-name (git-file-name name version))
10529 (sha256
10530 (base32
10531 "1hxniaxifdw3m4y4yssgy22xcmmf558wx7rpz66wy5hwybjslf7b"))
10532 (modules '((guix build utils)))
10533 (snippet
10534 '(begin
10535 (map delete-file (find-files "." ".*-autoloads\\.elc?$"))
10536 #t))))
10537 (build-system emacs-build-system)
10538 (inputs
10539 `(("cl-agnostic-lizard" ,cl-agnostic-lizard)))
10540 (propagated-inputs
10541 `(("emacs-sly" ,emacs-sly)))
10542 (arguments
10543 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10544 #:phases
10545 (modify-phases %standard-phases
10546 (add-after 'expand-load-path 'expand-sly-contrib
10547 (lambda* (#:key inputs #:allow-other-keys)
10548 (let* ((sly (assoc-ref inputs "emacs-sly"))
10549 (contrib (find-files sly "^contrib$" #:directories? #t)))
10550 (setenv "EMACSLOADPATH"
10551 (string-append (string-join contrib ":")
10552 ":"
10553 (getenv "EMACSLOADPATH")))
10554 #t)))
10555 (add-after 'install 'find-agnostic-lizard
10556 (lambda* (#:key inputs outputs #:allow-other-keys)
10557 (let* ((out (assoc-ref outputs "out"))
10558 (file (string-append (elpa-directory out)
10559 "/slynk-stepper.lisp"))
10560 (asd (string-append
10561 (assoc-ref inputs "cl-agnostic-lizard")
10562 "/share/common-lisp/systems/agnostic-lizard.asd")))
10563 ;; agnostic-lizard is found at runtime.
10564 (substitute* file
10565 (("\\(require :asdf\\)")
10566 (string-append
10567 "(require :asdf)\n"
10568 " (funcall (read-from-string \"asdf:load-asd\")\n"
10569 " \"" asd "\")\n")))))))))
10570 (synopsis "Portable Common Lisp stepper interface for Emacs")
10571 (description
10572 "This package features a new, portable, visual stepping facility for
10573 Common Lisp, realized as an extension to SLY.")
10574 (license license:gpl3+))))
10575
10576 (define-public emacs-sly-package-inferred
10577 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
10578 (revision "1"))
10579 (package
10580 (name "emacs-sly-package-inferred")
10581 (version (git-version "0.1" revision commit))
10582 (home-page "https://github.com/40ants/sly-package-inferred")
10583 (source
10584 (origin
10585 (method git-fetch)
10586 (uri (git-reference
10587 (url home-page)
10588 (commit commit)))
10589 (file-name (git-file-name name version))
10590 (sha256
10591 (base32
10592 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
10593 (build-system emacs-build-system)
10594 (propagated-inputs
10595 `(("emacs-sly" ,emacs-sly)))
10596 (arguments
10597 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
10598 #:phases
10599 ;; The package provides autoloads.
10600 (modify-phases %standard-phases
10601 (delete 'make-autoloads))))
10602 (synopsis "Improved package inferred systems support for SLY")
10603 (description
10604 "@command{sly-package-inferred} is an external contrib for SLY that
10605 replaces its completion with a function which is better suited for systems
10606 using package inferred style.")
10607 (license license:gpl3+))))
10608
10609 (define-public emacs-lua-mode
10610 (package
10611 (name "emacs-lua-mode")
10612 (version "20201010")
10613 (home-page "https://github.com/immerrr/lua-mode/")
10614 (source
10615 (origin
10616 (method git-fetch)
10617 (uri (git-reference
10618 (url home-page)
10619 (commit (string-append "v" version))))
10620 (file-name (git-file-name name version))
10621 (sha256
10622 (base32 "0zf43f7fkrgki6pbc09zak975p4jx1yf3ipfs38hypfl9s5d6xrf"))))
10623 (build-system emacs-build-system)
10624 (arguments
10625 `(#:tests? #t
10626 #:test-command '("buttercup" "-l" "lua-mode.el")))
10627 (native-inputs
10628 `(("emacs-buttercup" ,emacs-buttercup)
10629 ("lua" ,lua)))
10630 (synopsis "Major mode for lua")
10631 (description
10632 "This Emacs package provides a mode for @uref{https://www.lua.org/,
10633 Lua programming language}.")
10634 (license license:gpl2+)))
10635
10636 (define-public emacs-ebuild-mode
10637 (package
10638 (name "emacs-ebuild-mode")
10639 (version "1.52")
10640 (source
10641 (origin
10642 (method url-fetch)
10643 (uri (string-append
10644 "https://dev.gentoo.org/~ulm/emacs/"
10645 "ebuild-mode-" version ".tar.xz"))
10646 (file-name (string-append name "-" version ".tar.xz"))
10647 (sha256
10648 (base32 "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h"))))
10649 (build-system emacs-build-system)
10650 (arguments
10651 '(#:phases
10652 (modify-phases %standard-phases
10653 (add-after 'install 'install-doc
10654 (lambda* (#:key outputs #:allow-other-keys)
10655 (invoke "make" "ebuild-mode.info")
10656 (install-file "ebuild-mode.info"
10657 (string-append (assoc-ref outputs "out")
10658 "/share/info"))
10659 #t)))))
10660 (native-inputs
10661 `(("texinfo" ,texinfo)))
10662 (home-page "https://devmanual.gentoo.org")
10663 (synopsis "Major modes for Gentoo package files")
10664 (description
10665 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
10666 news items, openrc and runscripts.")
10667 (license license:gpl2+)))
10668
10669 (define-public emacs-evil
10670 (package
10671 (name "emacs-evil")
10672 (version "1.14.0")
10673 (source
10674 (origin
10675 (method git-fetch)
10676 (uri (git-reference
10677 (url "https://github.com/emacs-evil/evil")
10678 (commit version)))
10679 (file-name (git-file-name name version))
10680 (sha256
10681 (base32
10682 "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"))))
10683 (arguments
10684 `(#:phases
10685 (modify-phases %standard-phases
10686 (add-before 'check 'fix-test-helpers
10687 (lambda _
10688 (substitute* "evil-test-helpers.el"
10689 (("\\(undo-tree-mode 1\\)") ""))
10690 #t))
10691 (add-before 'install 'make-info
10692 (lambda _
10693 (with-directory-excursion "doc/build/texinfo"
10694 (invoke "makeinfo" "--no-split"
10695 "-o" "evil.info" "evil.texi")))))))
10696 (build-system emacs-build-system)
10697 (native-inputs `(("texinfo" ,texinfo)))
10698 (home-page "https://github.com/emacs-evil/evil")
10699 (synopsis "Extensible Vi layer for Emacs")
10700 (description
10701 "Evil is an extensible vi layer for Emacs. It emulates the
10702 main features of Vim, and provides facilities for writing custom
10703 extensions.")
10704 (license license:gpl3+)))
10705
10706 (define-public emacs-evil-collection
10707 (package
10708 (name "emacs-evil-collection")
10709 (version "0.0.5")
10710 (source (origin
10711 (method git-fetch)
10712 (uri (git-reference
10713 (url "https://github.com/emacs-evil/evil-collection")
10714 (commit version)))
10715 (file-name (git-file-name name version))
10716 (sha256
10717 (base32
10718 "0dxrwcf5dnww0a9mvwjkcgm8ry3y282v9l85jh0645zk71nz1in3"))))
10719 (build-system emacs-build-system)
10720 (propagated-inputs
10721 `(("emacs-evil" ,emacs-evil)
10722 ("emacs-annalist" ,emacs-annalist)))
10723 (arguments
10724 `(#:include (cons* "^modes\\/" %default-include)))
10725 (home-page "https://github.com/emacs-evil/evil-collection")
10726 (synopsis "Collection of Evil bindings for many major and minor modes")
10727 (description "This is a collection of Evil bindings for the parts of
10728 Emacs that Evil does not cover properly by default, such as @code{help-mode},
10729 @code{M-x calendar}, Eshell and more.")
10730 (license license:gpl3+)))
10731
10732 (define-public emacs-evil-goggles
10733 (let ((commit "08a22058fd6a167f9f1b684c649008caef571459")
10734 (version "0.0.1")
10735 (revision "0"))
10736 (package
10737 (name "emacs-evil-goggles")
10738 (version (git-version version revision commit))
10739 (source
10740 (origin
10741 (method git-fetch)
10742 (uri (git-reference
10743 (url "https://github.com/edkolev/evil-goggles")
10744 (commit commit)))
10745 (file-name (git-file-name name version))
10746 (sha256
10747 (base32 "1p3vjrij63v9nrcyj3b5jsqzv9y7dgv9i1inx1q7x3s90vndavac"))))
10748 (build-system emacs-build-system)
10749 (propagated-inputs
10750 `(("emacs-evil" ,emacs-evil)))
10751 (home-page "https://github.com/edkolev/evil-goggles")
10752 (synopsis "Displays visual hints when editing with evil")
10753 (description "Creates a visual pulse to indicate the region that is
10754 being deleted, changed, yanked, or pasted when using evil commands")
10755 (license license:gpl3+))))
10756
10757 (define-public emacs-goto-chg
10758 (let ((commit "2af612153bc9f5bed135d25abe62f46ddaa9027f")
10759 (version "1.7.3")
10760 (revision "2"))
10761 (package
10762 (name "emacs-goto-chg")
10763 (version (git-version version revision commit))
10764 (source
10765 (origin
10766 (method git-fetch)
10767 (uri (git-reference
10768 (url "https://github.com/emacs-evil/goto-chg")
10769 (commit commit)))
10770 (file-name (git-file-name name version))
10771 (sha256
10772 (base32
10773 "1awmvihqgw6kspx192bcp9xp56xqbma90wlhxfxmidx3bvxghwpv"))))
10774 (build-system emacs-build-system)
10775 (home-page "https://github.com/emacs-evil/goto-chg")
10776 (synopsis "Go to the last change in the Emacs buffer")
10777 (description
10778 "This package provides @code{M-x goto-last-change} command that goes to
10779 the point of the most recent edit in the current Emacs buffer. When repeated,
10780 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
10781 used for reverse direction.")
10782 (license license:gpl2+))))
10783
10784 (define-public emacs-janpath-evil-numbers
10785 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
10786 (version "0.5")
10787 (revision "1"))
10788 (package
10789 (name "emacs-janpath-evil-numbers")
10790 (version (git-version version revision commit))
10791 (source
10792 (origin
10793 (method git-fetch)
10794 (uri (git-reference
10795 (url "https://github.com/janpath/evil-numbers")
10796 (commit commit)))
10797 (file-name (git-file-name name version))
10798 (sha256
10799 (base32
10800 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
10801 (build-system emacs-build-system)
10802 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10803 (home-page "https://github.com/janpath/evil-numbers")
10804 (synopsis "Increment and decrement numeric literals")
10805 (description
10806 "This package provides functionality to search for a number up to the
10807 end of a line and increment or decrement it.")
10808 (license license:gpl3+))))
10809
10810 (define-public emacs-evil-owl
10811 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
10812 (revision "3"))
10813 (package
10814 (name "emacs-evil-owl")
10815 (version (git-version "0.0.1" revision commit))
10816 (source
10817 (origin
10818 (method git-fetch)
10819 (uri (git-reference
10820 (url "https://github.com/mamapanda/evil-owl")
10821 (commit commit)))
10822 (file-name (git-file-name name version))
10823 (sha256
10824 (base32
10825 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
10826 (build-system emacs-build-system)
10827 (propagated-inputs
10828 `(("emacs-evil" ,emacs-evil)))
10829 (arguments
10830 `(#:tests? #t
10831 #:test-command '("make" "test")))
10832 (home-page "https://github.com/mamapanda/evil-owl")
10833 (synopsis "Preview candidates when using Evil registers and marks")
10834 (description
10835 "This package supplements Evil's register- and mark-based commands with
10836 a popup window for previewing candidates.")
10837 (license license:gpl3+))))
10838
10839 (define-public emacs-evil-args
10840 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
10841 (revision "1"))
10842 (package
10843 (name "emacs-evil-args")
10844 (version (git-version "1.0" revision commit))
10845 (source
10846 (origin
10847 (method git-fetch)
10848 (uri (git-reference
10849 (url "https://github.com/wcsmith/evil-args")
10850 (commit commit)))
10851 (file-name (git-file-name name version))
10852 (sha256
10853 (base32
10854 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
10855 (build-system emacs-build-system)
10856 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10857 (home-page "https://github.com/wcsmith/evil-args")
10858 (synopsis "Motions and text objects for delimited arguments in Evil")
10859 (description
10860 "This package provides motions and text objects for delimited
10861 arguments, such as arguments separated by commas and semicolons.")
10862 (license license:expat))))
10863
10864 (define-public emacs-evil-escape
10865 (package
10866 (name "emacs-evil-escape")
10867 (version "3.14")
10868 (source
10869 (origin
10870 (method git-fetch)
10871 (uri
10872 (git-reference
10873 (url "https://github.com/syl20bnr/evil-escape")
10874 (commit (string-append "v" version))))
10875 (file-name (git-file-name name version))
10876 (sha256
10877 (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"))))
10878 (propagated-inputs
10879 `(("emacs-evil" ,emacs-evil)))
10880 (build-system emacs-build-system)
10881 (home-page "https://github.com/syl20bnr/evil-escape")
10882 (synopsis "Escape from insert state and everything else in Emacs")
10883 (description
10884 "Evil escape provides a customizable key sequence to escape from insert
10885 state and everything else in Emacs.")
10886 (license license:gpl3+)))
10887
10888 (define-public emacs-evil-exchange
10889 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
10890 (version "0.41")
10891 (revision "1"))
10892 (package
10893 (name "emacs-evil-exchange")
10894 (version (git-version version revision commit))
10895 (source
10896 (origin
10897 (method git-fetch)
10898 (uri (git-reference
10899 (url "https://github.com/Dewdrops/evil-exchange")
10900 (commit commit)))
10901 (file-name (git-file-name name version))
10902 (sha256
10903 (base32
10904 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
10905 (build-system emacs-build-system)
10906 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10907 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
10908 (arguments
10909 `(#:phases
10910 (modify-phases %standard-phases
10911 (add-before 'check 'fix-makefile
10912 (lambda _
10913 (substitute* "Makefile"
10914 (("cask exec ") ""))
10915 #t)))
10916 #:tests? #t
10917 #:test-command '("make" "test")))
10918 (home-page "https://github.com/Dewdrops/evil-exchange")
10919 (synopsis "Exchange text easily within Evil")
10920 (description
10921 "This package, a port of @code{vim-exchange}, provides an Evil operator
10922 for exchanging text.")
10923 (license license:gpl3+))))
10924
10925 (define-public emacs-evil-replace-with-register
10926 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
10927 (version "0.1")
10928 (revision "1"))
10929 (package
10930 (name "emacs-evil-replace-with-register")
10931 (version (git-version version revision commit))
10932 (source
10933 (origin
10934 (method git-fetch)
10935 (uri (git-reference
10936 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
10937 (commit commit)))
10938 (file-name (git-file-name name version))
10939 (sha256
10940 (base32
10941 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
10942 (build-system emacs-build-system)
10943 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10944 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
10945 (synopsis "Quickly replace text with the contents of a register")
10946 (description
10947 "This package provides an Evil operator for replacing text with the
10948 contents of a register.")
10949 (license license:gpl3+))))
10950
10951 (define-public emacs-evil-indent-plus
10952 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
10953 (version "1.0.0")
10954 (revision "1"))
10955 (package
10956 (name "emacs-evil-indent-plus")
10957 (version (git-version version revision commit))
10958 (source
10959 (origin
10960 (method git-fetch)
10961 (uri (git-reference
10962 (url "https://github.com/TheBB/evil-indent-plus")
10963 (commit commit)))
10964 (file-name (git-file-name name version))
10965 (sha256
10966 (base32
10967 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
10968 (build-system emacs-build-system)
10969 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10970 (home-page "https://github.com/TheBB/evil-indent-plus")
10971 (synopsis "Text objects based on indentation")
10972 (description
10973 "This package adds new text objects for @code{evil-mode} based on
10974 blocks having the same or higher indentation, including or excluding
10975 surrounding lines.")
10976 (license license:gpl2+))))
10977
10978 (define-public emacs-evil-text-object-python
10979 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
10980 (version "1.0.1")
10981 (revision "1"))
10982 (package
10983 (name "emacs-evil-text-object-python")
10984 (version (git-version version revision commit))
10985 (source
10986 (origin
10987 (method git-fetch)
10988 (uri (git-reference
10989 (url "https://github.com/wbolster/evil-text-object-python")
10990 (commit commit)))
10991 (file-name (git-file-name name version))
10992 (sha256
10993 (base32
10994 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
10995 (build-system emacs-build-system)
10996 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
10997 (home-page "https://github.com/wbolster/evil-text-object-python")
10998 (synopsis "Text objects for Python")
10999 (description
11000 "This package provides @code{evil-mode} text objects for Python.")
11001 (license license:gpl3+))))
11002
11003 (define-public emacs-evil-lion
11004 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
11005 (revision "1"))
11006 (package
11007 (name "emacs-evil-lion")
11008 (version (git-version "0.0.2" revision commit))
11009 (source
11010 (origin
11011 (method git-fetch)
11012 (uri (git-reference
11013 (url "https://github.com/edkolev/evil-lion")
11014 (commit commit)))
11015 (file-name (git-file-name name version))
11016 (sha256
11017 (base32
11018 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
11019 (build-system emacs-build-system)
11020 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11021 (arguments
11022 `(#:tests? #t
11023 #:test-command '("make" "test")))
11024 (home-page "https://github.com/edkolev/evil-lion")
11025 (synopsis "Align operator for @code{evil-mode}")
11026 (description
11027 "This package, a port of @code{vim-lion}, provides an operator for
11028 aligning text objects based on separators.")
11029 (license license:gpl3+))))
11030
11031 (define-public emacs-evil-expat
11032 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
11033 (revision "1"))
11034 (package
11035 (name "emacs-evil-expat")
11036 (version (git-version "0.0.1" revision commit))
11037 (source
11038 (origin
11039 (method git-fetch)
11040 (uri (git-reference
11041 (url "https://github.com/edkolev/evil-expat")
11042 (commit commit)))
11043 (file-name (git-file-name name version))
11044 (sha256
11045 (base32
11046 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
11047 (build-system emacs-build-system)
11048 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11049 (arguments
11050 `(#:tests? #t
11051 #:test-command '("make" "test")))
11052 (home-page "https://github.com/edkolev/evil-expat")
11053 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
11054 (description
11055 "This package provides additional commands for the @code{ex} command
11056 line, including functions for version control with Git and for copying and
11057 pasting into and from @code{tmux} paste buffers.")
11058 (license license:gpl3+))))
11059
11060 (define-public emacs-evil-nerd-commenter
11061 (package
11062 (name "emacs-evil-nerd-commenter")
11063 (version "3.5.3")
11064 (source
11065 (origin
11066 (method git-fetch)
11067 (uri (git-reference
11068 (url "https://github.com/redguardtoo/evil-nerd-commenter")
11069 (commit version)))
11070 (file-name (git-file-name name version))
11071 (sha256
11072 (base32
11073 "1y5pn3rkqj8dxp5c7dsci621vnv6hsia74w2c1hybkkrjbka851q"))))
11074 (build-system emacs-build-system)
11075 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11076 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
11077 (synopsis "Comment and uncomment lines efficiently")
11078 (description
11079 "This package provides text objects and operators for comments within
11080 @code{evil-mode}.")
11081 (license license:gpl3+)))
11082
11083 (define-public emacs-evil-visual-replace
11084 (package
11085 (name "emacs-evil-visual-replace")
11086 (version "0.0.5")
11087 (source
11088 (origin
11089 (method git-fetch)
11090 (uri (git-reference
11091 (url "https://github.com/troyp/evil-visual-replace")
11092 (commit version)))
11093 (file-name (git-file-name name version))
11094 (sha256
11095 (base32
11096 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
11097 (build-system emacs-build-system)
11098 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11099 (home-page "https://github.com/troyp/evil-visual-replace")
11100 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
11101 (description
11102 "This package provides versions of @code{query-replace} and
11103 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
11104 (license license:gpl2+)))
11105
11106 (define-public emacs-evil-visualstar
11107 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
11108 (version "0.2.0")
11109 (revision "1"))
11110 (package
11111 (name "emacs-evil-visualstar")
11112 (version (git-version version revision commit))
11113 (source
11114 (origin
11115 (method git-fetch)
11116 (uri (git-reference
11117 (url "https://github.com/bling/evil-visualstar")
11118 (commit commit)))
11119 (file-name (git-file-name name version))
11120 (sha256
11121 (base32
11122 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
11123 (build-system emacs-build-system)
11124 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11125 (home-page "https://github.com/bling/evil-visualstar")
11126 (synopsis "Instantly search using the visual selection")
11127 (description
11128 "This package provides @code{evil-mode} functions for using selected text
11129 to search.")
11130 (license license:gpl3+))))
11131
11132 (define-public emacs-monky
11133 (package
11134 (name "emacs-monky")
11135 (version "0.1")
11136 (source (origin
11137 (method git-fetch)
11138 (uri (git-reference
11139 (url "https://github.com/ananthakumaran/monky")
11140 (commit version)))
11141 (file-name (git-file-name name version))
11142 (sha256
11143 (base32
11144 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
11145 (build-system emacs-build-system)
11146 (home-page "https://ananthakumaran.in/monky/index.html")
11147 (arguments
11148 `(#:tests? #t
11149 #:test-command '("emacs" "--batch"
11150 "-l" "test/monky-unit-test.el"
11151 "-f" "ert-run-tests-batch-and-exit")))
11152 (synopsis "Interactive interface for the Mercurial version control system")
11153 (description
11154 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
11155 can selectively commit files, view the diffs, and other things.")
11156 (license license:gpl3+)))
11157
11158 (define-public emacs-monroe
11159 (package
11160 (name "emacs-monroe")
11161 (version "0.3.1")
11162 (source
11163 (origin
11164 (method git-fetch)
11165 (uri (git-reference
11166 (url "https://github.com/sanel/monroe")
11167 (commit version)))
11168 (file-name (git-file-name name version))
11169 (sha256
11170 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
11171 (build-system emacs-build-system)
11172 (home-page "https://github.com/sanel/monroe")
11173 (synopsis "Clojure nREPL client for Emacs")
11174 (description
11175 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
11176 distribution, primarily targeting Clojure users")
11177 (license license:gpl3+)))
11178
11179 (define-public emacs-orgalist
11180 (package
11181 (name "emacs-orgalist")
11182 (version "1.13")
11183 (source
11184 (origin
11185 (method url-fetch)
11186 (uri (string-append "https://elpa.gnu.org/packages/"
11187 "orgalist-" version ".el"))
11188 (sha256
11189 (base32 "1wkxc5kcy1g4lx6pd78pa8znncjyl9zyhsvz7wpp56qmhq4hlav3"))))
11190 (build-system emacs-build-system)
11191 (home-page "https://elpa.gnu.org/packages/orgalist.html")
11192 (synopsis "Manage Org-like lists in non-Org buffers")
11193 (description "Orgalist writes and manages Org mode's plain lists in
11194 non-Org buffers. More specifically, it supports the syntax of Org mode for
11195 numbered, unnumbered, description items, checkboxes, and counter cookies.
11196
11197 The library also implements radio lists, i.e., lists written in Org syntax
11198 later translated into the host format, e.g., LaTeX or HTML.")
11199 (license license:gpl3+)))
11200
11201 (define-public emacs-writegood-mode
11202 (package
11203 (name "emacs-writegood-mode")
11204 (version "2.0.2")
11205 (home-page "https://github.com/bnbeckwith/writegood-mode")
11206 (source (origin
11207 (method git-fetch)
11208 (uri (git-reference
11209 (url home-page)
11210 (commit (string-append "v" version))))
11211 (sha256
11212 (base32
11213 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
11214 (file-name (string-append name "-checkout"))))
11215 (build-system emacs-build-system)
11216 (synopsis "Polish up poor writing on the fly")
11217 (description
11218 "This minor mode tries to find and highlight problems with your writing
11219 in English as you type. It primarily detects \"weasel words\" and abuse of
11220 passive voice.")
11221 (license license:gpl3+)))
11222
11223 (define-public emacs-neotree
11224 (package
11225 (name "emacs-neotree")
11226 (version "0.5.2")
11227 (home-page "https://github.com/jaypei/emacs-neotree")
11228 (source (origin
11229 (method git-fetch)
11230 (uri (git-reference
11231 (url home-page)
11232 (commit version)))
11233 (sha256
11234 (base32
11235 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
11236 (file-name (git-file-name name version))))
11237 (build-system emacs-build-system)
11238 (synopsis "Folder tree view for Emacs")
11239 (description "This Emacs package provides a folder tree view.")
11240 (license license:gpl3+)))
11241
11242 (define-public emacs-org
11243 (package
11244 (name "emacs-org")
11245 ;; emacs-org-contrib inherits from this package. Please update it as
11246 ;; well.
11247 (version "9.4.5")
11248 (source
11249 (origin
11250 (method url-fetch)
11251 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
11252 (sha256
11253 (base32 "0h5qhrd984vf17qc227wz68191xfgbpq32dyhw0lcz2d9i0pl3xk"))))
11254 (build-system emacs-build-system)
11255 (arguments
11256 `(#:phases
11257 (modify-phases %standard-phases
11258 ;; FIXME: The elpa tarball upstream does not include the version
11259 ;; number, remove this phase when this is fixed.
11260 ;; https://lists.gnu.org/archive/html/emacs-orgmode/2020-12/msg00729.html
11261 (add-after 'unpack 'fix-org-version
11262 (lambda _
11263 (substitute* "org-version.el"
11264 (("org-release \"\"")
11265 (string-append "org-release \"" ,version "\"")))
11266 #t))
11267 (add-after 'install 'install-documentation
11268 (lambda* (#:key outputs #:allow-other-keys)
11269 (let* ((share (string-append (assoc-ref outputs "out") "/share"))
11270 (info-dir (string-append share "/info"))
11271 (doc-dir (string-append share "/doc/" ,name "-" ,version)))
11272 (install-file "org.info" info-dir)
11273 (install-file "orgguide.info" info-dir)
11274 ;; XXX: "orgcard.pdf" is not built in Org 9.4.5.
11275 ;; (install-file "orgcard.pdf" doc-dir)
11276 )
11277 #t)))))
11278 (home-page "https://orgmode.org/")
11279 (synopsis "Outline-based notes management and organizer")
11280 (description "Org is an Emacs mode for keeping notes, maintaining TODO
11281 lists, and project planning with a fast and effective lightweight markup
11282 language. It also is an authoring system with unique support for literate
11283 programming and reproducible research.")
11284 (license license:gpl3+)))
11285
11286 (define-public emacs-org-contrib
11287 (package
11288 (inherit emacs-org)
11289 (name "emacs-org-contrib")
11290 (version "20210329")
11291 (source
11292 (origin
11293 (method url-fetch)
11294 (uri (string-append "https://orgmode.org/elpa/"
11295 "org-plus-contrib-" version ".tar"))
11296 (sha256
11297 (base32 "1l0ycz77hwmjb4sffhabb0d0hg1c9ypxbpbyv8xj5ib4nbi87f2h"))
11298 ;; ob-sclang.el is packaged separately to avoid the dependency on
11299 ;; SuperCollider and qtwebengine.
11300 (modules '((guix build utils)))
11301 (snippet '(begin (delete-file "ob-sclang.el") #t))))
11302 (arguments
11303 `(#:modules ((guix build emacs-build-system)
11304 (guix build utils)
11305 (guix build emacs-utils)
11306 (ice-9 ftw)
11307 (srfi srfi-1))
11308 #:phases
11309 (modify-phases %standard-phases
11310 (add-after 'install 'delete-org-files
11311 (lambda* (#:key inputs outputs #:allow-other-keys)
11312 (let* ((out (assoc-ref outputs "out"))
11313 (org (assoc-ref inputs "org"))
11314 (contrib-files
11315 (map basename (find-files out)))
11316 (org+contrib-files
11317 (map basename (find-files org)))
11318 (duplicates (lset-intersection string=?
11319 contrib-files
11320 org+contrib-files)))
11321 (with-directory-excursion (elpa-directory out)
11322 (for-each delete-file duplicates))
11323 #t))))))
11324 (propagated-inputs
11325 `(("arduino-mode" ,emacs-arduino-mode)
11326 ("cider" ,emacs-cider)
11327 ("org" ,emacs-org)))
11328 (synopsis "Contributed packages to Org mode")
11329 (description "Org is an Emacs mode for keeping notes, maintaining TODO
11330 lists, and project planning with a fast and effective plain-text system.
11331
11332 This package is equivalent to org-plus-contrib, but only includes additional
11333 files that you would find in @file{contrib/} from the git repository.")))
11334
11335 (define-public emacs-org-pretty-table
11336 ;; There is no release yet.
11337 (let ((commit "1331c600b83d95b28730b1bfcb48369ac1cf12ef")
11338 (revision "0"))
11339 (package
11340 (name "emacs-org-pretty-table")
11341 (version (git-version "0.0.1" revision commit))
11342 (source
11343 (origin
11344 (method git-fetch)
11345 (uri (git-reference
11346 (url "https://github.com/Fuco1/org-pretty-table")
11347 (commit commit)))
11348 (file-name (git-file-name name version))
11349 (sha256
11350 (base32 "0yvqxh66y400n2n5ykmb1zrzd80bakffpwn6nmf37728x4cj8krh"))))
11351 (build-system emacs-build-system)
11352 (home-page "https://github.com/Fuco1/org-pretty-table")
11353 (synopsis "Make tables in Org mode and OrgTbl mode prettier")
11354 (description
11355 "This package displays tables in Org mode and OrgTbl mode using Unicode
11356 characters.")
11357 (license license:gpl3+))))
11358
11359 (define-public emacs-ob-sclang
11360 (package
11361 (inherit emacs-org-contrib)
11362 (name "emacs-ob-sclang")
11363 (source
11364 (origin (inherit (package-source emacs-org-contrib))
11365 (modules '((guix build utils)))
11366 (snippet
11367 '(begin
11368 (for-each (lambda (file)
11369 (unless (equal? file "./ob-sclang.el")
11370 (delete-file file)))
11371 (find-files "." "\\.el"))
11372 #t))))
11373 (propagated-inputs
11374 `(("org" ,emacs-org)
11375 ("scel" ,emacs-scel)))
11376 (synopsis "Org Babel support for SuperCollider")
11377 (description "This package adds support for evaluating @code{sclang}
11378 Org mode source blocks. It is extracted from the @code{emacs-org-contrib}
11379 package.")))
11380
11381 (define-public emacs-org-edna
11382 (package
11383 (name "emacs-org-edna")
11384 (version "1.1.2")
11385 (source (origin
11386 (method bzr-fetch)
11387 (uri (bzr-reference
11388 (url "bzr://bzr.savannah.nongnu.org/org-edna-el")
11389 (revision version)))
11390 (file-name (string-append name "-" version "-checkout"))
11391 (sha256
11392 (base32
11393 "01dblddgx0yid5hrgl4swbr4grhv057kfbdy122wihzqpsrgq86n"))))
11394 (build-system emacs-build-system)
11395 (home-page "https://savannah.nongnu.org/projects/org-edna-el/")
11396 (synopsis "Manage Org task dependencies")
11397 (description "This package provides an extensible means of specifying
11398 conditions which must be fulfilled before a task can be completed and actions
11399 to take once it is. Org Edna runs when either the BLOCKER or TRIGGER
11400 properties are set on a heading, and when it is changing from a TODO state to
11401 a DONE state.")
11402 (license license:gpl3+)))
11403
11404 (define-public emacs-flx
11405 (package
11406 (name "emacs-flx")
11407 (version "0.6.1")
11408 (source
11409 (origin
11410 (method git-fetch)
11411 (uri (git-reference
11412 (url "https://github.com/lewang/flx")
11413 (commit (string-append "v" version))))
11414 (sha256
11415 (base32
11416 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
11417 (file-name (git-file-name name version))))
11418 (build-system emacs-build-system)
11419 (home-page "https://github.com/lewang/flx")
11420 (synopsis "Fuzzy matching for Emacs")
11421 (description
11422 "Flx provides fuzzy matching for emacs a la sublime text.
11423 The sorting algorithm is a balance between word beginnings (abbreviation)
11424 and contiguous matches (substring). The longer the substring match,
11425 the higher it scores. This maps well to how we think about matching.
11426 Flx has support for ido (interactively do things) through flx-ido.")
11427 (license license:gpl3+)))
11428
11429 (define-public emacs-cyberpunk-theme
11430 (package
11431 (name "emacs-cyberpunk-theme")
11432 (version "1.22")
11433 (source
11434 (origin
11435 (method git-fetch)
11436 (uri (git-reference
11437 (url "https://github.com/n3mo/cyberpunk-theme.el/")
11438 (commit version)))
11439 (sha256
11440 (base32
11441 "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc"))
11442 (file-name (git-file-name name version))))
11443 (build-system emacs-build-system)
11444 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
11445 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
11446 (description
11447 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
11448 known loosely as deftheme. Many mode-specific customizations are included.")
11449 (license license:gpl3+)))
11450
11451 (define-public emacs-dart-mode
11452 (package
11453 (name "emacs-dart-mode")
11454 (version "1.0.5")
11455 (source
11456 (origin
11457 (method git-fetch)
11458 (uri (git-reference
11459 (url "https://github.com/bradyt/dart-mode")
11460 (commit version)))
11461 (file-name (git-file-name name version))
11462 (sha256
11463 (base32 "1qmdlwjmmqyyb65sqvfpygifai5m0llc815vp0jqwp8ldd8ls172"))))
11464 (build-system emacs-build-system)
11465 (propagated-inputs
11466 `(("emacs-dash" ,emacs-dash)
11467 ("emacs-flycheck" ,emacs-flycheck)
11468 ("emacs-s" ,emacs-s)))
11469 (home-page "https://github.com/bradyt/dart-mode")
11470 (synopsis "Emacs mode for the Dart programming language")
11471 (description
11472 "Dart mode is an Emacs major mode for editing Dart files. It provides
11473 basic syntax highlighting and indentation.")
11474 (license license:gpl3+)))
11475
11476 (define-public emacs-danneskjold-theme
11477 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
11478 (revision "1"))
11479 (package
11480 (name "emacs-danneskjold-theme")
11481 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
11482 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
11483 (source
11484 (origin
11485 (method git-fetch)
11486 (uri (git-reference
11487 (url home-page)
11488 (commit commit)))
11489 (file-name (git-file-name name version))
11490 (sha256
11491 (base32
11492 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
11493 (build-system emacs-build-system)
11494 (arguments
11495 `(#:phases
11496 (modify-phases %standard-phases
11497 (add-after 'unpack 'delete-screenshots
11498 (lambda _
11499 (delete-file-recursively "screenshots") #t)))))
11500 (synopsis "High-contrast Emacs theme")
11501 (description
11502 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
11503 (license license:gpl3+))))
11504
11505 (define-public emacs-dream-theme
11506 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
11507 (revision "1"))
11508 (package
11509 (name "emacs-dream-theme")
11510 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
11511 (source
11512 (origin
11513 (method git-fetch)
11514 (uri (git-reference
11515 (url "https://github.com/djcb/dream-theme")
11516 (commit commit)))
11517 (file-name (git-file-name name version))
11518 (sha256
11519 (base32
11520 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
11521 (build-system emacs-build-system)
11522 (home-page "https://github.com/djcb/dream-theme")
11523 (synopsis "High-contrast Emacs theme")
11524 (description
11525 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
11526 by zenburn, sinburn and similar themes, but slowly diverging from them.")
11527 (license license:gpl3+))))
11528
11529 (define-public emacs-dracula-theme
11530 (package
11531 (name "emacs-dracula-theme")
11532 (version "1.7.0")
11533 (source
11534 (origin
11535 (method git-fetch)
11536 (uri (git-reference
11537 (url "https://github.com/dracula/emacs")
11538 (commit (string-append "v" version))))
11539 (file-name (git-file-name name version))
11540 (sha256
11541 (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0"))))
11542 (build-system emacs-build-system)
11543 (home-page "https://draculatheme.com/")
11544 (synopsis "Dark theme for Emacs")
11545 (description
11546 "Dracula is a dark color theme for many editors, shells and more. This
11547 package provides the Emacs theme.")
11548 (license license:expat)))
11549
11550 (define-public emacs-auto-complete
11551 (package
11552 (name "emacs-auto-complete")
11553 (version "1.5.1")
11554 (source
11555 (origin
11556 (method git-fetch)
11557 (uri (git-reference
11558 (url "https://github.com/auto-complete/auto-complete")
11559 (commit (string-append "v" version))))
11560 (sha256
11561 (base32
11562 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
11563 (file-name (git-file-name name version))))
11564 (build-system emacs-build-system)
11565 (propagated-inputs
11566 `(("emacs-popup" ,emacs-popup)))
11567 (home-page "https://github.com/auto-complete/auto-complete")
11568 (synopsis "Intelligent auto-completion extension for Emacs")
11569 (description
11570 "Auto-Complete is an intelligent auto-completion extension for Emacs.
11571 It extends the standard Emacs completion interface and provides an environment
11572 that allows users to concentrate more on their own work. Its features are:
11573 a visual interface, reduce overhead of completion by using statistic method,
11574 extensibility.")
11575 (license license:gpl3+)))
11576
11577 (define-public emacs-nginx-mode
11578 (package
11579 (name "emacs-nginx-mode")
11580 (version "1.1.9")
11581 (source
11582 (origin
11583 (method git-fetch)
11584 (uri (git-reference
11585 (url "https://github.com/ajc/nginx-mode")
11586 (commit (string-append "v" version))))
11587 (file-name (git-file-name name version))
11588 (sha256
11589 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
11590 (build-system emacs-build-system)
11591 (home-page "https://github.com/ajc/nginx-mode")
11592 (synopsis "Emacs major mode for editing nginx config files")
11593 (description "This package provides an Emacs major mode for
11594 editing nginx config files.")
11595 (license license:gpl2+)))
11596
11597 (define-public emacs-stream
11598 (package
11599 (name "emacs-stream")
11600 (version "2.2.5")
11601 (source
11602 (origin
11603 (method url-fetch)
11604 (uri (string-append "https://elpa.gnu.org/packages/"
11605 "stream-" version ".tar"))
11606 (file-name (git-file-name name version))
11607 (sha256
11608 (base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw"))))
11609 (build-system emacs-build-system)
11610 (home-page "http://elpa.gnu.org/packages/stream.html")
11611 (synopsis "Implementation of streams for Emacs")
11612 (description "This library provides an implementation of streams for Emacs.
11613 Streams are implemented as delayed evaluation of cons cells.")
11614 (license license:gpl3+)))
11615
11616 (define-public emacs-cl-print
11617 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
11618 (revision "1"))
11619 (package
11620 (name "emacs-cl-print")
11621 (version (git-version "1.0" revision commit))
11622 (source
11623 (origin
11624 (method git-fetch)
11625 (uri (git-reference
11626 (url "https://github.com/emacsmirror/cl-print")
11627 (commit commit)))
11628 (file-name (git-file-name name version))
11629 (sha256
11630 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
11631 (build-system emacs-build-system)
11632 (home-page "https://github.com/emacsmirror/cl-print")
11633 (synopsis "CL-style generic printing")
11634 (description "This package provides a generic function,
11635 @code{cl-print-object}, to which the programmer can add any method they
11636 please.")
11637 (license license:gpl3+))))
11638
11639 (define-public emacs-el-search
11640 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
11641 (revision "2"))
11642 (package
11643 (name "emacs-el-search")
11644 (version (git-version "1.12.6.1" revision commit))
11645 (source
11646 (origin
11647 (method git-fetch)
11648 (uri (git-reference
11649 (url "https://github.com/emacsmirror/el-search")
11650 (commit commit)))
11651 (file-name (git-file-name name version))
11652 (sha256
11653 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
11654 (build-system emacs-build-system)
11655 (inputs
11656 `(("emacs-stream" ,emacs-stream)
11657 ("emacs-cl-print" ,emacs-cl-print)))
11658 (home-page "https://github.com/emacsmirror/el-search")
11659 (synopsis "Expression based interactive search for emacs-lisp-mode")
11660 (description "This package provides expression based interactive search
11661 procedures for emacs-lisp-mode.")
11662 (license license:gpl3+))))
11663
11664 (define-public emacs-ht
11665 (package
11666 (name "emacs-ht")
11667 (version "2.3")
11668 (source
11669 (origin
11670 (method git-fetch)
11671 (uri (git-reference
11672 (url "https://github.com/Wilfred/ht.el")
11673 (commit version)))
11674 (file-name (git-file-name name version))
11675 (sha256
11676 (base32 "0can9v336lgnq0q2ha3js0565jzp3dlwwqxhcbx5swk5kp148f07"))))
11677 (build-system emacs-build-system)
11678 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
11679 (native-inputs
11680 `(("emacs-ert-runner" ,emacs-ert-runner)))
11681 (arguments
11682 `(#:tests? #t
11683 #:test-command '("ert-runner")))
11684 (home-page "https://github.com/Wilfred/ht.el")
11685 (synopsis "Hash table library for Emacs")
11686 (description
11687 "This package simplifies the use of hash tables in elisp. It also
11688 provides functions to convert hash tables from and to alists and plists.")
11689 (license license:gpl3+)))
11690
11691 (define-public emacs-log4e
11692 (package
11693 (name "emacs-log4e")
11694 (version "0.3.3")
11695 (source
11696 (origin
11697 (method git-fetch)
11698 (uri (git-reference
11699 (url "https://github.com/aki2o/log4e")
11700 (commit (string-append "v" version))))
11701 (file-name (git-file-name name version))
11702 (sha256
11703 (base32 "0dbnks76v05allzkhx9zmyqpn6sk5376n8k2rbpnaw6gmz1ib2fv"))))
11704 (build-system emacs-build-system)
11705 (arguments
11706 `(#:phases
11707 (modify-phases %standard-phases
11708 (add-after 'unpack 'remove-tests
11709 ;; Guile builder complains about null characters in some
11710 ;; strings of test files. Remove "test" directory (it is not
11711 ;; needed anyway).
11712 (lambda _
11713 (delete-file-recursively "test"))))))
11714 (home-page "https://github.com/aki2o/log4e")
11715 (synopsis "Logging framework for elisp")
11716 (description
11717 "This package provides a logging framework for elisp. It allows
11718 you to deal with multiple log levels.")
11719 (license license:gpl3+)))
11720
11721 (define-public emacs-gn-mode
11722 (package
11723 (name "emacs-gn-mode")
11724 (version "0.4.1")
11725 (source
11726 (origin
11727 (method git-fetch)
11728 (uri (git-reference
11729 (url "https://github.com/lashtear/gn-mode")
11730 (commit version)))
11731 (file-name (git-file-name name version))
11732 (sha256
11733 (base32 "0dz5kgzbgsssr38z2kg6m915cvfys42ag1k42bsra3la2pixywfx"))))
11734 (build-system emacs-build-system)
11735 (home-page "https://github.com/lashtear/gn-mode")
11736 (synopsis "Emacs major mode for editing GN (ninja generator) config files")
11737 (description
11738 "GN mode is a major mode for editing @acronym{GN,Ninja Generator} config
11739 files in Emacs. Files of this type (e.g., @file{BUILD.gn} or @file{*.gni})
11740 are common in Chromium-derived projects.")
11741 (license license:bsd-3)))
11742
11743 (define-public emacs-gntp
11744 (package
11745 (name "emacs-gntp")
11746 (version "0.1")
11747 (source
11748 (origin
11749 (method git-fetch)
11750 (uri (git-reference
11751 (url "https://github.com/tekai/gntp.el")
11752 (commit (string-append "v" version))))
11753 (file-name (git-file-name name version))
11754 (sha256
11755 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
11756 (build-system emacs-build-system)
11757 (home-page "https://github.com/tekai/gntp.el")
11758 (synopsis "Growl Notification Protocol for Emacs")
11759 (description
11760 "This package implements the Growl Notification Protocol GNTP
11761 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
11762 It is incomplete as it only lets you send but not receive
11763 notifications.")
11764 (license license:bsd-3)))
11765
11766 (define-public emacs-alert
11767 (package
11768 (name "emacs-alert")
11769 (version "1.3")
11770 (source
11771 (origin
11772 (method git-fetch)
11773 (uri (git-reference
11774 (url "https://github.com/jwiegley/alert")
11775 (commit (string-append "v" version))))
11776 (file-name (git-file-name name version))
11777 (sha256
11778 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
11779 (build-system emacs-build-system)
11780 (propagated-inputs
11781 `(("emacs-gntp" ,emacs-gntp)
11782 ("emacs-log4e" ,emacs-log4e)))
11783 (home-page "https://github.com/jwiegley/alert")
11784 (synopsis "Growl-style notification system for Emacs")
11785 (description
11786 "Alert is a Growl-workalike for Emacs which uses a common notification
11787 interface and multiple, selectable \"styles\", whose use is fully
11788 customizable by the user.")
11789 (license license:gpl2+)))
11790
11791 (define-public emacs-zones
11792 (package
11793 (name "emacs-zones")
11794 (version "2019.7.13")
11795 (source
11796 (origin
11797 (method url-fetch)
11798 (uri (string-append "https://elpa.gnu.org/packages/"
11799 "zones-" version ".el"))
11800 (sha256
11801 (base32 "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1"))))
11802 (build-system emacs-build-system)
11803 (home-page "https://www.emacswiki.org/emacs/Zones")
11804 (synopsis "Define and act on multiple zones of buffer text")
11805 (description
11806 "Library @file{zones.el} lets you easily define and subsequently act on
11807 multiple zones of buffer text. You can think of this as enlarging the notion
11808 of region. In effect, it can remove the requirement of target text being
11809 a contiguous sequence of characters. A set of buffer zones is, in effect,
11810 a (typically) noncontiguous set of text.")
11811 (license license:gpl3+)))
11812
11813 (define-public emacs-mu4e-alert
11814 (package
11815 (name "emacs-mu4e-alert")
11816 (version "1.0")
11817 (source
11818 (origin
11819 (method git-fetch)
11820 (uri (git-reference
11821 (url "https://github.com/iqbalansari/mu4e-alert")
11822 (commit (string-append "v" version))))
11823 (file-name (git-file-name name version))
11824 (sha256
11825 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
11826 (build-system emacs-build-system)
11827 (propagated-inputs
11828 `(("emacs-alert" ,emacs-alert)
11829 ("emacs-s" ,emacs-s)
11830 ("emacs-ht" ,emacs-ht)
11831 ("mu" ,mu)))
11832 (home-page "https://github.com/iqbalansari/mu4e-alert")
11833 (synopsis "Desktop notification for mu4e")
11834 (description
11835 "This package provides desktop notifications for mu4e.
11836 Additionally it can display the number of unread emails in the
11837 mode-line.")
11838 (license license:gpl3+)))
11839
11840 (define-public emacs-mu4e-jump-to-list
11841 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
11842 (revision "1"))
11843 (package
11844 (name "emacs-mu4e-jump-to-list")
11845 (version (git-version "1.0" revision commit))
11846 (source
11847 (origin
11848 (method git-fetch)
11849 (uri (git-reference
11850 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
11851 (commit commit)))
11852 (file-name (git-file-name name version))
11853 (sha256
11854 (base32
11855 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
11856 (build-system emacs-build-system)
11857 (propagated-inputs
11858 `(("mu" ,mu)))
11859 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
11860 (synopsis "Select and view mailing lists in mu4e")
11861 (description
11862 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
11863 automatically using existing List-ID headers in your mu database. Just press
11864 \"l\" in the headers view and any mailing list you've subscribed to will be
11865 automatically discovered and presented in recency order.")
11866 (license license:gpl3+))))
11867
11868 (define-public emacs-mu4e-patch
11869 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
11870 (revision "1"))
11871 (package
11872 (name "emacs-mu4e-patch")
11873 (version (git-version "0.1.0" revision commit))
11874 (source (origin
11875 (method git-fetch)
11876 (uri (git-reference
11877 (url "https://github.com/seanfarley/mu4e-patch")
11878 (commit commit)))
11879 (file-name (git-file-name name version))
11880 (sha256
11881 (base32
11882 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
11883 (build-system emacs-build-system)
11884 (propagated-inputs
11885 `(("mu" ,mu)))
11886 (home-page "https://github.com/seanfarley/mu4e-patch")
11887 (synopsis "Colorize patch-like emails in mu4e")
11888 (description
11889 "Extension for mu4e to colorize patch-like emails with diff-mode.
11890 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
11891 been adapted to work with mu4e.")
11892 (license license:gpl3+))))
11893
11894 (define-public emacs-pretty-mode
11895 (package
11896 (name "emacs-pretty-mode")
11897 (version "2.0.3")
11898 (source
11899 (origin
11900 (method git-fetch)
11901 (uri (git-reference
11902 (url "https://github.com/akatov/pretty-mode/")
11903 (commit version)))
11904 (file-name (git-file-name name version))
11905 (sha256
11906 (base32
11907 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
11908 (build-system emacs-build-system)
11909 (home-page "https://github.com/akatov/pretty-mode")
11910 (synopsis "Redisplay parts of the buffer as Unicode symbols")
11911 (description
11912 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
11913 (license license:gpl3+)))
11914
11915 (define-public emacs-yasnippet
11916 (package
11917 (name "emacs-yasnippet")
11918 (version "0.14.0")
11919 (source
11920 (origin
11921 (method git-fetch)
11922 (uri (git-reference
11923 (url "https://github.com/joaotavora/yasnippet")
11924 (commit version)))
11925 (file-name (git-file-name name version))
11926 (sha256
11927 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))))
11928 (build-system emacs-build-system)
11929 (arguments
11930 `(#:tests? #t
11931 #:test-command '("emacs" "--batch"
11932 "-l" "yasnippet-tests.el"
11933 "-f" "ert-run-tests-batch-and-exit")
11934 #:phases
11935 (modify-phases %standard-phases
11936 ;; Set HOME, otherwise test-rebindings fails.
11937 (add-before 'check 'set-home
11938 (lambda _
11939 (setenv "HOME" (getcwd))
11940 #t)))))
11941 (home-page "https://github.com/joaotavora/yasnippet")
11942 (synopsis "Yet another snippet extension for Emacs")
11943 (description "YASnippet is a template system for Emacs. It allows you to
11944 type an abbreviation and automatically expand it into function templates.")
11945 (license license:gpl3+)))
11946
11947 (define-public emacs-yasnippet-snippets
11948 (package
11949 (name "emacs-yasnippet-snippets")
11950 (version "0.23")
11951 (source
11952 (origin
11953 (method git-fetch)
11954 (uri (git-reference
11955 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
11956 (commit version)))
11957 (file-name (git-file-name name version))
11958 (sha256
11959 (base32 "18pcnjnqvcky6i49p38vy3ms5xiisn27vy47pc3vsgr3r2n87mqb"))))
11960 (build-system emacs-build-system)
11961 (arguments
11962 `(#:include (cons* "^snippets\\/" %default-include)))
11963 (propagated-inputs
11964 `(("emacs-s" ,emacs-s) ;for snippets/rjsx-mode/.yas-setup.el
11965 ("emacs-yasnippet" ,emacs-yasnippet)))
11966 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
11967 (synopsis "Collection of YASnippet snippets for many languages")
11968 (description "This package provides an extensive collection of YASnippet
11969 snippets. When this package is installed, the extra snippets it provides are
11970 automatically made available to YASnippet.")
11971 (license license:gpl3+)))
11972
11973 (define-public emacs-helm-c-yasnippet
11974 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
11975 (revision "1"))
11976 (package
11977 (name "emacs-helm-c-yasnippet")
11978 (version (string-append "0.6.7" "-" revision "."
11979 (string-take commit 7)))
11980 (source (origin
11981 (method git-fetch)
11982 (uri (git-reference
11983 (url "https://github.com/emacs-jp/helm-c-yasnippet")
11984 (commit commit)))
11985 (file-name (git-file-name name version))
11986 (sha256
11987 (base32
11988 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
11989 (build-system emacs-build-system)
11990 (propagated-inputs
11991 `(("emacs-helm" ,emacs-helm)
11992 ("emacs-yasnippet" ,emacs-yasnippet)))
11993 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
11994 (synopsis "Helm integration for Yasnippet")
11995 (description "This Emacs library provides Helm interface for
11996 Yasnippet.")
11997 (license license:gpl2+))))
11998
11999 (define-public emacs-helm-system-packages
12000 (package
12001 (name "emacs-helm-system-packages")
12002 (version "1.10.2")
12003 (source (origin
12004 (method git-fetch)
12005 (uri (git-reference
12006 (url "https://github.com/emacs-helm/helm-system-packages")
12007 (commit (string-append "v" version))))
12008 (file-name (git-file-name name version))
12009 (sha256
12010 (base32
12011 "13a8jpj4wwm0yjv8hnsizgjf8wi3r2ap87lyvw7g4c7snp2dydwa"))))
12012 (build-system emacs-build-system)
12013 (inputs
12014 `(("recutils" ,recutils)))
12015 (propagated-inputs
12016 `(("emacs-helm" ,emacs-helm)))
12017 (arguments
12018 `(#:phases
12019 (modify-phases %standard-phases
12020 (add-after 'unpack 'configure
12021 (lambda* (#:key inputs outputs #:allow-other-keys)
12022 (let ((recutils (assoc-ref inputs "recutils")))
12023 ;; Specify the absolute file names of the various
12024 ;; programs so that everything works out-of-the-box.
12025 (substitute* "helm-system-packages-guix.el"
12026 (("recsel") (string-append recutils "/bin/recsel")))))))))
12027 (home-page "https://github.com/emacs-helm/helm-system-packages")
12028 (synopsis "Helm System Packages is an interface to your package manager")
12029 (description "List all available packages in Helm (with installed
12030 packages displayed in their own respective face). Fuzzy-search, mark and
12031 execute the desired action over any selections of packages: Install,
12032 uninstall, display packages details (in Org Mode) or insert details at point,
12033 find files owned by packages... And much more, including performing all the
12034 above over the network.")
12035 (license license:gpl3+)))
12036
12037 (define-public emacs-helm-org-rifle
12038 (package
12039 (name "emacs-helm-org-rifle")
12040 (version "1.7.0")
12041 (source
12042 (origin
12043 (method git-fetch)
12044 (uri (git-reference
12045 (url "https://github.com/alphapapa/helm-org-rifle")
12046 (commit version)))
12047 (file-name (git-file-name name version))
12048 (sha256
12049 (base32
12050 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
12051 (build-system emacs-build-system)
12052 (propagated-inputs
12053 `(("emacs-dash" ,emacs-dash)
12054 ("emacs-f" ,emacs-f)
12055 ("emacs-helm" ,emacs-helm)
12056 ("emacs-org" ,emacs-org)
12057 ("emacs-s" ,emacs-s)))
12058 (home-page "https://github.com/alphapapa/helm-org-rifle")
12059 (synopsis "Rifle through Org files")
12060 (description "This package searches both headings and contents of entries
12061 in Org buffers and displays matching entries.")
12062 (license license:gpl3+)))
12063
12064 (define-public emacs-dired-git-info
12065 ;; Upstream has no proper release. The base version is extracted from the
12066 ;; "Version" keyword in the main file.
12067 (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176")
12068 (revision "0"))
12069 (package
12070 (name "emacs-dired-git-info")
12071 (version (git-version "0.3.1" revision commit))
12072 (source
12073 (origin
12074 (method git-fetch)
12075 (uri
12076 (git-reference
12077 (url "https://github.com/clemera/dired-git-info")
12078 (commit commit)))
12079 (file-name (git-file-name name version))
12080 (sha256
12081 (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik"))))
12082 (build-system emacs-build-system)
12083 (home-page "https://github.com/clemera/dired-git-info/")
12084 (synopsis "Show git info in Emacs Dired")
12085 (description "This Emacs package provides a minor mode which shows git
12086 information inside the Dired buffer.")
12087 (license license:gpl3+))))
12088
12089 (define-public emacs-dired-toggle-sudo
12090 (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
12091 (revision "0"))
12092 (package
12093 (name "emacs-dired-toggle-sudo")
12094 (version (git-version "1.0" revision commit))
12095 (source
12096 (origin
12097 (method git-fetch)
12098 (uri (git-reference
12099 (url "https://github.com/renard/dired-toggle-sudo")
12100 (commit commit)))
12101 (file-name (git-file-name name version))
12102 (sha256
12103 (base32
12104 "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car"))))
12105 (build-system emacs-build-system)
12106 (home-page "https://github.com/renard/dired-toggle-sudo")
12107 (synopsis "Browse directory with @code{sudo} privileges")
12108 (description "This package allows for the use of @code{dired} with
12109 @code{sudo} privileges.")
12110 (license license:wtfpl2))))
12111
12112 (define-public emacs-diredfl
12113 (package
12114 (name "emacs-diredfl")
12115 (version "0.4")
12116 (source
12117 (origin
12118 (method git-fetch)
12119 (uri
12120 (git-reference
12121 (url "https://github.com/purcell/diredfl")
12122 (commit version)))
12123 (file-name (git-file-name name version))
12124 (sha256
12125 (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z"))))
12126 (build-system emacs-build-system)
12127 (home-page "https://github.com/purcell/diredfl/")
12128 (synopsis "Extra Emacs font lock rules for a more colourful Dired")
12129 (description "This library enables additional font locking in Dired mode.
12130 This is adapted from the extra font lock rules provided by Drew Adams' Dired+
12131 package.")
12132 (license license:gpl3+)))
12133
12134 (define-public emacs-memoize
12135 (package
12136 (name "emacs-memoize")
12137 (version "1.1")
12138 (source
12139 (origin
12140 (method git-fetch)
12141 (uri (git-reference
12142 (url "https://github.com/skeeto/emacs-memoize")
12143 (commit version)))
12144 (file-name (git-file-name name version))
12145 (sha256
12146 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
12147 (build-system emacs-build-system)
12148 (arguments
12149 `(#:tests? #t
12150 #:test-command '("emacs" "--batch"
12151 "-l" "memoize-test.el"
12152 "-f" "ert-run-tests-batch-and-exit")))
12153 (home-page "https://github.com/skeeto/emacs-memoize")
12154 (synopsis "Emacs lisp memoization library")
12155 (description "@code{emacs-memoize} is an Emacs library for
12156 memoizing functions.")
12157 (license license:unlicense)))
12158
12159 (define-public emacs-linum-relative
12160 (package
12161 (name "emacs-linum-relative")
12162 (version "0.6")
12163 (source
12164 (origin
12165 (method git-fetch)
12166 (uri (git-reference
12167 (url "https://github.com/coldnew/linum-relative")
12168 (commit version)))
12169 (file-name (git-file-name name version))
12170 (sha256
12171 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
12172 (build-system emacs-build-system)
12173 (home-page "https://github.com/coldnew/linum-relative")
12174 (synopsis "Relative line numbering for Emacs")
12175 (description "@code{emacs-linum-relative} displays the relative line
12176 number on the left margin in Emacs.")
12177 (license license:gpl2+)))
12178
12179 (define-public emacs-idle-highlight
12180 (package
12181 (name "emacs-idle-highlight")
12182 (version "1.1.3")
12183 (source
12184 (origin
12185 (method git-fetch)
12186 (uri (git-reference
12187 (url "https://github.com/nonsequitur/idle-highlight-mode")
12188 (commit version)))
12189 (file-name (git-file-name name version))
12190 (sha256
12191 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
12192 (build-system emacs-build-system)
12193 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
12194 (synopsis "Highlights all occurrences of the word the point is on")
12195 (description
12196 "This Emacs package provides @code{idle-highlight-mode} that sets
12197 an idle timer to highlight all occurrences in the buffer of the word under
12198 the point.")
12199 (license license:gpl3+)))
12200
12201 (define-public emacs-ox-twbs
12202 (package
12203 (name "emacs-ox-twbs")
12204 (version "1.1.4")
12205 (source
12206 (origin
12207 (method git-fetch)
12208 (uri (git-reference
12209 (url "https://github.com/marsmining/ox-twbs")
12210 (commit (string-append "v" version))))
12211 (file-name (git-file-name name version))
12212 (sha256
12213 (base32 "0nffy7ivs8fw0dj3s66hbsby0riz5wrv7xzm8g9mrfvhki938pqa"))))
12214 (build-system emacs-build-system)
12215 (home-page "https://github.com/marsmining/ox-twbs")
12216 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
12217 (description
12218 "This Emacs package outputs your org-mode docs with a simple, clean and
12219 modern look. It implements a new HTML back-end for exporting org-mode docs as
12220 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
12221 jQuery and Bootstrap resources included via osscdn.")
12222 (license license:gpl3+)))
12223
12224 (define-public emacs-highlight-sexp
12225 (package
12226 (name "emacs-highlight-sexp")
12227 (version "1.0")
12228 (source
12229 (origin
12230 (method git-fetch)
12231 (uri (git-reference
12232 (url "https://github.com/daimrod/highlight-sexp")
12233 (commit (string-append "v" version))))
12234 (file-name (git-file-name name version))
12235 (sha256
12236 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
12237 (build-system emacs-build-system)
12238 (home-page "https://github.com/daimrod/highlight-sexp")
12239 (synopsis "Minor mode that highlights the s-exp at the current position")
12240 (description
12241 "This Emacs package highlights the s-exp at the current position.")
12242 (license license:gpl3+)))
12243
12244 (define-public emacs-highlight-stages
12245 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
12246 (revision "1"))
12247 (package
12248 (name "emacs-highlight-stages")
12249 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
12250 (source
12251 (origin
12252 (method git-fetch)
12253 (uri (git-reference
12254 (url "https://github.com/zk-phi/highlight-stages")
12255 (commit commit)))
12256 (file-name (git-file-name name version))
12257 (sha256
12258 (base32
12259 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
12260 (patches
12261 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
12262 (build-system emacs-build-system)
12263 (home-page "https://github.com/wigust/highlight-stages")
12264 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
12265 (description "@code{highlight-stages} provides an Emacs minor mode that
12266 highlights quasi-quoted expressions.")
12267 (license license:gpl3+))))
12268
12269 (define-public emacspeak
12270 (package
12271 (name "emacspeak")
12272 (version "53.0")
12273 (source
12274 (origin
12275 (method url-fetch)
12276 (uri (string-append
12277 "https://github.com/tvraman/emacspeak/releases/download/"
12278 version "/emacspeak-" version ".tar.bz2"))
12279 (sha256
12280 (base32 "0lasj4ggsh93ingf46n16wxfx5zzxvr1igikbmdqlz3i99j331gs"))))
12281 (build-system gnu-build-system)
12282 (arguments
12283 '(#:make-flags (list (string-append "prefix="
12284 (assoc-ref %outputs "out")))
12285 #:phases
12286 (modify-phases %standard-phases
12287 (replace 'configure
12288 (lambda* (#:key inputs outputs #:allow-other-keys)
12289 (setenv "SHELL" (which "sh"))
12290 ;; Ensure the tclespeak.so binary is found in the correct location
12291 ;; by adding the path to the Tclx library to the Tcl $auto_path
12292 ;; variable.
12293 (with-fluids ((%default-port-encoding "ISO-8859-1"))
12294 (substitute* "servers/espeak"
12295 (("package require Tclx")
12296 (string-append "set auto_path [linsert $auto_path 0 "
12297 (assoc-ref inputs "tclx")
12298 "/lib]\n"
12299 "package require Tclx"))))
12300 ;; Configure Emacspeak according to etc/install.org.
12301 (invoke "make" "config")))
12302 (add-after 'build 'build-espeak
12303 (lambda _
12304 (invoke "make" "espeak")))
12305 (replace 'install
12306 (lambda* (#:key inputs outputs #:allow-other-keys)
12307 (let* ((out (assoc-ref outputs "out"))
12308 (bin (string-append out "/bin"))
12309 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
12310 (info (string-append out "/share/info"))
12311 (emacs (string-append (assoc-ref inputs "emacs")
12312 "/bin/emacs")))
12313 ;; According to etc/install.org, the Emacspeak directory should
12314 ;; be copied to its installation destination.
12315 (for-each
12316 (lambda (file)
12317 (copy-recursively file (string-append lisp "/" file)))
12318 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
12319 "stumpwm" "xsl"))
12320 ;; Make sure emacspeak is loaded from the correct directory.
12321 (substitute* "run"
12322 (("\\./lisp/emacspeak-setup.el")
12323 (string-append lisp "/lisp/emacspeak-setup.el")))
12324 ;; Install the convenient startup script.
12325 (mkdir-p bin)
12326 (copy-file "run" (string-append bin "/emacspeak")))
12327 #t)))
12328 #:tests? #f)) ; no check target
12329 (inputs
12330 `(("emacs" ,emacs)
12331 ("espeak" ,espeak-ng)
12332 ("perl" ,perl)
12333 ("tcl" ,tcl)
12334 ("tclx" ,tclx)))
12335 (home-page "http://emacspeak.sourceforge.net")
12336 (synopsis "Audio desktop interface for Emacs")
12337 (description
12338 "Emacspeak is a speech interface that allows visually impaired users to
12339 interact independently and efficiently with the computer. Audio
12340 formatting---a technique pioneered by AsTeR---and full support for W3C's Aural
12341 CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic
12342 information. By seamlessly blending all aspects of the Internet such as
12343 Web-surfing and messaging, Emacspeak speech-enables local and remote
12344 information via a consistent and well-integrated user interface.")
12345 (license license:gpl2+)))
12346
12347 (define-public emacs-adaptive-wrap
12348 (package
12349 (name "emacs-adaptive-wrap")
12350 (version "0.8")
12351 (source
12352 (origin
12353 (method url-fetch)
12354 (uri (string-append "https://elpa.gnu.org/packages/"
12355 "adaptive-wrap-" version ".tar"))
12356 (sha256
12357 (base32 "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0"))))
12358 (build-system emacs-build-system)
12359 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
12360 (synopsis "Smart line-wrapping with wrap-prefix")
12361 (description
12362 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
12363 minor mode which sets the wrap-prefix property on the fly so that
12364 single-long-line paragraphs get word-wrapped in a way similar to what
12365 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
12366 actually changing the buffer's text.")
12367 (license license:gpl3+)))
12368
12369 (define-public emacs-diff-hl
12370 (package
12371 (name "emacs-diff-hl")
12372 (version "1.8.8")
12373 (source
12374 (origin
12375 (method git-fetch)
12376 (uri (git-reference
12377 (url "https://github.com/dgutov/diff-hl")
12378 (commit version)))
12379 (file-name (git-file-name name version))
12380 (sha256
12381 (base32 "075klzf66z1rvhpxv4j694pdkmi7f4fpw6c8q4ncz0h4y5wdbl8w"))))
12382 (build-system emacs-build-system)
12383 (home-page "https://github.com/dgutov/diff-hl")
12384 (synopsis
12385 "Highlight uncommitted changes using VC")
12386 (description
12387 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
12388 window (using the fringe, by default), allows you to jump between
12389 the hunks and revert them selectively.")
12390 (license license:gpl3+)))
12391
12392 (define-public emacs-diminish
12393 (package
12394 (name "emacs-diminish")
12395 (version "0.45")
12396 (source
12397 (origin
12398 (method git-fetch)
12399 (uri (git-reference
12400 (url "https://github.com/myrjola/diminish.el")
12401 (commit (string-append "v" version))))
12402 (file-name (git-file-name name version))
12403 (sha256
12404 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
12405 (build-system emacs-build-system)
12406 (home-page "https://github.com/myrjola/diminish.el")
12407 (synopsis "Diminish minor modes with no modeline display")
12408 (description "@code{emacs-diminish} implements hiding or
12409 abbreviation of the mode line displays (lighters) of minor modes.")
12410 (license license:gpl2+)))
12411
12412 (define-public emacs-use-package
12413 (package
12414 (name "emacs-use-package")
12415 (version "2.4.1")
12416 (source (origin
12417 (method git-fetch)
12418 (uri (git-reference
12419 (url "https://github.com/jwiegley/use-package")
12420 (commit version)))
12421 (file-name (git-file-name name version))
12422 (sha256
12423 (base32
12424 "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"))))
12425 (build-system emacs-build-system)
12426 (native-inputs
12427 `(("texinfo" ,texinfo)))
12428 (propagated-inputs
12429 `(("emacs-diminish" ,emacs-diminish)))
12430 (arguments
12431 `(#:tests? #t
12432 #:test-command '("emacs" "--batch"
12433 "-l" "use-package-tests.el"
12434 "-f" "ert-run-tests-batch-and-exit")
12435 #:phases
12436 (modify-phases %standard-phases
12437 (add-before 'install 'install-manual
12438 (lambda* (#:key outputs #:allow-other-keys)
12439 (let* ((out (assoc-ref outputs "out"))
12440 (info-dir (string-append out "/share/info")))
12441 (mkdir-p info-dir)
12442 (install-file "use-package.info" info-dir)
12443 #t)))
12444 (add-before 'install-manual 'build-manual
12445 (lambda _
12446 (invoke "makeinfo" "use-package.texi")
12447 #t)))))
12448 (home-page "https://github.com/jwiegley/use-package")
12449 (synopsis "Declaration for simplifying your .emacs")
12450 (description "The use-package macro allows you to isolate package
12451 configuration in your @file{.emacs} file in a way that is both
12452 performance-oriented and tidy.")
12453 (license license:gpl2+)))
12454
12455 (define-public emacs-leaf
12456 (package
12457 (name "emacs-leaf")
12458 (version "4.4.4")
12459 (source
12460 (origin
12461 (method url-fetch)
12462 (uri (string-append "https://elpa.gnu.org/packages/"
12463 "leaf-" version ".tar"))
12464 (sha256
12465 (base32 "1npg06zmy21kg2qsqgfm03l7vjib697i96awypcdb0hw5mvmc1a1"))))
12466 (build-system emacs-build-system)
12467 (home-page "https://github.com/conao3/leaf.el")
12468 (synopsis "Simplify your init.el configuration, extended use-package")
12469 (description
12470 "This package provides macros that allows you to declaratively configure
12471 settings typical of an Elisp package with various keywords. The syntax is
12472 similar, but not identical to use-package -- overall, leaf aims at a cleaner
12473 and more predictable implementation.")
12474 (license license:agpl3+)))
12475
12476 (define-public emacs-strace-mode
12477 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
12478 (revision "1"))
12479 (package
12480 (name "emacs-strace-mode")
12481 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
12482 (source (origin
12483 (method git-fetch)
12484 (uri (git-reference
12485 (url "https://github.com/pkmoore/strace-mode")
12486 (commit commit)))
12487 (file-name (git-file-name name version))
12488 (sha256
12489 (base32
12490 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
12491 (build-system emacs-build-system)
12492 (home-page "https://github.com/pkmoore/strace-mode")
12493 (synopsis "Emacs major mode to highlight strace outputs")
12494 (description "@code{emacs-strace-mode} provides an Emacs major mode
12495 highlighting strace outputs.")
12496 (license license:gpl3+))))
12497
12498 (define-public emacs-default-encrypt
12499 (package
12500 (name "emacs-default-encrypt")
12501 (version "4.4")
12502 (source
12503 (origin
12504 (method url-fetch)
12505 (uri (string-append
12506 "https://informationelle-selbstbestimmung-im-internet.de"
12507 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
12508 (file-name (string-append "jl-encrypt-" version ".el"))
12509 (sha256
12510 (base32
12511 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
12512 (build-system emacs-build-system)
12513 (home-page
12514 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
12515 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
12516 (description
12517 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
12518 automatically encrypts messages that you send (e.g., email) when public keys
12519 for all recipients are available, and it protects you from accidentally
12520 sending un-encrypted messages. It can also be configured to automatically
12521 sign messages that you send. For details and instructions on how to use
12522 DefaultEncrypt, please refer to the home page or read the comments in the
12523 source file, @file{jl-encrypt.el}.")
12524 (license license:gpl3+)))
12525
12526 (define-public emacs-extend-smime
12527 (package
12528 (name "emacs-extend-smime")
12529 (version "3.3")
12530 (source
12531 (origin
12532 (method url-fetch)
12533 (uri (string-append
12534 "https://informationelle-selbstbestimmung-im-internet.de"
12535 "/emacs/jl-smime" version "/jl-smime.el"))
12536 (file-name (string-append "jl-smime-" version ".el"))
12537 (sha256
12538 (base32
12539 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
12540 (build-system emacs-build-system)
12541 (home-page
12542 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
12543 (synopsis "Improved S/MIME support for Gnus in Emacs")
12544 (propagated-inputs
12545 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
12546 (description
12547 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
12548 ;; should not be translated. The name "emacs-default-encrypt" refers to
12549 ;; the Guix package that provides DefaultEncrypt.
12550 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
12551 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
12552 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
12553 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
12554 certificates via LDAP and imports them into @code{gpgsm}. When certificates
12555 for all recipients are available, DefaultEncrypt automatically encrypts the
12556 message. For details and instructions on how to use ExtendSMIME, please refer
12557 to the home page or read the comments in the source file,
12558 @file{jl-smime.el}.")
12559 (license license:gpl3+)))
12560
12561 (define-public emacs-htmlize
12562 (package
12563 (name "emacs-htmlize")
12564 (version "1.55")
12565 (source
12566 (origin
12567 (method git-fetch)
12568 (uri (git-reference
12569 (url "https://github.com/hniksic/emacs-htmlize")
12570 (commit (string-append "release/" version))))
12571 (file-name (git-file-name name version))
12572 (sha256
12573 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
12574 (build-system emacs-build-system)
12575 (home-page "https://github.com/hniksic/emacs-htmlize")
12576 (synopsis "Convert buffer text and decorations to HTML")
12577 (description "@code{emacs-htmlize} converts the buffer text and
12578 the associated decorations to HTML. Output to CSS, inline CSS and
12579 fonts is supported.")
12580 (license license:gpl2+)))
12581
12582 (define-public emacs-xmlgen
12583 (package
12584 (name "emacs-xmlgen")
12585 (version "0.5")
12586 (source
12587 (origin
12588 (method git-fetch)
12589 (uri (git-reference
12590 (url "https://github.com/philjackson/xmlgen")
12591 (commit version)))
12592 (file-name (git-file-name name version))
12593 (sha256
12594 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
12595 (build-system emacs-build-system)
12596 (arguments
12597 `(#:tests? #t
12598 #:test-command '("emacs" "--batch"
12599 "-l" "xmlgen-test.el"
12600 "-f" "ert-run-tests-batch-and-exit")))
12601 (home-page "https://github.com/philjackson/xmlgen")
12602 (synopsis "S-expression to XML domain specific language (DSL) in
12603 Emacs Lisp")
12604 (description "@code{emacs-xmlgen} provides S-expression to XML
12605 conversion for Emacs Lisp.")
12606 (license license:gpl2+)))
12607
12608 (define-public emacs-cdlatex
12609 (package
12610 (name "emacs-cdlatex")
12611 (version "4.7")
12612 (source
12613 (origin
12614 (method git-fetch)
12615 (uri (git-reference
12616 (url "https://github.com/cdominik/cdlatex")
12617 (commit version)))
12618 (file-name (git-file-name name version))
12619 (sha256
12620 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
12621 (build-system emacs-build-system)
12622 (propagated-inputs
12623 `(("emacs-auctex" ,emacs-auctex)))
12624 (home-page "https://github.com/cdominik/cdlatex")
12625 (synopsis "Fast Emacs input methods for LaTeX environments and
12626 math")
12627 (description "CDLaTeX is an Emacs minor mode supporting fast
12628 insertion of environment templates and math in LaTeX. Similar
12629 commands are also offered as part of the AUCTeX package, but it is not
12630 the same - CDLaTeX focuses on speediness for inserting LaTeX
12631 constructs.")
12632 (license license:gpl3+)))
12633
12634 (define-public emacs-cnfonts
12635 (package
12636 (name "emacs-cnfonts")
12637 (version "0.9.1")
12638 (source
12639 (origin
12640 (method git-fetch)
12641 (uri (git-reference
12642 (url "https://github.com/tumashu/cnfonts")
12643 (commit (string-append "v" version))))
12644 (file-name (git-file-name name version))
12645 (sha256
12646 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
12647 (build-system emacs-build-system)
12648 (home-page "https://github.com/tumashu/cnfonts")
12649 (synopsis "Emacs Chinese fonts setup tool")
12650 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
12651 configuration of Chinese fonts.")
12652 (license license:gpl2+)))
12653
12654 (define-public emacs-boon
12655 (package
12656 (name "emacs-boon")
12657 (version "1.1")
12658 (source
12659 (origin
12660 (method git-fetch)
12661 (uri (git-reference
12662 (url "https://github.com/jyp/boon")
12663 (commit version)))
12664 (file-name (git-file-name name version))
12665 (sha256
12666 (base32 "1ss9bjs34q41pa0g0nbdzd8fwpjcbd2239rdlx5aykfv9v0b8j77"))))
12667 (build-system emacs-build-system)
12668 (propagated-inputs
12669 `(("emacs-dash" ,emacs-dash)
12670 ("emacs-expand-region" ,emacs-expand-region)
12671 ("emacs-multiple-cursors" ,emacs-multiple-cursors)
12672 ("emacs-powerline" ,emacs-powerline)
12673 ("emacs-spaceline" ,emacs-spaceline)))
12674 (home-page "https://github.com/jyp/boon")
12675 (synopsis "Ergonomic command mode for Emacs")
12676 (description "Boon is a complete package for modal editing with a focus on
12677 ergonomics and modularity. Spacial allocation of keys comes first, mnemonics
12678 second. Most common operations are mapped to the home row, common editing
12679 commands are bound to keys reachable with the left hand and movement keys are
12680 reached with the right hand.")
12681 (license license:gpl3+)))
12682
12683 (define-public emacs-csharp-mode
12684 (package
12685 (name "emacs-csharp-mode")
12686 (version "0.10.0")
12687 (source
12688 (origin
12689 (method git-fetch)
12690 (uri (git-reference
12691 (url "https://github.com/josteink/csharp-mode")
12692 (commit (string-append "v" version))))
12693 (file-name (git-file-name name version))
12694 (sha256
12695 (base32 "0vwkbla2gkfa9dzxfvrvr7hd2z16769iwbycl7k6l701dnwli1fw"))))
12696 (build-system emacs-build-system)
12697 (home-page "https://github.com/josteink/csharp-mode")
12698 (synopsis "Major mode for C# code")
12699 (description
12700 "This is a C# editing mode for Emacs, based on CC mode. It handles
12701 syntax coloring, indentation, insertion of matched pairs of curly braces and
12702 documentation generation. In addition, it provides menu-based navigation
12703 using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
12704 ;; XXX: Project switched to GPL3+ after 0.10.0 release.
12705 (license license:gpl2+)))
12706
12707 (define-public emacs-php-mode
12708 (package
12709 (name "emacs-php-mode")
12710 (version "1.24.0")
12711 (source
12712 (origin
12713 (method git-fetch)
12714 (uri (git-reference
12715 (url "https://github.com/ejmr/php-mode")
12716 (commit (string-append "v" version))))
12717 (file-name (git-file-name name version))
12718 (sha256
12719 (base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn"))))
12720 (build-system emacs-build-system)
12721 (arguments
12722 `(#:phases
12723 (modify-phases %standard-phases
12724 (add-after 'unpack 'enter-source-directory
12725 (lambda _
12726 (chdir "lisp"))))))
12727 (propagated-inputs `(("emacs-projectile" ,emacs-projectile)))
12728 (home-page "https://github.com/ejmr/php-mode")
12729 (synopsis "Major mode for editing PHP code")
12730 (description
12731 "PHP mode is a major mode for editing PHP source code. It's an extension
12732 of C mode; thus it inherits all C mode's navigation functionality. But it
12733 colors according to the PHP grammar and indents according to the PEAR coding
12734 guidelines. It also includes a couple handy IDE-type features such as
12735 documentation search and a source and class browser.")
12736 (license license:gpl3+)))
12737
12738 (define-public emacs-pos-tip
12739 (package
12740 (name "emacs-pos-tip")
12741 (version "0.4.6")
12742 (source
12743 (origin
12744 (method git-fetch)
12745 (uri (git-reference
12746 (url "https://github.com/pitkali/pos-tip")
12747 (commit version)))
12748 (file-name (git-file-name name version))
12749 (sha256
12750 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
12751 (build-system emacs-build-system)
12752 ;; The following functions and variables needed by emacs-pos-tip are
12753 ;; not included in emacs-minimal:
12754 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
12755 (arguments `(#:emacs ,emacs))
12756 (home-page "https://github.com/pitkali/pos-tip")
12757 (synopsis "Show tooltip at point")
12758 (description "The standard library tooltip.el provides a function for
12759 displaying a tooltip at the mouse position. However, locating a tooltip at an
12760 arbitrary buffer position in a window is not easy. Pos-tip provides such a
12761 function to be used by other frontend programs.")
12762 (license license:gpl2+)))
12763
12764 (define-public emacs-pyim-basedict
12765 (package
12766 (name "emacs-pyim-basedict")
12767 (version "0.3.1")
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/tumashu/pyim-basedict")
12773 (commit (string-append "v" version))))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
12777 (build-system emacs-build-system)
12778 (home-page "https://github.com/tumashu/pyim-basedict")
12779 (synopsis "Input method dictionary of pyim")
12780 (description "Pyim-basedict is the default pinyin input method dictionary,
12781 containing words from the Rime project.")
12782 (license license:gpl2+)))
12783
12784 (define-public emacs-pyim
12785 (package
12786 (name "emacs-pyim")
12787 (version "3.6")
12788 (source
12789 (origin
12790 (method url-fetch)
12791 (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
12792 (sha256
12793 (base32 "1fmbzh33s9xdvrfjhkqr9ydcqbiv8lr04k5idvbpc9vwjjjan5y0"))))
12794 (build-system emacs-build-system)
12795 (propagated-inputs
12796 `(("emacs-async" ,emacs-async)
12797 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
12798 ("emacs-popup" ,emacs-popup)
12799 ("emacs-posframe" ,emacs-posframe)
12800 ("emacs-xr" ,emacs-xr)))
12801 (home-page "https://github.com/tumashu/pyim")
12802 (synopsis "Chinese input method")
12803 (description
12804 "This package provides a Chinese input method which supports quanpin,
12805 shuangpin, wubi and cangjie.")
12806 (license license:gpl2+)))
12807
12808 (define-public emacs-posframe
12809 (package
12810 (name "emacs-posframe")
12811 (version "1.0.2")
12812 (source
12813 (origin
12814 (method url-fetch)
12815 (uri (string-append "https://elpa.gnu.org/packages/"
12816 "posframe-" version ".tar"))
12817 (sha256
12818 (base32 "19a1dkjyw9m74aamyqrsvzrdwshngqpmjzdngx6v5nifvcilrlnk"))))
12819 (build-system emacs-build-system)
12820 ;; emacs-minimal does not include the function font-info.
12821 (arguments
12822 `(#:emacs ,emacs))
12823 (home-page "https://github.com/tumashu/posframe")
12824 (synopsis "Pop a posframe (a child frame) at point")
12825 (description
12826 "Posframe can pop a posframe at point. A posframe is a child frame
12827 displayed within its root window's buffer. Posframe is fast and works well
12828 with CJK languages.")
12829 (license license:gpl3+)))
12830
12831 (define-public emacs-el2org
12832 (package
12833 (name "emacs-el2org")
12834 (version "0.6.0")
12835 (source
12836 (origin
12837 (method git-fetch)
12838 (uri (git-reference
12839 (url "https://github.com/tumashu/el2org")
12840 (commit (string-append "v" version))))
12841 (file-name (git-file-name name version))
12842 (sha256
12843 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
12844 (build-system emacs-build-system)
12845 (home-page "https://github.com/tumashu/el2org")
12846 (synopsis "Convert Emacs-lisp file to org file")
12847 (description "El2org is a simple tool, which can convert Emacs-lisp file
12848 to org file, you can use this tool to write orgify commentary.")
12849 (license license:gpl2+)))
12850
12851 (define-public emacs-mustache
12852 (package
12853 (name "emacs-mustache")
12854 (version "0.23")
12855 (source
12856 (origin
12857 (method git-fetch)
12858 (uri (git-reference
12859 (url "https://github.com/Wilfred/mustache.el")
12860 (commit version)))
12861 (file-name (git-file-name name version))
12862 (sha256
12863 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
12864 (build-system emacs-build-system)
12865 (propagated-inputs
12866 `(("emacs-dash" ,emacs-dash)
12867 ("emacs-ht" ,emacs-ht)
12868 ("emacs-s" ,emacs-s)))
12869 (home-page "https://github.com/Wilfred/mustache.el")
12870 (synopsis "Mustache templating library for Emacs")
12871 (description "Mustache templating library for Emacs, mustache is
12872 a simple web template system, which is described as a logic-less system
12873 because it lacks any explicit control flow statements, both looping and
12874 conditional evaluation can be achieved using section tags processing lists
12875 and lambdas.")
12876 (license license:gpl3+)))
12877
12878 (define-public emacs-org2web
12879 (package
12880 (name "emacs-org2web")
12881 (version "0.9.1")
12882 (source
12883 (origin
12884 (method git-fetch)
12885 (uri (git-reference
12886 (url "https://github.com/tumashu/org2web")
12887 (commit (string-append "v" version))))
12888 (file-name (git-file-name name version))
12889 (sha256
12890 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
12891 (build-system emacs-build-system)
12892 (propagated-inputs
12893 `(("emacs-dash" ,emacs-dash)
12894 ("emacs-el2org" ,emacs-el2org)
12895 ("emacs-ht" ,emacs-ht)
12896 ("emacs-mustache" ,emacs-mustache)
12897 ("emacs-simple-httpd" ,emacs-simple-httpd)))
12898 (home-page "https://github.com/tumashu/org2web")
12899 (synopsis "Static site generator based on org-mode ")
12900 (description "Org2web is a static site generator based on org-mode,
12901 which code derived from Kelvin H's org-page.")
12902 (license license:gpl2+)))
12903
12904 (define-public emacs-xelb
12905 (package
12906 (name "emacs-xelb")
12907 (version "0.18")
12908 (source (origin
12909 (method url-fetch)
12910 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
12911 version ".tar"))
12912 (sha256
12913 (base32
12914 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
12915 (build-system emacs-build-system)
12916 ;; The following functions and variables needed by emacs-xelb are
12917 ;; not included in emacs-minimal:
12918 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
12919 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
12920 ;; x-display-pixel-width, x-display-pixel-height
12921 (arguments
12922 `(#:emacs ,emacs
12923 #:phases
12924 (modify-phases %standard-phases
12925 (add-after 'unpack 'regenerate-el-files
12926 (lambda* (#:key inputs #:allow-other-keys)
12927 (invoke "make"
12928 (string-append "PROTO_PATH="
12929 (assoc-ref inputs "xcb-proto")
12930 "/share/xcb")
12931 (string-append "EMACS_BIN="
12932 (assoc-ref inputs "emacs")
12933 "/bin/emacs -Q")))))))
12934 (native-inputs `(("xcb-proto" ,xcb-proto)))
12935 (home-page "https://github.com/ch11ng/xelb")
12936 (synopsis "X protocol Emacs Lisp binding")
12937 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
12938 X11 protocol based on the XML description files from the XCB project. It
12939 features an object-oriented API and permits a certain degree of concurrency.
12940 It should enable you to implement low-level X11 applications.")
12941 (license license:gpl3+)))
12942
12943 (define-public emacs-exwm
12944 (package
12945 (name "emacs-exwm")
12946 (version "0.24")
12947 (synopsis "Emacs X window manager")
12948 (source
12949 (origin
12950 (method url-fetch)
12951 (uri (string-append "https://elpa.gnu.org/packages/"
12952 "exwm-" version ".tar"))
12953 (sha256
12954 (base32 "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s"))
12955 (patches
12956 ;; Patch fixing fullscreen view. Applied upstream as
12957 ;; edb930005b0ba83051ca8a59b493e9a3c8ef580a. It can be removed in
12958 ;; next release.
12959 (search-patches "emacs-exwm-fix-fullscreen-states.patch"))))
12960 (build-system emacs-build-system)
12961 (propagated-inputs
12962 `(("emacs-xelb" ,emacs-xelb)))
12963 (inputs
12964 `(("xhost" ,xhost)
12965 ("dbus" ,dbus)))
12966 ;; The following functions and variables needed by emacs-exwm are
12967 ;; not included in emacs-minimal:
12968 ;; scroll-bar-mode, fringe-mode
12969 ;; x-display-pixel-width, x-display-pixel-height
12970 (arguments
12971 `(#:emacs ,emacs
12972 #:phases
12973 (modify-phases %standard-phases
12974 (add-after 'build 'install-xsession
12975 (lambda* (#:key inputs outputs #:allow-other-keys)
12976 (let* ((out (assoc-ref outputs "out"))
12977 (xsessions (string-append out "/share/xsessions"))
12978 (bin (string-append out "/bin"))
12979 (exwm-executable (string-append bin "/exwm")))
12980 ;; Add a .desktop file to xsessions
12981 (mkdir-p xsessions)
12982 (mkdir-p bin)
12983 (make-desktop-entry-file
12984 (string-append xsessions "/exwm.desktop")
12985 #:name ,name
12986 #:comment ,synopsis
12987 #:exec exwm-executable
12988 #:try-exec exwm-executable)
12989 ;; Add a shell wrapper to bin
12990 (with-output-to-file exwm-executable
12991 (lambda _
12992 (format #t "#!~a ~@
12993 ~a +SI:localuser:$USER ~@
12994 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
12995 (string-append (assoc-ref inputs "bash") "/bin/sh")
12996 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
12997 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
12998 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
12999 '(cond
13000 ((file-exists-p "~/.exwm")
13001 (load-file "~/.exwm"))
13002 ((not (featurep 'exwm))
13003 (require 'exwm)
13004 (require 'exwm-config)
13005 (exwm-config-default)
13006 (message (concat "exwm configuration not found. "
13007 "Falling back to default configuration...")))))))
13008 (chmod exwm-executable #o555)
13009 #t))))))
13010 (home-page "https://github.com/ch11ng/exwm")
13011 (description
13012 "EXWM is a full-featured tiling X window manager for Emacs built on top
13013 of XELB.")
13014 (license license:gpl3+)))
13015
13016 (define-public emacs-xelb-no-x-toolkit
13017 (package
13018 (inherit emacs-xelb)
13019 (name "emacs-xelb-no-x-toolkit")
13020 (arguments
13021 (substitute-keyword-arguments (package-arguments emacs-xelb)
13022 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
13023
13024 (define-public emacs-exwm-no-x-toolkit
13025 (package
13026 (inherit emacs-exwm)
13027 (name "emacs-exwm-no-x-toolkit")
13028 (synopsis "Emacs X window manager (without an X toolkit)")
13029 (propagated-inputs
13030 `(("emacs-xelb-no-x-toolkit" ,emacs-xelb-no-x-toolkit)))
13031 (arguments
13032 (substitute-keyword-arguments (package-arguments emacs-exwm)
13033 ((#:emacs emacs) `,emacs-no-x-toolkit)))))
13034
13035 (define-public emacs-switch-window
13036 (package
13037 (name "emacs-switch-window")
13038 (version "1.6.2")
13039 (source
13040 (origin
13041 (method git-fetch)
13042 (uri (git-reference
13043 (url "https://github.com/dimitri/switch-window")
13044 (commit (string-append "v" version))))
13045 (file-name (git-file-name name version))
13046 (sha256
13047 (base32
13048 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
13049 (build-system emacs-build-system)
13050 (home-page "https://github.com/dimitri/switch-window")
13051 (synopsis "Emacs window switch tool")
13052 (description "Switch-window is an emacs window switch tool, which
13053 offer a visual way to choose a window to switch to, delete, split or
13054 other operations.")
13055 (license license:wtfpl2)))
13056
13057 (define-public emacs-exwm-x
13058 (package
13059 (name "emacs-exwm-x")
13060 (version "1.9.0")
13061 (synopsis "Derivative window manager based on EXWM")
13062 (source
13063 (origin
13064 (method git-fetch)
13065 (uri (git-reference
13066 (url "https://github.com/tumashu/exwm-x")
13067 (commit (string-append "v" version))))
13068 (file-name (git-file-name name version))
13069 (sha256
13070 (base32
13071 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
13072 (build-system emacs-build-system)
13073 (propagated-inputs
13074 `(("emacs-counsel" ,emacs-counsel)
13075 ("emacs-exwm" ,emacs-exwm)
13076 ("emacs-switch-window" ,emacs-switch-window)
13077 ("emacs-use-package" ,emacs-use-package)))
13078 (inputs
13079 `(("xhost" ,xhost)
13080 ("dbus" ,dbus)))
13081 ;; Need emacs instead of emacs-minimal,
13082 ;; for emacs's bin path will be inserted into bin/exwm-x file.
13083 (arguments
13084 `(#:emacs ,emacs
13085 #:phases
13086 (modify-phases %standard-phases
13087 (add-after 'build 'install-xsession
13088 (lambda* (#:key inputs outputs #:allow-other-keys)
13089 (let* ((out (assoc-ref outputs "out"))
13090 (xsessions (string-append out "/share/xsessions"))
13091 (bin (string-append out "/bin"))
13092 (exwm-executable (string-append bin "/exwm-x")))
13093 ;; Add a .desktop file to xsessions
13094 (mkdir-p xsessions)
13095 (mkdir-p bin)
13096 (with-output-to-file
13097 (string-append xsessions "/exwm-x.desktop")
13098 (lambda _
13099 (format #t "[Desktop Entry]~@
13100 Name=~a~@
13101 Comment=~a~@
13102 Exec=~a~@
13103 TryExec=~@*~a~@
13104 Type=Application~%" ,name ,synopsis exwm-executable)))
13105 ;; Add a shell wrapper to bin
13106 (with-output-to-file exwm-executable
13107 (lambda _
13108 (format #t "#!~a ~@
13109 ~a +SI:localuser:$USER ~@
13110 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
13111 (string-append (assoc-ref inputs "bash") "/bin/sh")
13112 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
13113 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
13114 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
13115 '(require 'exwmx-loader))))
13116 (chmod exwm-executable #o555)
13117 #t))))))
13118 (home-page "https://github.com/tumashu/exwm-x")
13119 (description "EXWM-X is a derivative window manager based on EXWM, with focus
13120 on mouse-control.")
13121 (license license:gpl3+)))
13122
13123 (define-public emacs-gnugo
13124 (package
13125 (name "emacs-gnugo")
13126 (version "3.1.0")
13127 (source
13128 (origin
13129 (method url-fetch)
13130 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
13131 version ".tar"))
13132 (sha256
13133 (base32
13134 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
13135 (build-system emacs-build-system)
13136 (arguments
13137 `(#:phases (modify-phases %standard-phases
13138 (add-after 'unpack 'configure-default-gnugo-xpms-variable
13139 (lambda _
13140 (substitute* "gnugo.el"
13141 (("defvar gnugo-xpms nil")
13142 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
13143 #t)))))
13144 (propagated-inputs
13145 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
13146 ("emacs-xpm" ,emacs-xpm)))
13147 (home-page "https://elpa.gnu.org/packages/gnugo.html")
13148 (synopsis "Emacs major mode for playing GNU Go")
13149 (description "This package provides an Emacs based interface for GNU Go.
13150 It has a graphical mode where the board and stones are drawn using XPM images
13151 and supports the use of a mouse.")
13152 (license license:gpl3+)))
13153
13154 (define-public emacs-gnuplot
13155 (package
13156 (name "emacs-gnuplot")
13157 (version "0.8.0")
13158 (source
13159 (origin
13160 (method git-fetch)
13161 (uri (git-reference
13162 (url "https://github.com/emacsorphanage/gnuplot-mode")
13163 (commit version)))
13164 (file-name (git-file-name name version))
13165 (sha256
13166 (base32 "09y177sq24gs7wwjihw59g0m4n1rv2ws9890ynxjxawv823r0fxm"))))
13167 (build-system emacs-build-system)
13168 (home-page "https://github.com/emacsorphanage/gnuplot-mode")
13169 (synopsis "Emacs major mode for interacting with Gnuplot")
13170 (description
13171 "Emacs Gnuplot is an Emacs major mode for interacting with Gnuplot.")
13172 (license license:gpl2+)))
13173
13174 (define-public emacs-transpose-frame
13175 (package
13176 (name "emacs-transpose-frame")
13177 (version "0.2.0")
13178 (source
13179 (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/emacsorphanage/transpose-frame")
13183 (commit (string-append "v" version))))
13184 (file-name (git-file-name name version))
13185 (sha256
13186 (base32 "01j4ci0c52r2c31hc9r4p7nsb6s8blmvg50g9n5v5h3afjl1c35v"))))
13187 (build-system emacs-build-system)
13188 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
13189 (synopsis "Transpose window arrangement in current frame")
13190 (description "@code{emacs-transpose-frame} provides some interactive
13191 functions which allows users to transpose windows arrangement in currently
13192 selected frame.")
13193 (license license:bsd-2)))
13194
13195 (define-public emacs-key-chord
13196 (package
13197 (name "emacs-key-chord")
13198 (version "0.6")
13199 (source
13200 (origin
13201 (method url-fetch)
13202 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
13203 (file-name (string-append "key-chord-" version ".el"))
13204 (sha256
13205 (base32
13206 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
13207 (build-system emacs-build-system)
13208 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
13209 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
13210 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
13211 mode for binding key chords to commands. A key chord is defined as two keys
13212 pressed simultaneously or a single key quickly pressed twice.")
13213 (license license:gpl2+)))
13214
13215 (define-public emacs-evil-surround
13216 (package
13217 (name "emacs-evil-surround")
13218 (version "1.1.1")
13219 (source
13220 (origin
13221 (method git-fetch)
13222 (uri (git-reference
13223 (url "https://github.com/emacs-evil/evil-surround")
13224 (commit version)))
13225 (file-name (git-file-name name version))
13226 (sha256
13227 (base32 "1gfgmr4909m36gknprcam6q4rkcqfbi6w43ky7x6jnlmgb6mxggg"))))
13228 (build-system emacs-build-system)
13229 (propagated-inputs
13230 `(("emacs-evil" ,emacs-evil)))
13231 (arguments
13232 `(#:tests? #t
13233 #:test-command '("make" "test")))
13234 (home-page "https://github.com/emacs-evil/evil-surround")
13235 (synopsis "Easily modify surrounding parentheses and quotes")
13236 (description "@code{emacs-evil-surround} allows easy deletion, change and
13237 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
13238 (license license:gpl3+)))
13239
13240 (define-public emacs-evil-commentary
13241 (package
13242 (name "emacs-evil-commentary")
13243 (version "2.1.1")
13244 (source
13245 (origin
13246 (method git-fetch)
13247 (uri (git-reference
13248 (url "https://github.com/linktohack/evil-commentary")
13249 (commit (string-append "v" version))))
13250 (file-name (git-file-name name version))
13251 (sha256
13252 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
13253 (build-system emacs-build-system)
13254 (propagated-inputs
13255 `(("emacs-evil" ,emacs-evil)))
13256 (home-page "https://github.com/linktohack/evil-commentary")
13257 (synopsis "Comment out code in evil mode")
13258 (description "@code{emacs-evil-commentary} adds keybindings to easily
13259 comment out lines of code in evil mode. It provides @code{gcc} to comment out
13260 lines, and @code{gc} to comment out the target of a motion.")
13261 (license license:gpl3+)))
13262
13263 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
13264 ;; therefore cannot be run
13265 (define-public emacs-ansi
13266 (let ((commit "a41d5cc719297515d85bb5256980cd1204a71b88")
13267 (revision "1"))
13268 (package
13269 (name "emacs-ansi")
13270 (version (git-version "0.4.1" revision commit))
13271 (source
13272 (origin
13273 (method git-fetch)
13274 (uri (git-reference
13275 (url "https://github.com/rejeep/ansi.el")
13276 (commit commit)))
13277 (file-name (git-file-name name version))
13278 (sha256
13279 (base32 "051v8dmji90chwbsyqsqry7h35mksal2j6rgw1kpmjsni86d79y1"))))
13280 (build-system emacs-build-system)
13281 (propagated-inputs
13282 `(("emacs-dash" ,emacs-dash)
13283 ("emacs-s" ,emacs-s)))
13284 (home-page "https://github.com/rejeep/ansi.el")
13285 (synopsis "Convert strings to ANSI")
13286 (description "@code{emacs-ansi} defines functions that turns simple
13287 strings to ANSI strings. Turning a string into an ANSI string can be to add
13288 color to a text, add color in the background of a text or adding a style, such
13289 as bold, underscore or italic.")
13290 (license license:gpl3+))))
13291
13292 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
13293 ;; therefore cannot be run
13294 (define-public emacs-commander
13295 (package
13296 (name "emacs-commander")
13297 (version "0.7.0")
13298 (source
13299 (origin
13300 (method git-fetch)
13301 (uri (git-reference
13302 (url "https://github.com/rejeep/commander.el")
13303 (commit (string-append "v" version))))
13304 (file-name (git-file-name name version))
13305 (sha256
13306 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
13307 (build-system emacs-build-system)
13308 (propagated-inputs
13309 `(("emacs-dash" ,emacs-dash)
13310 ("emacs-f" ,emacs-f)
13311 ("emacs-s" ,emacs-s)))
13312 (home-page "https://github.com/rejeep/commander.el")
13313 (synopsis "Emacs command line parser")
13314 (description "@code{emacs-commander} provides command line parsing for
13315 Emacs.")
13316 (license license:gpl3+)))
13317
13318 (define-public emacs-eglot
13319 (package
13320 (name "emacs-eglot")
13321 (version "1.7")
13322 (source
13323 (origin
13324 (method url-fetch)
13325 (uri (string-append "https://elpa.gnu.org/packages/"
13326 "eglot-" version ".tar"))
13327 (sha256
13328 (base32 "1zvs144hxq2mmq1h0ynx9hy7yyccb46f3pjg9mgq8v9cw5y678vk"))))
13329 (build-system emacs-build-system)
13330 (propagated-inputs
13331 `(("emacs-eldoc" ,emacs-eldoc)
13332 ("emacs-jsonrpc" ,emacs-jsonrpc)
13333 ("emacs-project" ,emacs-project)))
13334 (home-page "https://github.com/joaotavora/eglot")
13335 (synopsis "Client for Language Server Protocol (LSP) servers")
13336 (description
13337 "Emacs Polyglot, or Eglot, is an Emacs @acronym{Language Server Protocol,
13338 LSP} client that stays out of the way. It guesses the LSP program to start
13339 for the current file, using the major mode as a hint. It prompts you to enter
13340 one if it fails.")
13341 (license license:gpl3+)))
13342
13343 (define-public emacs-eldoc
13344 (package
13345 (name "emacs-eldoc")
13346 (version "1.11.0")
13347 (source
13348 (origin
13349 (method url-fetch)
13350 (uri (string-append
13351 "https://elpa.gnu.org/packages/eldoc-" version ".el"))
13352 (sha256
13353 (base32 "1py9l1vl7s90y5kfpglhy11jswam2gcrqap09h6wb5ldnyb8cgq2"))))
13354 (build-system emacs-build-system)
13355 (home-page "http://elpa.gnu.org/packages/eldoc.html")
13356 (synopsis "Show function arglist or variable docstring in echo area")
13357 (description
13358 "This program was inspired by the behavior of the ``mouse documentation
13359 window'' on many Lisp Machine systems; as you type a function's symbol name as
13360 part of a sexp, it will print the argument list for that function. Behavior
13361 is not identical; for example, you need not actually type the function name,
13362 you need only move point around in a sexp that calls it. Also, if point is
13363 over a documented variable, it will print the one-line documentation for that
13364 variable instead, to remind you of that variable's meaning.")
13365 (license license:gpl3+)))
13366
13367 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
13368 ;; cannot be run
13369 (define-public emacs-ert-runner
13370 (package
13371 (name "emacs-ert-runner")
13372 (version "0.8.0")
13373 (source
13374 (origin
13375 (method git-fetch)
13376 (uri (git-reference
13377 (url "https://github.com/rejeep/ert-runner.el")
13378 (commit (string-append "v" version))))
13379 (file-name (git-file-name name version))
13380 (sha256
13381 (base32
13382 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
13383 (build-system emacs-build-system)
13384 (inputs
13385 `(("emacs-ansi" ,emacs-ansi)
13386 ("emacs-commander" ,emacs-commander)
13387 ("emacs-dash" ,emacs-dash)
13388 ("emacs-f" ,emacs-f)
13389 ("emacs-s" ,emacs-s)
13390 ("emacs-shut-up" ,emacs-shut-up)))
13391 (arguments
13392 `(#:phases
13393 (modify-phases %standard-phases
13394 (add-after 'install 'install-executable
13395 (lambda* (#:key inputs outputs #:allow-other-keys)
13396 (let ((out (assoc-ref outputs "out"))
13397 (source-directory (string-append
13398 (getenv "TMPDIR") "/source")))
13399 (substitute* "bin/ert-runner"
13400 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
13401 (string-append "ERT_RUNNER=\"" (elpa-directory out))))
13402 (install-file "bin/ert-runner" (string-append out "/bin"))
13403 (wrap-program (string-append out "/bin/ert-runner")
13404 (list "EMACSLOADPATH" ":" 'prefix
13405 ;; Do not capture the transient source directory in
13406 ;; the wrapper.
13407 (delete source-directory
13408 (string-split (getenv "EMACSLOADPATH") #\:))))
13409 #t))))
13410 #:include (cons* "^reporters/.*\\.el$" %default-include)))
13411 (home-page "https://github.com/rejeep/ert-runner.el")
13412 (synopsis "Opinionated Ert testing workflow")
13413 (description "@code{ert-runner} is a tool for Emacs projects tested
13414 using ERT. It assumes a certain test structure setup and can therefore make
13415 running tests easier.")
13416 (license license:gpl3+)))
13417
13418 (define-public emacs-xtest
13419 (package
13420 (name "emacs-xtest")
13421 (version "1.1.0")
13422 (source (origin
13423 (method git-fetch)
13424 (uri (git-reference
13425 (url "https://github.com/promethial/xtest")
13426 (commit (string-append "v" version))))
13427 (file-name (git-file-name name version))
13428 (sha256
13429 (base32
13430 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
13431 (arguments
13432 `(#:exclude '()))
13433 (build-system emacs-build-system)
13434 (home-page "https://github.com/promethial/xtest/")
13435 (synopsis "Simple testing with Emacs")
13436 (description "This package provides a simple testing library for Emacs.")
13437 (license license:gpl3+)))
13438
13439 (define-public emacs-disable-mouse
13440 (package
13441 (name "emacs-disable-mouse")
13442 (version "0.3")
13443 (source
13444 (origin
13445 (method git-fetch)
13446 (uri (git-reference
13447 (url "https://github.com/purcell/disable-mouse")
13448 (commit version)))
13449 (file-name (git-file-name name version))
13450 (sha256
13451 (base32 "0l6mai68ns3qw3rlvjvzsnqwdy7bxqiy0vdwflq0l1plxb1vazyc"))))
13452 (build-system emacs-build-system)
13453 (home-page "https://github.com/purcell/disable-mouse")
13454 (synopsis "Disable mouse commands globally")
13455 (description
13456 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
13457 pair of minor modes which suppress all mouse events by intercepting them and
13458 running a customisable handler command (@code{ignore} by default). ")
13459 (license license:gpl3+)))
13460
13461 (define-public emacs-json-reformat
13462 (package
13463 (name "emacs-json-reformat")
13464 (version "0.0.6")
13465 (source
13466 (origin
13467 (method git-fetch)
13468 (uri (git-reference
13469 (url "https://github.com/gongo/json-reformat")
13470 (commit version)))
13471 (file-name (git-file-name name version))
13472 (sha256
13473 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
13474 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
13475 (build-system emacs-build-system)
13476 (propagated-inputs
13477 `(("emacs-undercover" ,emacs-undercover)))
13478 (native-inputs
13479 `(("emacs-dash" ,emacs-dash)
13480 ("emacs-shut-up" ,emacs-shut-up)
13481 ("ert-runner" ,emacs-ert-runner)))
13482 (arguments
13483 `(#:tests? #t
13484 #:test-command '("ert-runner")
13485 #:phases
13486 (modify-phases %standard-phases
13487 (add-before 'check 'make-tests-writable
13488 (lambda _
13489 (for-each make-file-writable (find-files "test"))
13490 #t))
13491 (add-before 'check 'delete-json-objects-order-test
13492 (lambda _
13493 (emacs-batch-edit-file "test/json-reformat-test.el"
13494 `(progn (progn (goto-char (point-min))
13495 (re-search-forward
13496 "ert-deftest json-reformat-test:json-reformat-region")
13497 (beginning-of-line)
13498 (kill-sexp))
13499 (basic-save-buffer)))
13500 #t)))))
13501 (home-page "https://github.com/gongo/json-reformat")
13502 (synopsis "Reformatting tool for JSON")
13503 (description "@code{json-reformat} provides a reformatting tool for
13504 @url{http://json.org/, JSON}.")
13505 (license license:gpl3+)))
13506
13507 (define-public emacs-json-snatcher
13508 (package
13509 (name "emacs-json-snatcher")
13510 (version "1.0.0")
13511 (source
13512 (origin
13513 (method git-fetch)
13514 (uri (git-reference
13515 (url "https://github.com/Sterlingg/json-snatcher")
13516 (commit version)))
13517 (file-name (git-file-name name version))
13518 (sha256
13519 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
13520 (build-system emacs-build-system)
13521 (home-page "https://github.com/sterlingg/json-snatcher")
13522 (synopsis "Grabs the path to JSON values in a JSON file")
13523 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
13524 a @url{http://json.org/, JSON} file.")
13525 (license license:gpl3+)))
13526
13527 (define-public emacs-json-mode
13528 (package
13529 (name "emacs-json-mode")
13530 (version "1.7.0")
13531 (source
13532 (origin
13533 (method git-fetch)
13534 (uri (git-reference
13535 (url "https://github.com/joshwnj/json-mode")
13536 (commit (string-append "v" version))))
13537 (file-name (git-file-name name version))
13538 (sha256
13539 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
13540 (build-system emacs-build-system)
13541 (propagated-inputs
13542 `(("emacs-json-reformat" ,emacs-json-reformat)
13543 ("emacs-json-snatcher" ,emacs-json-snatcher)))
13544 (home-page "https://github.com/joshwnj/json-mode")
13545 (synopsis "Major mode for editing JSON files")
13546 (description "@code{json-mode} extends the builtin js-mode syntax
13547 highlighting.")
13548 (license license:gpl3+)))
13549
13550 (define-public emacs-jsonrpc
13551 (package
13552 (name "emacs-jsonrpc")
13553 (version "1.0.14")
13554 (source
13555 (origin
13556 (method url-fetch)
13557 (uri (string-append "https://elpa.gnu.org/packages/"
13558 "jsonrpc-" version ".el"))
13559 (sha256
13560 (base32 "069l0sqkambam4ikj9id36kdw1jdjna8v586d51m64hiz96rmvm6"))))
13561 (build-system emacs-build-system)
13562 (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
13563 (synopsis "JSON-RPC library")
13564 (description
13565 "This library implements the JSONRPC 2.0 specification as
13566 described in @url{http://www.jsonrpc.org/}. As the name suggests,
13567 JSONRPC is a generic Remote Procedure Call protocol designed around
13568 JSON objects.")
13569 (license license:gpl3+)))
13570
13571 (define-public emacs-jsonnet-mode
13572 (package
13573 (name "emacs-jsonnet-mode")
13574 (version "0.1.2")
13575 (source
13576 (origin
13577 (method git-fetch)
13578 (uri (git-reference
13579 (url "https://github.com/tminor/jsonnet-mode")
13580 (commit (string-append "v" version))))
13581 (file-name (git-file-name name version))
13582 (sha256
13583 (base32
13584 "0vi7415n90d1z2ww1hld0gdp6v7z4rd6f70h476dp2x4hydk293i"))))
13585 (build-system emacs-build-system)
13586 (propagated-inputs
13587 `(("emacs-dash" ,emacs-dash)))
13588 (home-page "https://github.com/tminor/jsonnet-mode")
13589 (synopsis "Major mode for editing jsonnet files")
13590 (description "This package provides syntax highlighting, indenting,
13591 formatting, and utility methods for jsonnet files.")
13592 (license license:gpl3+)))
13593
13594 (define-public emacs-restclient
13595 (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3")
13596 (version "0")
13597 (revision "3")) ;Guix package revision,
13598 ;upstream doesn't have official releases
13599 (package
13600 (name "emacs-restclient")
13601 (version (git-version version revision commit))
13602 (source (origin
13603 (method git-fetch)
13604 (uri (git-reference
13605 (url "https://github.com/pashky/restclient.el")
13606 (commit commit)))
13607 (sha256
13608 (base32
13609 "1a2c7xzy7rsan1zcdskia6m7n6j29xacfkqjlfdhzk6rr1bpzkwk"))
13610 (file-name (git-file-name name version))))
13611 (build-system emacs-build-system)
13612 (propagated-inputs
13613 `(("emacs-helm" ,emacs-helm)
13614 ("emacs-jq-mode" ,emacs-jq-mode)))
13615 (home-page "https://github.com/pashky/restclient.el")
13616 (synopsis "Explore and test HTTP REST webservices")
13617 (description
13618 "This tool allows for testing and exploration of HTTP REST Web services
13619 from within Emacs. Restclient runs queries from a plan-text query sheet,
13620 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
13621 (license license:public-domain))))
13622
13623 (define-public emacs-jq-mode
13624 (package
13625 (name "emacs-jq-mode")
13626 (version "0.5.0")
13627 (source
13628 (origin
13629 (method git-fetch)
13630 (uri (git-reference
13631 (url "https://github.com/ljos/jq-mode")
13632 (commit (string-append "v" version))))
13633 (file-name (git-file-name name version))
13634 (sha256
13635 (base32 "0xk0if5i9cz4w06lx8v1vdm112pn1ybqgfw048sx15yyvfzgril1"))))
13636 (build-system emacs-build-system)
13637 (home-page "https://github.com/ljos/jq-mode")
13638 (synopsis "Major mode for editing jq queries")
13639 (description
13640 "Jq mode is an Emacs major mode for editing jq-scripts.")
13641 (license license:gpl3+)))
13642
13643 (define-public emacs-whitespace-cleanup-mode
13644 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
13645 (revision "1"))
13646 (package
13647 (name "emacs-whitespace-cleanup-mode")
13648 (version (git-version "0.10" revision commit))
13649 (source (origin
13650 (method git-fetch)
13651 (uri (git-reference
13652 (url "https://github.com/purcell/whitespace-cleanup-mode")
13653 (commit commit)))
13654 (sha256
13655 (base32
13656 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
13657 (file-name (git-file-name name version))))
13658 (build-system emacs-build-system)
13659 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
13660 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
13661 (description
13662 "This package provides a minor mode that calls
13663 @code{whitespace-cleanup} before saving the current buffer only if the
13664 whitespace in the buffer was initially clean.")
13665 (license license:gpl3+))))
13666
13667 (define-public emacs-eimp
13668 (let ((version "1.4.0")
13669 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
13670 (revision "1"))
13671 (package
13672 (name "emacs-eimp")
13673 (version (git-version version revision commit))
13674 (source
13675 (origin
13676 (method git-fetch)
13677 (uri (git-reference
13678 (url "https://github.com/nicferrier/eimp")
13679 (commit commit)))
13680 (file-name (git-file-name name version))
13681 (sha256
13682 (base32
13683 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
13684 (build-system emacs-build-system)
13685 (arguments
13686 `(#:phases
13687 (modify-phases %standard-phases
13688 (add-after 'unpack 'configure
13689 (lambda* (#:key inputs #:allow-other-keys)
13690 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13691 ;; eimp.el is read-only in git.
13692 (chmod "eimp.el" #o644)
13693 (emacs-substitute-variables "eimp.el"
13694 ("eimp-mogrify-program"
13695 (string-append imagemagick "/bin/mogrify"))))
13696 #t)))))
13697 (inputs
13698 `(("imagemagick" ,imagemagick)))
13699 (home-page "https://github.com/nicferrier/eimp")
13700 (synopsis "Interactive image manipulation utility for Emacs")
13701 (description "@code{emacs-eimp} allows interactive image manipulation
13702 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
13703 the actual transformations.")
13704 (license license:gpl2+))))
13705
13706 (define-public emacs-dired-hacks
13707 (let ((commit "d1a2bda6aa8f890cb367297ed93aee6d3b5ba388")
13708 (revision "3"))
13709 (package
13710 (name "emacs-dired-hacks")
13711 (version (git-version "0.0.1" revision commit))
13712 (source (origin
13713 (method git-fetch)
13714 (uri (git-reference
13715 (url "https://github.com/Fuco1/dired-hacks")
13716 (commit commit)))
13717 (file-name (git-file-name name version))
13718 (sha256
13719 (base32
13720 "12m81a9kjhs4cyq3lym0vp5nx6z3sfnypyzrnia76x6rjvixjf6y"))))
13721 (build-system emacs-build-system)
13722 (propagated-inputs
13723 `(("emacs-dash" ,emacs-dash)
13724 ("emacs-eimp" ,emacs-eimp)
13725 ("emacs-f" ,emacs-f)
13726 ("emacs-s" ,emacs-s)))
13727 (home-page "https://github.com/Fuco1/dired-hacks")
13728 (synopsis
13729 "Collection of useful dired additions")
13730 (description
13731 "This package provides the following collection of Emacs dired mode
13732 additions:
13733
13734 @itemize
13735 @item dired-avfs
13736 @item dired-columns
13737 @item dired-filter
13738 @item dired-hacks-utils
13739 @item dired-images
13740 @item dired-list
13741 @item dired-narrow
13742 @item dired-open
13743 @item dired-rainbow
13744 @item dired-ranger
13745 @item dired-subtree
13746 @item dired-tagsistant
13747 @end itemize\n")
13748 (license license:gpl3+))))
13749
13750 (define-public emacs-dired-sidebar
13751 (let ((commit "da77919081d9a4e73c2df63542353319381e4f89")
13752 (revision "2"))
13753 (package
13754 (name "emacs-dired-sidebar")
13755 (home-page "https://github.com/jojojames/dired-sidebar")
13756 (version (git-version "0.1.0" revision commit))
13757 (source (origin
13758 (method git-fetch)
13759 (uri (git-reference (url home-page) (commit commit)))
13760 (file-name (git-file-name name version))
13761 (sha256
13762 (base32
13763 "05h56wdl2xvc8davnx83ypg20fl7wlks97cafa4r2yf141xjc05h"))))
13764 (build-system emacs-build-system)
13765 (propagated-inputs
13766 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
13767 (synopsis "Sidebar for Emacs using Dired")
13768 (description
13769 "This package provides a sidebar for Emacs similar to @code{NeoTree}
13770 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
13771 (license license:gpl3+))))
13772
13773 (define-public emacs-which-key
13774 (package
13775 (name "emacs-which-key")
13776 (version "3.5.2")
13777 (source
13778 (origin
13779 (method git-fetch)
13780 (uri (git-reference
13781 (url "https://github.com/justbur/emacs-which-key")
13782 (commit (string-append "v" version))))
13783 (file-name (git-file-name name version))
13784 (sha256
13785 (base32 "1wgygby4zwlbx6ry6asraaixl169qdz092zgk1brvg63w7f8vkkb"))))
13786 (build-system emacs-build-system)
13787 (arguments
13788 `(#:tests? #t
13789 #:test-command '("emacs" "--batch"
13790 "-l" "which-key-tests.el"
13791 "-f" "ert-run-tests-batch-and-exit")))
13792 (home-page "https://github.com/justbur/emacs-which-key")
13793 (synopsis "Display available key bindings in popup")
13794 (description
13795 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
13796 bindings following your currently entered incomplete command (a prefix) in a
13797 popup. For example, after enabling the minor mode if you enter C-x and wait
13798 for the default of 1 second, the minibuffer will expand with all of the
13799 available key bindings that follow C-x (or as many as space allows given your
13800 settings).")
13801 (license license:gpl3+)))
13802
13803 (define-public emacs-hercules
13804 (package
13805 (name "emacs-hercules")
13806 (version "0.3.1")
13807 (source
13808 (origin
13809 (method git-fetch)
13810 (uri (git-reference
13811 (url "https://gitlab.com/jjzmajic/hercules.el")
13812 (commit (string-append "v" version))))
13813 (file-name (git-file-name name version))
13814 (sha256
13815 (base32 "1rp37rhkj8jm07dwr74vc68dhrbvyvrxjdavpb0h073ps9vl9dsc"))))
13816 (build-system emacs-build-system)
13817 (propagated-inputs
13818 `(("emacs-which-key" ,emacs-which-key)))
13819 (home-page "https://gitlab.com/jjzmajic/hercules.el")
13820 (synopsis "Call a chain of related commands without repeated prefix keys")
13821 (description
13822 "This package provides sticky-key-like functionality to obviate the need
13823 for repeated prefix-key sequences, and can reuse existing keymaps. The list
13824 of commands is displayed in a handy popup.")
13825 (license license:gpl3+)))
13826
13827 (define-public emacs-ws-butler
13828 (package
13829 (name "emacs-ws-butler")
13830 (version "0.6")
13831 (source (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url "https://github.com/lewang/ws-butler")
13835 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
13836 (file-name (git-file-name name version))
13837 (sha256
13838 (base32
13839 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
13840 (build-system emacs-build-system)
13841 (native-inputs
13842 `(("ert-runner" ,emacs-ert-runner)))
13843 (arguments
13844 `(#:tests? #t
13845 #:test-command '("ert-runner" "tests")))
13846 (home-page "https://github.com/lewang/ws-butler")
13847 (synopsis "Trim spaces from end of lines")
13848 (description
13849 "This Emacs package automatically and unobtrusively trims whitespace
13850 characters from end of lines.")
13851 (license license:gpl3+)))
13852
13853 (define-public emacs-openwith
13854 ;; There is no release tag. Version is extracted from main file.
13855 (let ((version "20120531")
13856 (revision "0")
13857 (commit "5fe01dee520d24c839ad5ee18822667457d9f352"))
13858 (package
13859 (name "emacs-openwith")
13860 (version (git-version version revision commit))
13861 (source
13862 (origin
13863 (method git-fetch)
13864 (uri (git-reference
13865 (url "https://github.com/garberw/openwith")
13866 (commit commit)))
13867 (file-name (git-file-name name version))
13868 (sha256
13869 (base32 "1scbawhlzmj5nhix779rlqf462g37q84vpq205qhg4qyscvfx6bi"))))
13870 (build-system emacs-build-system)
13871 (home-page "https://github.com/garberw/openwith")
13872 (synopsis "Open external applications for files with Emacs")
13873 (description
13874 "This package enables you to associate file name patterns with external
13875 applications that are automatically invoked when you use commands like
13876 @code{find-file}. For example, you can have it open @code{png} files with
13877 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
13878 when browsing files with Dired.")
13879 (license license:gpl2+))))
13880
13881 (define-public emacs-org-edit-latex
13882 (package
13883 (name "emacs-org-edit-latex")
13884 (version "0.8.3")
13885 (source
13886 (origin
13887 (method git-fetch)
13888 (uri (git-reference
13889 (url "https://github.com/et2010/org-edit-latex")
13890 (commit (string-append "v" version))))
13891 (file-name (git-file-name name version))
13892 (sha256
13893 (base32 "1w0lyz71dq8x28ira4hig1b70bqn1dr53w3k5dgch9szcf6xa86y"))))
13894 (build-system emacs-build-system)
13895 (propagated-inputs
13896 `(("emacs-auctex" ,emacs-auctex)
13897 ("emacs-org" ,emacs-org)))
13898 (home-page "https://github.com/et2010/org-edit-latex")
13899 (synopsis "Edit a LaTeX fragment just like editing a source block")
13900 (description
13901 "Org Edit LaTeX is an extension for Org mode. It lets you edit a LaTeX
13902 fragment in a dedicated buffer just like editing a source block.")
13903 (license license:gpl3+)))
13904
13905 (define-public emacs-emamux
13906 (package
13907 (name "emacs-emamux")
13908 (version "0.14")
13909 (source
13910 (origin
13911 (method git-fetch)
13912 (uri (git-reference
13913 (url "https://github.com/syohex/emacs-emamux")
13914 (commit version)))
13915 (file-name (git-file-name name version))
13916 (sha256
13917 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
13918 (build-system emacs-build-system)
13919 (home-page "https://github.com/syohex/emacs-emamux")
13920 (synopsis "Manipulate Tmux from Emacs")
13921 (description
13922 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
13923 multiplexer.")
13924 (license license:gpl3+)))
13925
13926 (define-public emacs-rpm-spec-mode
13927 (package
13928 (name "emacs-rpm-spec-mode")
13929 (version "0.16")
13930 (source
13931 (origin
13932 (method url-fetch)
13933 ;; URI has the Fedora release number instead of the version
13934 ;; number. This will have to updated manually every new release.
13935 (uri (string-append
13936 "https://src.fedoraproject.org/cgit/rpms"
13937 "/emacs-rpm-spec-mode.git/snapshot"
13938 "/emacs-rpm-spec-mode-f26.tar.gz"))
13939 (sha256
13940 (base32
13941 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
13942 (build-system emacs-build-system)
13943 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
13944 (synopsis "Emacs major mode for editing RPM spec files")
13945 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
13946 editing RPM spec files.")
13947 (license license:gpl2+)))
13948
13949 (define-public emacs-lcr
13950 (package
13951 (name "emacs-lcr")
13952 (version "1.1")
13953 (source
13954 (origin
13955 (method git-fetch)
13956 (uri (git-reference
13957 (url "https://github.com/jyp/lcr")
13958 (commit version)))
13959 (file-name (git-file-name name version))
13960 (sha256
13961 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
13962 (build-system emacs-build-system)
13963 (propagated-inputs
13964 `(("emacs-dash" ,emacs-dash)))
13965 (home-page "https://github.com/jyp/lcr")
13966 (synopsis "Lightweight coroutines in Emacs Lisp")
13967 (description "This package provides macros that can translate code into
13968 equivalent continuation-passing code, as well as miscellaneous utility
13969 functions written in continuation-passing style.")
13970 (license license:gpl3+)))
13971
13972 (define-public emacs-attrap
13973 (package
13974 (name "emacs-attrap")
13975 (version "1.1")
13976 (source
13977 (origin
13978 (method git-fetch)
13979 (uri (git-reference
13980 (url "https://github.com/jyp/attrap")
13981 (commit version)))
13982 (sha256
13983 (base32 "0wqc7bqx9rvk8r7fd3x84h8p01v97s6w2jf29nnjb59xakwp22i7"))
13984 (file-name (git-file-name name version))))
13985 (build-system emacs-build-system)
13986 (propagated-inputs
13987 `(("emacs-dash" ,emacs-dash)
13988 ("emacs-f" ,emacs-f)
13989 ("emacs-flycheck" ,emacs-flycheck)
13990 ("emacs-s" ,emacs-s)))
13991 (home-page "https://github.com/jyp/attrap")
13992 (synopsis "Fix coding error at point")
13993 (description "This package provides a command to fix the Flycheck error
13994 at point.")
13995 (license license:gpl3+)))
13996
13997 (define-public emacs-git-messenger
13998 (package
13999 (name "emacs-git-messenger")
14000 (version "0.18")
14001 (source
14002 (origin
14003 (method git-fetch)
14004 (uri (git-reference
14005 (url "https://github.com/syohex/emacs-git-messenger")
14006 (commit version)))
14007 (file-name (git-file-name name version))
14008 (sha256
14009 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
14010 (build-system emacs-build-system)
14011 (propagated-inputs
14012 `(("emacs-popup" ,emacs-popup)))
14013 (arguments
14014 `(#:tests? #t
14015 #:test-command '("emacs" "--batch" "-l" "test/test.el"
14016 "-f" "ert-run-tests-batch-and-exit")))
14017 (home-page "https://github.com/syohex/emacs-git-messenger")
14018 (synopsis "Popup commit message at current line")
14019 (description "@code{emacs-git-messenger} provides
14020 @code{git-messenger:popup-message}, a function that when called, will popup
14021 the last git commit message for the current line. This uses git-blame
14022 internally.")
14023 (license license:gpl3+)))
14024
14025 (define-public emacs-gitpatch
14026 (package
14027 (name "emacs-gitpatch")
14028 (version "0.5.1")
14029 (source
14030 (origin
14031 (method git-fetch)
14032 (uri (git-reference
14033 (url "https://github.com/tumashu/gitpatch")
14034 (commit (string-append "v" version))))
14035 (file-name (git-file-name name version))
14036 (sha256
14037 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
14038 (build-system emacs-build-system)
14039 (home-page "https://github.com/tumashu/gitpatch")
14040 (synopsis "Mail git patch from Emacs")
14041 (description "@code{emacs-gitpatch} lets users easily send git patches,
14042 created by @code{git format-patch}, from @code{magit}, @code{dired} and
14043 @code{ibuffer} buffers.")
14044 (license license:gpl3+)))
14045
14046 (define-public emacs-erc-hl-nicks
14047 (package
14048 (name "emacs-erc-hl-nicks")
14049 (version "1.3.4")
14050 (source
14051 (origin
14052 (method git-fetch)
14053 (uri (git-reference
14054 (url "https://github.com/leathekd/erc-hl-nicks")
14055 (commit version)))
14056 (file-name (git-file-name name version))
14057 (sha256
14058 (base32 "0k57scxa8rm859fqsm8srhps7rlq06jzazhjbwnadzrh8i5fyvra"))))
14059 (build-system emacs-build-system)
14060 (synopsis "Nickname highlighting for Emacs ERC")
14061 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
14062 client for Emacs. The main features are:
14063 @itemize
14064 @item Auto-colorizes nicknames without having to specify colors
14065 @item Ignores certain characters that IRC clients add to nicknames to avoid
14066 duplicates (nickname, nickname’, nickname\", etc.)
14067 @item Attempts to produce colors with a sufficient amount of contrast between
14068 the nick color and the background color
14069 @end itemize\n")
14070 (home-page "https://github.com/leathekd/erc-hl-nicks")
14071 (license license:gpl3+)))
14072
14073 (define-public emacs-engine-mode
14074 (package
14075 (name "emacs-engine-mode")
14076 (version "2.1.1")
14077 (source
14078 (origin
14079 (method git-fetch)
14080 (uri (git-reference
14081 (url "https://github.com/hrs/engine-mode")
14082 (commit (string-append "v" version))))
14083 (file-name (git-file-name name version))
14084 (sha256
14085 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
14086 (build-system emacs-build-system)
14087 (synopsis "Minor mode for defining and querying search engines")
14088 (description "@code{engine-mode} is a global minor mode for Emacs. It
14089 enables you to easily define search engines, bind them to keybindings, and
14090 query them from the comfort of your editor.")
14091 (home-page "https://github.com/hrs/engine-mode")
14092 (license license:gpl3+)))
14093
14094 (define-public emacs-envrc
14095 (package
14096 (name "emacs-envrc")
14097 (version "0.2")
14098 (source
14099 (origin
14100 (method git-fetch)
14101 (uri (git-reference
14102 (url "https://github.com/purcell/envrc")
14103 (commit version)))
14104 (file-name (git-file-name name version))
14105 (sha256
14106 (base32
14107 "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p"))))
14108 (build-system emacs-build-system)
14109 (home-page "https://github.com/purcell/envrc")
14110 (synopsis "Support for Direnv which operates buffer-locally")
14111 (description
14112 "This is library which uses Direnv to set environment variables on
14113 a per-buffer basis. This means that when you work across multiple projects
14114 which have @file{.envrc} files, all processes launched from the buffers ``in''
14115 those projects will be executed with the environment variables specified in
14116 those files. This allows different versions of linters and other tools to be
14117 used in each project if desired.")
14118 (license license:gpl3+)))
14119
14120 (define-public emacs-prop-menu
14121 (package
14122 (name "emacs-prop-menu")
14123 (version "0.1.2")
14124 (source
14125 (origin
14126 (method git-fetch)
14127 (uri (git-reference
14128 (url "https://github.com/david-christiansen/prop-menu-el")
14129 (commit version)))
14130 (file-name (git-file-name name version))
14131 (sha256
14132 (base32
14133 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
14134 (build-system emacs-build-system)
14135 (home-page
14136 "https://github.com/david-christiansen/prop-menu-el")
14137 (synopsis
14138 "Create and display a context menu based on text and overlay properties")
14139 (description
14140 "This is a library for computing context menus based on text
14141 properties and overlays. The intended use is to have tools that
14142 annotate source code and others that use these annotations, without
14143 requiring a direct coupling between them, but maintaining
14144 discoverability.
14145
14146 Major modes that wish to use this library should first define an
14147 appropriate value for @code{prop-menu-item-functions}. Then, they should
14148 bind @code{prop-menu-by-completing-read} to an appropriate
14149 key. Optionally, a mouse pop-up can be added by binding
14150 @code{prop-menu-show-menu} to a mouse event.")
14151 (license license:gpl3+)))
14152
14153 (define-public emacs-idris-mode
14154 (let ((commit "b77eadd8ac2048d5c882b4464bd9673e45dd6a59")
14155 (revision "0"))
14156 (package
14157 (name "emacs-idris-mode")
14158 (version (git-version "1.0" revision commit))
14159 (source
14160 (origin
14161 (method git-fetch)
14162 (uri (git-reference
14163 (url "https://github.com/idris-hackers/idris-mode")
14164 (commit commit)))
14165 (file-name (git-file-name name commit))
14166 (sha256
14167 (base32
14168 "1v8av6jza1j00ln75zjwaca0vmmv0fhhhi94p84rlfzgzykyb9g1"))))
14169 (build-system emacs-build-system)
14170 (propagated-inputs
14171 `(("emacs-prop-menu" ,emacs-prop-menu)))
14172 (home-page
14173 "https://github.com/idris-hackers/idris-mode")
14174 (synopsis "Major mode for editing Idris code")
14175 (description
14176 "This is an Emacs mode for editing Idris code. It is compatible with
14177 the latest versions of Idris 1.")
14178 (license license:gpl3+))))
14179
14180 (define-public emacs-browse-at-remote
14181 (package
14182 (name "emacs-browse-at-remote")
14183 (version "0.14.0")
14184 (source
14185 (origin
14186 (method git-fetch)
14187 (uri (git-reference
14188 (url "https://github.com/rmuslimov/browse-at-remote")
14189 (commit version)))
14190 (file-name (git-file-name name version))
14191 (sha256
14192 (base32 "0bx4ns0jb0sqrjk1nsspvl3mhz3n12925azf7brlwb1vcgnji09v"))))
14193 (build-system emacs-build-system)
14194 (propagated-inputs
14195 `(("emacs-f" ,emacs-f)
14196 ("emacs-s" ,emacs-s)))
14197 (native-inputs
14198 `(("ert-runner" ,emacs-ert-runner)))
14199 (arguments
14200 `(#:tests? #t
14201 #:test-command '("ert-runner")))
14202 (home-page "https://github.com/rmuslimov/browse-at-remote")
14203 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
14204 (description
14205 "This Emacs package allows you to open a target page on
14206 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
14207 It supports dired buffers and opens them in tree mode at destination.")
14208 (license license:gpl3+)))
14209
14210 (define-public emacs-tiny
14211 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
14212 (revision "1"))
14213 (package
14214 (name "emacs-tiny")
14215 (version (git-version "0.2.1" revision commit))
14216 (source
14217 (origin
14218 (method git-fetch)
14219 (uri (git-reference
14220 (url "https://github.com/abo-abo/tiny")
14221 (commit commit)))
14222 (file-name (git-file-name name version))
14223 (sha256
14224 (base32
14225 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
14226 (build-system emacs-build-system)
14227 (arguments
14228 `(#:tests? #t
14229 #:test-command '("make" "test")))
14230 (home-page "https://github.com/abo-abo/tiny")
14231 (synopsis "Quickly generate linear ranges in Emacs")
14232 (description
14233 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
14234 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
14235 proficiency is an advantage, since you can transform your numeric range with
14236 an elisp expression.")
14237 (license license:gpl3+))))
14238
14239 (define-public emacs-emojify
14240 (package
14241 (name "emacs-emojify")
14242 (version "1.2")
14243 (source
14244 (origin
14245 (method git-fetch)
14246 (uri (git-reference
14247 (url "https://github.com/iqbalansari/emacs-emojify")
14248 (commit (string-append "v" version))))
14249 (file-name (git-file-name name version))
14250 (sha256
14251 (base32
14252 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
14253 (build-system emacs-build-system)
14254 (arguments
14255 `(#:include (cons "^data/" %default-include)))
14256 (propagated-inputs
14257 `(("emacs-ht" ,emacs-ht)))
14258 (home-page "https://github.com/iqbalansari/emacs-emojify")
14259 (synopsis "Display emojis in Emacs")
14260 (description "This package displays emojis in Emacs similar to how Github,
14261 Slack, and other websites do. It can display plain ASCII like @code{:)} as
14262 well as Github-style emojis like @code{:smile:}. It provides a minor mode
14263 @code{emojify-mode} to enable the display of emojis in a buffer.")
14264 (license license:gpl3+)))
14265
14266 (define-public emacs-make-it-so
14267 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
14268 (revision "2"))
14269 (package
14270 (name "emacs-make-it-so")
14271 (version (git-version "0.1.0" revision commit))
14272 (source
14273 (origin
14274 (method git-fetch)
14275 (uri (git-reference
14276 (url "https://github.com/abo-abo/make-it-so")
14277 (commit commit)))
14278 (file-name (git-file-name name version))
14279 (sha256
14280 (base32
14281 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
14282 (build-system emacs-build-system)
14283 (arguments
14284 `(#:include (cons "^recipes/" %default-include)))
14285 (propagated-inputs
14286 `(("emacs-ivy" ,emacs-ivy)))
14287 (home-page "https://github.com/abo-abo/make-it-so")
14288 (synopsis "Transform files with Makefile recipes")
14289 (description "This package provides an interface for selecting from
14290 different conversion recipes, often including tools like @code{ffmpeg} or
14291 @code{convert}. The conversion command need only be written once, and
14292 subsequent invocations can be readily customized. Several recipes are
14293 included by default, and more can be readily added.")
14294 (license license:gpl3+))))
14295
14296 (define-public emacs-unidecode
14297 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
14298 (revision "1"))
14299 (package
14300 (name "emacs-unidecode")
14301 (version (git-version "0.2" revision commit))
14302 (source
14303 (origin
14304 (method git-fetch)
14305 (uri (git-reference
14306 (url "https://github.com/sindikat/unidecode")
14307 (commit commit)))
14308 (file-name (git-file-name name version))
14309 (sha256
14310 (base32
14311 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
14312 (build-system emacs-build-system)
14313 (arguments
14314 `(#:include (cons* "^tools/" "^data/" %default-include)
14315 #:tests? #t
14316 #:test-command '("emacs" "--batch"
14317 "-l" "unidecode-test.el"
14318 "-f" "ert-run-tests-batch-and-exit")
14319 #:phases
14320 (modify-phases %standard-phases
14321 (add-before 'check 'make-tests-writable
14322 (lambda _
14323 (make-file-writable "unidecode-test.el")
14324 #t))
14325 (add-before 'check 'add-require
14326 (lambda _
14327 (emacs-batch-edit-file "unidecode-test.el"
14328 `(progn (progn (goto-char (point-min))
14329 (re-search-forward
14330 "ert-deftest")
14331 (forward-line -1)
14332 (insert "(require 'unidecode)"))
14333 (basic-save-buffer)))
14334 #t)))))
14335 (home-page "https://github.com/sindikat/unidecode")
14336 (synopsis "Transliterate Unicode text to ASCII")
14337 (description "This package provides functions for converting Unicode to ASCII.")
14338 (license license:gpl2+))))
14339
14340 (define-public emacs-pubmed
14341 (package
14342 (name "emacs-pubmed")
14343 (version "0.2.1")
14344 (source
14345 (origin
14346 (method git-fetch)
14347 (uri (git-reference
14348 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
14349 (commit (string-append "v" version))))
14350 (file-name (git-file-name name version))
14351 (sha256
14352 (base32
14353 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
14354 (build-system emacs-build-system)
14355 (propagated-inputs
14356 `(("emacs-deferred" ,emacs-deferred)
14357 ("emacs-esxml" ,emacs-esxml)
14358 ("emacs-s" ,emacs-s)
14359 ("emacs-unidecode" ,emacs-unidecode)))
14360 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
14361 (synopsis "Interface to PubMed")
14362 (description "This package provides an Emacs interface to the PubMed
14363 database of references on life sciences.")
14364 (license license:gpl3+)))
14365
14366 (define-public emacs-websocket
14367 (package
14368 (name "emacs-websocket")
14369 (version "1.13.1")
14370 (source
14371 (origin
14372 (method url-fetch)
14373 (uri (string-append "https://elpa.gnu.org/packages/"
14374 "websocket-" version ".tar"))
14375 (sha256
14376 (base32 "1x664zswas0fpml7zaj59zy97avrm49zb80zd69rlkqzz1m45psc"))))
14377 (build-system emacs-build-system)
14378 (home-page "https://elpa.gnu.org/packages/websocket.html")
14379 (synopsis "Emacs WebSocket client and server")
14380 (description
14381 "This is an Elisp library for WebSocket clients to talk to WebSocket
14382 servers, and for WebSocket servers to accept connections from WebSocket
14383 clients. This library is designed to be used by other library writers, to
14384 write applications that use WebSockets, and is not useful by itself.")
14385 (license license:gpl3+)))
14386
14387 (define-public emacs-oauth2
14388 (package
14389 (name "emacs-oauth2")
14390 (version "0.16")
14391 (source
14392 (origin
14393 (method url-fetch)
14394 (uri (string-append "https://elpa.gnu.org/packages/"
14395 "oauth2-" version ".tar"))
14396 (sha256
14397 (base32 "1rzly2nwjywrfgcmp8zidbmjl2ahyd8l8507lb1mxm4xqryvf316"))))
14398 (build-system emacs-build-system)
14399 (home-page "https://elpa.gnu.org/packages/oauth2.html")
14400 (synopsis "OAuth 2.0 authorization protocol implementation")
14401 (description
14402 "This package provides an Elisp implementation of the OAuth 2.0 draft.
14403 The main entry point is @code{oauth2-auth-and-store} which will return a token
14404 structure. This token structure can be then used with
14405 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
14406 retrieve any data that need OAuth authentication to be accessed. If the token
14407 needs to be refreshed, the code handles it automatically and stores the new
14408 value of the access token.")
14409 (license license:gpl3+)))
14410
14411 (define-public emacs-auth-source-xoauth2
14412 (package
14413 (name "emacs-auth-source-xoauth2")
14414 (version "1.0")
14415 (source
14416 (origin
14417 (method git-fetch)
14418 (uri (git-reference
14419 (url "https://github.com/ccrusius/auth-source-xoauth2")
14420 (commit (string-append "v" version))))
14421 (file-name (git-file-name name version))
14422 (sha256
14423 (base32 "0nl859csl8xcd6ybpjj15ph8l8fxwkwf45kbylss68alkyf1rl3v"))))
14424 (build-system emacs-build-system)
14425 (home-page "https://github.com/ccrusius/auth-source-xoauth2")
14426 (synopsis "XOAuth2 authentication capabilities for Emacs auth-source")
14427 (description
14428 "This package adds XOAuth2 authentication capabilities to Emacs
14429 auth-source. This integration requires some preliminary work on the users’
14430 part, which includes creating tokens.")
14431 (license license:asl2.0)))
14432
14433 (define-public emacs-circe
14434 (package
14435 (name "emacs-circe")
14436 (version "2.11")
14437 (source
14438 (origin
14439 (method git-fetch)
14440 (uri (git-reference
14441 (url "https://github.com/jorgenschaefer/circe")
14442 (commit (string-append "v" version))))
14443 (file-name (git-file-name name version))
14444 (sha256
14445 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
14446 (build-system emacs-build-system)
14447 (arguments
14448 `(#:tests? #t
14449 #:test-command '("buttercup" "-L" ".")
14450 #:phases
14451 (modify-phases %standard-phases
14452 ;; The HOME environment variable should be set to an existing
14453 ;; directory for the tests to succeed.
14454 (add-before 'check 'set-home
14455 (lambda _
14456 (setenv "HOME" "/tmp")
14457 #t)))))
14458 (native-inputs
14459 `(("emacs-buttercup" ,emacs-buttercup)))
14460 ;; In order to securely connect to an IRC server using TLS, Circe requires
14461 ;; the GnuTLS binary.
14462 (propagated-inputs
14463 `(("gnutls" ,gnutls)))
14464 (home-page "https://github.com/jorgenschaefer/circe")
14465 (synopsis "Client for IRC in Emacs")
14466 (description "Circe is a Client for IRC in Emacs. It integrates well with
14467 the rest of the editor, using standard Emacs key bindings and indicating
14468 activity in channels in the status bar so it stays out of your way unless you
14469 want to use it.")
14470 (license license:gpl3+)))
14471
14472 (define-public emacs-tracking
14473 (package
14474 (inherit emacs-circe)
14475 (name "emacs-tracking")
14476 (arguments
14477 ;; "tracking.el" is a library extracted from Circe package. It requires
14478 ;; "shorten.el".
14479 `(#:include '("^shorten.el$" "^tracking.el$")
14480 ,@(package-arguments emacs-circe)))
14481 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
14482 (synopsis "Buffer tracking library")
14483 (description "@code{tracking.el} provides a way for different modes to
14484 notify the user that a buffer needs attention. The user then can cycle
14485 through them using @key{C-c C-SPC}.")
14486 (license license:gpl3+)))
14487
14488 (define-public emacs-slack
14489 (let ((commit "1f6a40faec0d8d9c9de51c444508d05a3e995ccd")
14490 (revision "9"))
14491 (package
14492 (name "emacs-slack")
14493 (version (git-version "0.0.2" revision commit))
14494 (source (origin
14495 (method git-fetch)
14496 (uri (git-reference
14497 (url "https://github.com/yuya373/emacs-slack")
14498 (commit commit)))
14499 (file-name (git-file-name name commit))
14500 (sha256
14501 (base32
14502 "19lan9nd8qfw2ws7mx814vrin04c892yn5c8g3nad7lpnzszgr1r"))))
14503 (build-system emacs-build-system)
14504 (arguments
14505 `(#:phases
14506 (modify-phases %standard-phases
14507 ;; HOME needs to exist for source compilation.
14508 (add-before 'build 'set-HOME
14509 (lambda _ (setenv "HOME" "/tmp") #t)))))
14510 (propagated-inputs
14511 `(("emacs-alert" ,emacs-alert)
14512 ("emacs-emojify" ,emacs-emojify)
14513 ("emacs-helm" ,emacs-helm)
14514 ("emacs-request" ,emacs-request)
14515 ("emacs-websocket" ,emacs-websocket)
14516 ("emacs-oauth2" ,emacs-oauth2)
14517 ("emacs-circe" ,emacs-circe)))
14518 (home-page "https://github.com/yuya373/emacs-slack")
14519 (synopsis "Slack client for Emacs")
14520 (description "This package provides an Emacs client for the Slack
14521 messaging service.")
14522 (license license:gpl3+))))
14523
14524 (define-public emacs-helm-slack
14525 (let ((commit "465f6220f3f5bee4d95492991fca1290c89534eb")
14526 (revision "1"))
14527 (package
14528 (name "emacs-helm-slack")
14529 (version (git-version "0" revision commit))
14530 (source (origin
14531 (method git-fetch)
14532 (uri (git-reference
14533 (url "https://github.com/yuya373/helm-slack")
14534 (commit commit)))
14535 (file-name (git-file-name name commit))
14536 (sha256
14537 (base32
14538 "0p1s1kl8v68qjprqkf034cz911qzbqxbscqgpn0c3mbm3yfx81f7"))))
14539 (build-system emacs-build-system)
14540 (arguments
14541 `(#:phases
14542 (modify-phases %standard-phases
14543 ;; HOME needs to exist for source compilation.
14544 (add-before 'build 'set-HOME
14545 (lambda _ (setenv "HOME" "/tmp") #t)))))
14546 (propagated-inputs `(("emacs-slack" ,emacs-slack)))
14547 (home-page "https://github.com/yuya373/helm-slack")
14548 (synopsis "Helm extension for emacs-slack")
14549 (description "This package provides an helm extension for emacs-slack
14550 Slack client.")
14551 (license license:gpl3+))))
14552
14553
14554 (define-public emacs-bash-completion
14555 (package
14556 (name "emacs-bash-completion")
14557 (version "3.1.0")
14558 (source
14559 (origin
14560 (method git-fetch)
14561 (uri (git-reference
14562 (url "https://github.com/szermatt/emacs-bash-completion")
14563 (commit (string-append "v" version))))
14564 (file-name (git-file-name name version))
14565 (sha256
14566 (base32 "11j2k3irixp47r2iglxdmjphahqhgnxg98n2xwagwzyq99lsamj4"))))
14567 (inputs `(("bash" ,bash)))
14568 (build-system emacs-build-system)
14569 (arguments
14570 `(#:phases
14571 (modify-phases %standard-phases
14572 (add-after 'unpack 'make-git-checkout-writable
14573 (λ _
14574 (for-each make-file-writable (find-files "."))
14575 #t))
14576 (add-before 'install 'configure
14577 (lambda* (#:key inputs #:allow-other-keys)
14578 (let ((bash (assoc-ref inputs "bash")))
14579 (emacs-substitute-variables "bash-completion.el"
14580 ("bash-completion-prog" (string-append bash "/bin/bash"))))
14581 #t)))))
14582 (home-page "https://github.com/szermatt/emacs-bash-completion")
14583 (synopsis "Bash completion for the shell buffer")
14584 (description
14585 "@code{bash-completion} defines dynamic completion hooks for shell-mode
14586 and shell-command prompts that are based on Bash completion.")
14587 (license license:gpl2+)))
14588
14589 (define-public emacs-easy-kill
14590 (package
14591 (name "emacs-easy-kill")
14592 (version "0.9.4")
14593 (source (origin
14594 (method url-fetch)
14595 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
14596 version ".tar"))
14597 (sha256
14598 (base32
14599 "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x"))))
14600 (build-system emacs-build-system)
14601 (home-page "https://github.com/leoliu/easy-kill")
14602 (synopsis "Kill and mark things easily in Emacs")
14603 (description
14604 "This package provides commands @code{easy-kill} and @code{easy-mark} to
14605 let users kill or mark things easily.")
14606 (license license:gpl3+)))
14607
14608 (define-public emacs-csv-mode
14609 (package
14610 (name "emacs-csv-mode")
14611 (version "1.15")
14612 (source
14613 (origin
14614 (method url-fetch)
14615 (uri (string-append "https://elpa.gnu.org/packages/"
14616 "csv-mode-" version ".tar"))
14617 (sha256
14618 (base32 "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx"))))
14619 (build-system emacs-build-system)
14620 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
14621 (synopsis "Major mode for editing comma/char separated values")
14622 (description
14623 "This Emacs package implements CSV mode, a major mode for editing records
14624 in a generalized CSV (character-separated values) format.")
14625 (license license:gpl3+)))
14626
14627 (define-public emacs-transmission
14628 (package
14629 (name "emacs-transmission")
14630 (version "0.12.2")
14631 (source
14632 (origin
14633 (method git-fetch)
14634 (uri (git-reference
14635 (url "https://github.com/holomorph/transmission")
14636 (commit version)))
14637 (file-name (git-file-name name version))
14638 (sha256
14639 (base32 "16bn8y2sd7kzihp8bxh4vyay16y91q3yc0gcd0bzywcx3hijqlfc"))))
14640 (build-system emacs-build-system)
14641 (home-page "https://github.com/holomorph/transmission")
14642 (synopsis "Emacs interface to a Transmission session")
14643 (description "This package provides an Emacs interface to interact with a
14644 running session of the Transmission Bittorrent client.
14645
14646 Features:
14647
14648 @itemize
14649 @item List, add, start/stop, verify, remove torrents.
14650 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
14651 @item Navigate to the corresponding file list, torrent info, peer info
14652 contexts.
14653 @item Toggle downloading and set priorities for individual files.
14654 @end itemize\n")
14655 (license license:gpl3+)))
14656
14657 (define-public emacs-polymode
14658 (package
14659 (name "emacs-polymode")
14660 (version "0.2.2")
14661 (source
14662 (origin
14663 (method git-fetch)
14664 (uri (git-reference
14665 (url "https://github.com/polymode/polymode")
14666 (commit (string-append "v" version))))
14667 (file-name (git-file-name name version))
14668 (sha256
14669 (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))))
14670 (build-system emacs-build-system)
14671 (home-page "https://github.com/polymode/polymode")
14672 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
14673 (description
14674 "Polymode is an Emacs package that offers generic support for multiple
14675 major modes inside a single Emacs buffer. It is lightweight, object oriented
14676 and highly extensible. Creating a new polymode typically takes only a few
14677 lines of code. Polymode also provides extensible facilities for external
14678 literate programming tools for exporting, weaving and tangling.")
14679 (license license:gpl3+)))
14680
14681 (define-public emacs-polymode-ansible
14682 (package
14683 (name "emacs-polymode-ansible")
14684 (version "0.3.0")
14685 (source
14686 (origin
14687 (method git-fetch)
14688 (uri (git-reference
14689 (url "https://gitlab.com/mavit/poly-ansible")
14690 (commit version)))
14691 (file-name (git-file-name name version))
14692 (sha256
14693 (base32 "0f0yq6gmkp194nxk90ipprglf1xkmxrgz1rkgrhfslvxq4q2l81h"))))
14694 (build-system emacs-build-system)
14695 (propagated-inputs
14696 `(("emacs-ansible-doc" ,emacs-ansible-doc)
14697 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
14698 ("emacs-polymode" ,emacs-polymode)
14699 ("emacs-yaml-mode" ,emacs-yaml-mode)))
14700 (properties '((upstream-name . "poly-ansible")))
14701 (home-page "https://gitlab.com/mavit/poly-ansible/")
14702 (synopsis "Polymode for Ansible - Jinja2 in YAML")
14703 (description
14704 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
14705 (license license:gpl3+)))
14706
14707 (define-public emacs-polymode-markdown
14708 (package
14709 (name "emacs-polymode-markdown")
14710 (version "0.2.2")
14711 (home-page "https://github.com/polymode/poly-markdown")
14712 (source
14713 (origin
14714 (method git-fetch)
14715 (uri (git-reference
14716 (url home-page)
14717 (commit (string-append "v" version))))
14718 (file-name (git-file-name name version))
14719 (sha256
14720 (base32 "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6"))))
14721 (build-system emacs-build-system)
14722 (propagated-inputs
14723 `(("emacs-markdown-mode" ,emacs-markdown-mode)
14724 ("emacs-polymode" ,emacs-polymode)))
14725 (properties '((upstream-name . "poly-markdown")))
14726 (synopsis "Polymode for Markdown mode")
14727 (description
14728 "This package allows editing source code blocks embedded in Markdown
14729 files using the major mode corresponding to each block.")
14730 (license license:gpl3+)))
14731
14732 (define-public emacs-powershell
14733 ;; Tagged branch 0.1 is outdated (2015).
14734 (let ((revision "0")
14735 (commit "d1b3f95669343399f199f291ef76c09a0ede5e60"))
14736 (package
14737 (name "emacs-powershell")
14738 (build-system emacs-build-system)
14739 (version (git-version "0.3" revision commit))
14740 (source
14741 (origin
14742 (method git-fetch)
14743 (uri (git-reference
14744 (url "https://github.com/jschaf/powershell.el")
14745 (commit commit)))
14746 (file-name (git-file-name name version))
14747 (sha256
14748 (base32 "1cxhzaaig88zhylyycvb3849r85j1ijqklnh9zbqsfl2zhpb0g5c"))))
14749 (home-page "https://github.com/jschaf/powershell.el")
14750 (synopsis "Emacs mode for editing PowerShell scripts")
14751 (description
14752 "Powershell is an Emacs major mode for editing and running
14753 Microsoft PowerShell files.")
14754 (license license:gpl3+))))
14755
14756 (define-public emacs-polymode-org
14757 (package
14758 (name "emacs-polymode-org")
14759 (version "0.2.2")
14760 (source
14761 (origin
14762 (method git-fetch)
14763 (uri (git-reference
14764 (url "https://github.com/polymode/poly-org")
14765 (commit (string-append "v" version))))
14766 (file-name (git-file-name name version))
14767 (sha256
14768 (base32 "1srnwcsn2bh8gqzxixkhffk7gbnk66kd4dgvxbnps5nxqc6v0qhc"))))
14769 (build-system emacs-build-system)
14770 (propagated-inputs
14771 `(("emacs-polymode" ,emacs-polymode)))
14772 (properties '((upstream-name . "poly-org")))
14773 (home-page "https://github.com/polymode/poly-org")
14774 (synopsis "Polymode definitions for Org mode buffers")
14775 (description
14776 "This package provides definitions for Polymode to support Org buffers.
14777 It edits source blocks in an Org buffer using the native modes of the blocks'
14778 languages while remaining inside the primary Org buffer.")
14779 (license license:gpl3+)))
14780
14781 (define-public eless
14782 (package
14783 (name "eless")
14784 (version "0.6")
14785 (source
14786 (origin
14787 (method git-fetch)
14788 (uri (git-reference
14789 (url "https://github.com/kaushalmodi/eless")
14790 (commit (string-append "v" version))))
14791 (file-name (git-file-name name version))
14792 (sha256
14793 (base32 "1xif339wsc79hsab3l1nnwvy20jg7s1r4akfj4qqi6qxizfhmb52"))))
14794 (build-system copy-build-system)
14795 (inputs
14796 `(("bash" ,bash)
14797 ("emacs" ,emacs)))
14798 (arguments
14799 `(#:install-plan
14800 '(("eless" "bin/")
14801 ("docs/eless.info" "share/info/")
14802 ("eless.org" ,(string-append "share/doc/eless-" version "/")))))
14803 (home-page "https://github.com/kaushalmodi/eless")
14804 (synopsis "Use Emacs as a paginator")
14805 (description "@code{eless} provides a combination of Bash script
14806 and a minimal Emacs view-mode.
14807
14808 Features:
14809
14810 @itemize
14811 @item Independent of a user’s Emacs config.
14812 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
14813 @item Not require an Emacs server to be already running.
14814 @item Syntax highlighting.
14815 @item Org-mode file rendering.
14816 @item @code{man} page viewer.
14817 @item Info viewer.
14818 @item Dired, wdired, (batch edit symbolic links).
14819 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
14820 @item Filter log files lines matching a regexp.
14821 @item Auto-revert log files similar to @code{tail -f}.
14822 @item Quickly change frame and font sizes.
14823 @end itemize\n")
14824 (license license:expat)))
14825
14826 (define-public emacs-evil-matchit
14827 (package
14828 (name "emacs-evil-matchit")
14829 (version "2.3.10")
14830 (source
14831 (origin
14832 (method git-fetch)
14833 (uri (git-reference
14834 (url "https://github.com/redguardtoo/evil-matchit")
14835 (commit version)))
14836 (file-name (git-file-name name version))
14837 (sha256
14838 (base32 "14nrc46290q54y7wv25251f2kqc0z8i9byl09xkgjijqldl9vdxa"))))
14839 (build-system emacs-build-system)
14840 (propagated-inputs
14841 `(("emacs-evil" ,emacs-evil)))
14842 (home-page "https://github.com/redguardtoo/evil-matchit")
14843 (synopsis "Vim matchit ported into Emacs")
14844 (description
14845 "@code{evil-matchit} is a minor mode for jumping between matching tags in
14846 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
14847 (license license:gpl3+)))
14848
14849 (define-public emacs-evil-smartparens
14850 (package
14851 (name "emacs-evil-smartparens")
14852 (version "0.4.0")
14853 (source
14854 (origin
14855 (method git-fetch)
14856 (uri (git-reference
14857 (url "https://github.com/expez/evil-smartparens")
14858 (commit version)))
14859 (file-name (git-file-name name version))
14860 (sha256
14861 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
14862 (build-system emacs-build-system)
14863 (propagated-inputs
14864 `(("emacs-evil" ,emacs-evil)
14865 ("emacs-smartparens" ,emacs-smartparens)))
14866 (home-page "https://github.com/expez/evil-smartparens")
14867 (synopsis "Emacs Evil integration for Smartparens")
14868 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
14869 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
14870 emulates Vim features and provides Vim-like key bindings.")
14871 (license license:gpl3+)))
14872
14873 (define-public emacs-evil-quickscope
14874 (package
14875 (name "emacs-evil-quickscope")
14876 (version "0.1.4")
14877 (source
14878 (origin
14879 (method git-fetch)
14880 (uri (git-reference
14881 (url "https://github.com/blorbx/evil-quickscope")
14882 (commit (string-append "v" version))))
14883 (file-name (git-file-name name version))
14884 (sha256
14885 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
14886 (build-system emacs-build-system)
14887 (propagated-inputs
14888 `(("emacs-evil" ,emacs-evil)))
14889 (arguments
14890 `(#:tests? #t
14891 #:test-command '("emacs" "--batch"
14892 "-l" "evil-quickscope-tests.el"
14893 "-f" "ert-run-tests-batch-and-exit")))
14894 (home-page "https://github.com/blorbx/evil-quickscope")
14895 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
14896 (description "@code{emacs-evil-quickscope} highlights targets for Evil
14897 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
14898 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
14899 features and provides Vim-like key bindings.")
14900 (license license:gpl3+)))
14901
14902 (define-public emacs-bongo
14903 (package
14904 (name "emacs-bongo")
14905 (version "1.1")
14906 (source
14907 (origin
14908 (method git-fetch)
14909 (uri (git-reference
14910 (url "https://github.com/dbrock/bongo")
14911 (commit version)))
14912 (file-name (git-file-name name version))
14913 (sha256
14914 (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"))))
14915 (build-system emacs-build-system)
14916 (home-page "https://github.com/dbrock/bongo")
14917 (synopsis "Media player for Emacs")
14918 (description
14919 "This package provides a flexible media player for Emacs. @code{Bongo}
14920 supports multiple backends such as @code{vlc}, @code{mpg123},
14921 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
14922 @code{afplay}.")
14923 (license license:gpl2+)))
14924
14925 (define-public emacs-groovy-modes
14926 (package
14927 (name "emacs-groovy-modes")
14928 (version "2.0")
14929 (source (origin
14930 (method git-fetch)
14931 (uri (git-reference
14932 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
14933 (commit version)))
14934 (file-name (git-file-name name version))
14935 (sha256
14936 (base32
14937 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
14938 (build-system emacs-build-system)
14939 (propagated-inputs
14940 `(("emacs-s" ,emacs-s)))
14941 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
14942 (synopsis "Groovy related modes for Emacs")
14943 (description
14944 "This package provides @code{groovy-mode} for syntax highlighting in
14945 Groovy source files, REPL integration with run-groovy and Grails project
14946 navigation with the grails mode.")
14947 (license license:gpl3+)))
14948
14949 (define-public emacs-jenkinsfile-mode
14950 (let ((commit "00d259ff9b870d234540e00e1d7c83cccdb063b8")
14951 (revision "1"))
14952 (package
14953 (name "emacs-jenkinsfile-mode")
14954 (version (git-version "0.0.1" revision commit))
14955 (source (origin
14956 (method git-fetch)
14957 (uri (git-reference
14958 (url "https://github.com/john2x/jenkinsfile-mode")
14959 (commit commit)))
14960 (file-name (git-file-name name version))
14961 (sha256
14962 (base32
14963 "0srf6xdjnrd4v4ks9pal7i48wmkcl4q5ry7d0yzfx1c9pz2qg9zx"))))
14964 (propagated-inputs
14965 `(("emacs-groovy-modes" ,emacs-groovy-modes)))
14966 (build-system emacs-build-system)
14967 (home-page "https://github.com/john2x/jenkinsfile-mode/")
14968 (synopsis "Emacs major-mode for editing Jenkinsfile")
14969 (description "This package provides a @code{jenkinsfile-mode} derived
14970 from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
14971 (license license:gpl3+))))
14972
14973 (define-public emacs-kotlin-mode
14974 (let ((commit "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
14975 (revision "1"))
14976 (package
14977 (name "emacs-kotlin-mode")
14978 (version (git-version "0.0.1" revision commit))
14979 (source
14980 (origin
14981 (method git-fetch)
14982 (uri (git-reference
14983 (url "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
14984 (commit commit)))
14985 (file-name (git-file-name name version))
14986 (sha256
14987 (base32 "09inpgwmnnqaakyn4r4xs8kax8b89dw94kvl521x6d43h9zl5i70"))))
14988 (build-system emacs-build-system)
14989 (arguments
14990 `(#:tests? #t
14991 #:test-command '("ert-runner" "-L" "." "-L" "test")))
14992 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
14993 (home-page "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
14994 (synopsis "Major major-mode for editing Kotlin files")
14995 (description
14996 "This package provides a @code{kotlin-mode} for editing Kotlin files.")
14997 (license license:gpl3+))))
14998
14999 (define-public emacs-org-tree-slide
15000 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
15001 (revision "2"))
15002 (package
15003 (name "emacs-org-tree-slide")
15004 (version (git-version "2.8.4" revision commit))
15005 (source (origin
15006 (method git-fetch)
15007 (uri (git-reference
15008 (url "https://github.com/takaxp/org-tree-slide")
15009 (commit commit)))
15010 (sha256
15011 (base32
15012 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
15013 (file-name (git-file-name name version))))
15014 (build-system emacs-build-system)
15015 (home-page "https://github.com/takaxp/org-tree-slide")
15016 (synopsis "Presentation tool for org-mode")
15017 (description
15018 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
15019 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
15020 @kbd{C-<} to jump to the next and previous slide.")
15021 (license license:gpl3+))))
15022
15023 (define-public emacs-scratch-el
15024 (package
15025 (name "emacs-scratch-el")
15026 (version "1.3")
15027 (source
15028 (origin
15029 (method git-fetch)
15030 (uri (git-reference
15031 (url "https://github.com/ieure/scratch-el")
15032 (commit (string-append "v" version))))
15033 (file-name (git-file-name name version))
15034 (sha256
15035 (base32 "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"))))
15036 (build-system emacs-build-system)
15037 (native-inputs
15038 `(("texinfo" ,texinfo)))
15039 (arguments
15040 '(#:phases
15041 (modify-phases %standard-phases
15042 (add-after 'install 'install-doc
15043 (lambda* (#:key outputs #:allow-other-keys)
15044 (unless (invoke "makeinfo" "scratch.texi")
15045 (error "makeinfo failed"))
15046 (install-file "scratch.info"
15047 (string-append (assoc-ref outputs "out")
15048 "/share/info"))
15049 #t)))))
15050 (home-page "https://github.com/ieure/scratch-el/")
15051 (synopsis "Create scratch buffers with the same mode as current buffer")
15052 (description "Scratch is an extension to Emacs that enables one to create
15053 scratch buffers that are in the same mode as the current buffer. This is
15054 notably useful when working on code in some language; you may grab code into a
15055 scratch buffer, and, by virtue of this extension, do so using the Emacs
15056 formatting rules for that language.")
15057 (license license:bsd-2)))
15058
15059 (define-public emacs-kv
15060 (package
15061 (name "emacs-kv")
15062 (version "0.0.19")
15063 (source
15064 (origin
15065 (method git-fetch)
15066 (uri (git-reference
15067 (url "https://github.com/nicferrier/emacs-kv")
15068 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
15069 (file-name (git-file-name name version))
15070 (sha256
15071 (base32
15072 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
15073 (build-system emacs-build-system)
15074 (arguments
15075 `(#:tests? #t
15076 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
15077 "-f" "ert-run-tests-batch-and-exit")))
15078 (home-page "https://github.com/nicferrier/emacs-kv")
15079 (synopsis "Key/Value data structures library for Emacs Lisp")
15080 (description "@code{emacs-kv} is a collection of tools for dealing with
15081 key/value data structures such as plists, alists and hash-tables in Emacs
15082 Lisp.")
15083 (license license:gpl3+)))
15084
15085 (define-public emacs-esxml
15086 (package
15087 (name "emacs-esxml")
15088 (version "0.3.5")
15089 (source (origin
15090 (method git-fetch)
15091 (uri (git-reference
15092 (url "https://github.com/tali713/esxml")
15093 (commit version)))
15094 (file-name (git-file-name name version))
15095 (sha256
15096 (base32
15097 "16jn404vfmsvm12wrf8iczqlgdf2iycbxrvalvzxnm2gr5dfzp7z"))))
15098 (build-system emacs-build-system)
15099 (arguments
15100 `(#:phases
15101 (modify-phases %standard-phases
15102 (add-after 'unpack 'fix-sources
15103 (lambda _
15104 ;; See: https://github.com/tali713/esxml/pull/28.
15105 (substitute* "css-lite.el"
15106 ((";;; main interface")
15107 (string-append ";;; main interface\n"
15108 "(require 'cl-lib)"))
15109 (("mapcan")
15110 "cl-mapcan")
15111 (("',\\(cl-mapcan #'process-css-rule rules\\)")
15112 "(cl-mapcan #'process-css-rule ',rules)"))
15113 (substitute* "esxml-form.el"
15114 ((",esxml-form-field-defn")
15115 "#'esxml-form-field-defn"))
15116 ;; See: https://github.com/tali713/esxml/issues/25
15117 (delete-file "esxpath.el")
15118 #t)))))
15119 (propagated-inputs
15120 `(("emacs-kv" ,emacs-kv)))
15121 (home-page "https://github.com/tali713/esxml/")
15122 (synopsis "SXML for EmacsLisp")
15123 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
15124 Simply, this is the easiest way to write HTML or XML in Lisp. This library
15125 uses the native form of XML representation as used by many libraries already
15126 included within Emacs. See @code{esxml-to-xml} for a concise description of
15127 the format.")
15128 (license license:gpl3+)))
15129
15130 (define-public emacs-nov-el
15131 (package
15132 (name "emacs-nov-el")
15133 (version "0.3.3")
15134 (source
15135 (origin
15136 (method git-fetch)
15137 (uri (git-reference
15138 (url "https://depp.brause.cc/nov.el.git")
15139 (commit version)))
15140 (file-name (git-file-name name version))
15141 (sha256
15142 (base32
15143 "116klnjyggwfwvs9nqhpv97m00k63q6lg41ph41kywsqkfy42dlk"))))
15144 (build-system emacs-build-system)
15145 (arguments
15146 `(#:phases
15147 (modify-phases %standard-phases
15148 (add-after 'unpack 'embed-path-to-unzip
15149 (lambda _
15150 (substitute* "nov.el"
15151 (("\\(executable-find \"unzip\"\\)")
15152 (string-append "\"" (which "unzip") "\"")))
15153 #t)))))
15154 (propagated-inputs
15155 `(("emacs-dash" ,emacs-dash)
15156 ("emacs-esxml" ,emacs-esxml)))
15157 (inputs
15158 `(("unzip" ,unzip)))
15159 (home-page "https://depp.brause.cc/nov.el/")
15160 (synopsis "Major mode for reading EPUBs in Emacs")
15161 (description "@code{nov.el} provides a major mode for reading EPUB
15162 documents.
15163
15164 Features:
15165
15166 @itemize
15167 @item Basic navigation (jump to TOC, previous/next chapter)
15168 @item Remembering and restoring the last read position
15169 @item Jump to next chapter when scrolling beyond end
15170 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
15171 @item Hyperlinks to internal and external targets
15172 @item Supports textual and image documents
15173 @item View source of document files
15174 @item Metadata display
15175 @item Image rescaling
15176 @end itemize
15177 ")
15178 (license license:gpl3+)))
15179
15180 (define-public epipe
15181 (package
15182 (name "epipe")
15183 (version "0.1.0")
15184 (source
15185 (origin
15186 (method git-fetch)
15187 (uri (git-reference
15188 (url "https://github.com/cute-jumper/epipe")
15189 (commit version)))
15190 (file-name (git-file-name name version))
15191 (sha256
15192 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
15193 (build-system trivial-build-system)
15194 (inputs
15195 `(("bash" ,bash)
15196 ("perl" ,perl)))
15197 (arguments
15198 `(#:modules
15199 ((guix build utils))
15200 #:builder
15201 (begin
15202 (use-modules (guix build utils))
15203 ;; Extract source.
15204 (copy-recursively (assoc-ref %build-inputs "source") "source")
15205 (chdir "source")
15206 ;; Patch shebangs.
15207 (substitute* "epipe"
15208 (("/usr/bin/env bash")
15209 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
15210 (patch-shebang "epipe.pl"
15211 (list (string-append (assoc-ref %build-inputs "perl")
15212 "/bin")))
15213 ;; Install.
15214 (for-each (lambda (file)
15215 (install-file file (string-append %output "/bin")))
15216 '("epipe" "epipe.pl"))
15217 #t)))
15218 (home-page "https://github.com/cute-jumper/epipe")
15219 (synopsis "Pipe to the @code{emacsclient}")
15220 (description "@code{epipe} provides an utility to use your editor in
15221 the pipeline, featuring the support for running @code{emacsclient}.")
15222 (license license:gpl3+)))
15223
15224 (define-public emacs-hcl-mode
15225 (package
15226 (name "emacs-hcl-mode")
15227 (version "0.03")
15228 (source
15229 (origin
15230 (method git-fetch)
15231 (uri (git-reference
15232 (url "https://github.com/syohex/emacs-hcl-mode")
15233 (commit version)))
15234 (file-name (git-file-name name version))
15235 (sha256
15236 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
15237 (build-system emacs-build-system)
15238 (home-page "https://github.com/syohex/emacs-hcl-mode")
15239 (synopsis "Major mode for the Hashicorp Configuration Language")
15240 (description
15241 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
15242 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
15243 highlighting and indentation support.")
15244 (license license:gpl3+)))
15245
15246 (define-public emacs-terraform-mode
15247 (package
15248 (name "emacs-terraform-mode")
15249 (version "0.06")
15250 (source
15251 (origin
15252 (method git-fetch)
15253 (uri (git-reference
15254 (url "https://github.com/syohex/emacs-terraform-mode")
15255 (commit version)))
15256 (file-name (git-file-name name version))
15257 (sha256
15258 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
15259 (build-system emacs-build-system)
15260 (propagated-inputs
15261 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
15262 (home-page "https://github.com/syohex/emacs-terraform-mode")
15263 (synopsis "Major mode for Terraform")
15264 (description
15265 "@code{emacs-terraform-mode} provides a major mode for working with
15266 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
15267 functionality is inherited from @code{hcl-mode}.")
15268 (license license:gpl3+)))
15269
15270 (define-public emacs-exec-path-from-shell
15271 (package
15272 (name "emacs-exec-path-from-shell")
15273 (version "1.12")
15274 (source
15275 (origin
15276 (method git-fetch)
15277 (uri (git-reference
15278 (url "https://github.com/purcell/exec-path-from-shell")
15279 (commit version)))
15280 (file-name (git-file-name name version))
15281 (sha256
15282 (base32
15283 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
15284 (build-system emacs-build-system)
15285 (home-page "https://github.com/purcell/exec-path-from-shell")
15286 (synopsis "Get environment variables such as @env{PATH} from the shell")
15287 (description
15288 "This library allows the user to set Emacs @code{exec-path} and @env{PATH}
15289 from the shell's @env{PATH}, so that @code{shell-command}, @code{compile} and
15290 the like work as expected on systems on which Emacs is not guaranteed to
15291 inherit a login shell's environment variables. It also allows other
15292 environment variables to be retrieved from the shell, so that Emacs will see
15293 the same values you get in a terminal.")
15294 (license license:gpl3+)))
15295
15296 (define-public emacs-frog-menu
15297 (package
15298 (name "emacs-frog-menu")
15299 (version "0.2.11")
15300 (source
15301 (origin
15302 (method url-fetch)
15303 (uri (string-append "https://elpa.gnu.org/packages/"
15304 "frog-menu-" version ".el"))
15305 (sha256
15306 (base32 "06iw11z61fd0g4w3562k3smcmzaq3nivvvc6gzm8y8k5pcrqzdff"))))
15307 (build-system emacs-build-system)
15308 (propagated-inputs
15309 `(("emacs-avy" ,emacs-avy)
15310 ("emacs-posframe" ,emacs-posframe)))
15311 (home-page "https://github.com/clemera/frog-menu")
15312 (synopsis "Quickly pick items from ad hoc menus")
15313 (description
15314 "This package provides a popup offering a preview of a list of candidates
15315 on which user-defined dispatch actions can act.")
15316 (license license:gpl3+)))
15317
15318 (define-public emacs-frog-jump-buffer
15319 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
15320 (revision "1"))
15321 (package
15322 (name "emacs-frog-jump-buffer")
15323 (version (git-version "0.1.4" revision commit))
15324 (source
15325 (origin
15326 (method git-fetch)
15327 (uri (git-reference
15328 (url "https://github.com/waymondo/frog-jump-buffer")
15329 (commit commit)))
15330 (file-name (git-file-name name version))
15331 (sha256
15332 (base32
15333 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
15334 (build-system emacs-build-system)
15335 (propagated-inputs
15336 `(("emacs-dash" ,emacs-dash)
15337 ("emacs-frog-menu" ,emacs-frog-menu)
15338 ("emacs-avy" ,emacs-avy)))
15339 (home-page "https://github.com/waymondo/frog-jump-buffer")
15340 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
15341 (description
15342 "This package provides a preview window of buffers that can be switched
15343 to with quicklink-style selections.")
15344 (license license:gpl3+))))
15345
15346 (define-public emacs-deft
15347 (package
15348 (name "emacs-deft")
15349 (version "0.8")
15350 (source
15351 (origin
15352 (method git-fetch)
15353 (uri (git-reference
15354 (url "https://github.com/jrblevin/deft")
15355 (commit (string-append "v" version))))
15356 (file-name (git-file-name name version))
15357 (sha256
15358 (base32
15359 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
15360 (build-system emacs-build-system)
15361 (home-page "https://jblevins.org/projects/deft/")
15362 (synopsis "Quickly browse, filter, and edit plain text notes")
15363 (description
15364 "Deft is an Emacs mode for quickly browsing, filtering, and editing
15365 directories of plain text notes, inspired by Notational Velocity.")
15366 (license license:bsd-3)))
15367
15368 (define-public emacs-anzu
15369 (package
15370 (name "emacs-anzu")
15371 (version "0.64")
15372 (source
15373 (origin
15374 (method git-fetch)
15375 (uri (git-reference
15376 (url "https://github.com/syohex/emacs-anzu")
15377 (commit version)))
15378 (file-name (git-file-name name version))
15379 (sha256
15380 (base32 "1jfn5nm6r68wa0gn2k2zy6sdq6c8shw8x04ylzzm5cw7zm60jw0n"))))
15381 (build-system emacs-build-system)
15382 (home-page "https://github.com/syohex/emacs-anzu")
15383 (synopsis "Show number of matches in mode-line while searching")
15384 (description
15385 "Anzu provides a minor mode which displays \"current match/total
15386 matches\" in the mode line in various search modes. This is an Emacs port of
15387 Anzu.zim.")
15388 (license license:gpl3+)))
15389
15390 (define-public emacs-ascii-art-to-unicode
15391 (package
15392 (name "emacs-ascii-art-to-unicode")
15393 (version "1.13")
15394 (source
15395 (origin
15396 (method url-fetch)
15397 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
15398 version ".el"))
15399 (sha256
15400 (base32 "1c0jva3amhl9c5xc5yzdpi58c8m1djym4ccj31z6wmakq7npy07p"))))
15401 (build-system emacs-build-system)
15402 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
15403 (synopsis "ASCII to Unicode art converter for Emacs")
15404 (description "This Emacs package provides the commands @command{aa2u} and
15405 @command{aa2u-rectangle}. Both of these commands can be used to convert
15406 simple ASCII art line drawings to Unicode; the former works on the active
15407 region of the buffer, while the latter works on rectangular selections.")
15408 (license license:gpl3+)))
15409
15410 (define-public emacs-emmet-mode
15411 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
15412 (revision "1"))
15413 (package
15414 (name "emacs-emmet-mode")
15415 (version (git-version "1.0.8" revision commit))
15416 (source (origin
15417 (method git-fetch)
15418 (uri (git-reference
15419 (url "https://github.com/smihica/emmet-mode")
15420 (commit commit)))
15421 (file-name (git-file-name name version))
15422 (sha256
15423 (base32
15424 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
15425 (build-system emacs-build-system)
15426 (home-page "https://github.com/smihica/emmet-mode")
15427 (synopsis "Unofficial Emmet's support for Emacs")
15428 (description
15429 "Unfold CSS-selector-like expressions to markup. It is intended to be
15430 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
15431 (license license:gpl3+))))
15432
15433 (define-public emacs-ergoemacs-mode
15434 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
15435 (revision "1"))
15436 (package
15437 (name "emacs-ergoemacs-mode")
15438 (version (git-version "5.16.10.12" revision commit))
15439 (source
15440 (origin
15441 (method git-fetch)
15442 (uri (git-reference
15443 (url "https://github.com/ergoemacs/ergoemacs-mode")
15444 (commit commit)))
15445 (file-name (git-file-name name version))
15446 (sha256
15447 (base32
15448 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
15449 (build-system emacs-build-system)
15450 (propagated-inputs
15451 `(("emacs-undo-tree" ,emacs-undo-tree)))
15452 (home-page "https://ergoemacs.github.io/")
15453 (synopsis "Emacs mode based on common modern interface and ergonomics")
15454 (description
15455 "This package provides an efficient Emacs keybinding set based on
15456 statistics of command frequency, and supports common shortcuts for open,
15457 close, copy, cut, paste, undo, redo.")
15458 (license license:gpl3+))))
15459
15460 (define-public emacs-password-store
15461 (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4")
15462 (revision "1"))
15463 (package
15464 (name "emacs-password-store")
15465 ;; The emacs package version does not match the password-store version,
15466 ;; even though it is part of the same repository. When updating, look
15467 ;; at the version declared in password-store.el.
15468 (version (git-version "2.1.4" revision commit))
15469 (source (origin
15470 (method git-fetch)
15471 (uri (git-reference
15472 (url "git://git.zx2c4.com/password-store")
15473 (commit commit)))
15474 (sha256
15475 (base32
15476 "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi"))
15477 (file-name (git-file-name name version))))
15478 (build-system emacs-build-system)
15479 (arguments
15480 `(#:phases
15481 (modify-phases %standard-phases
15482 (add-after 'unpack 'extract-el-file
15483 (lambda _
15484 (copy-file "contrib/emacs/password-store.el" "password-store.el")
15485 (delete-file-recursively "contrib")
15486 (delete-file-recursively "man")
15487 (delete-file-recursively "src")
15488 (delete-file-recursively "tests"))))))
15489 (propagated-inputs
15490 `(("emacs-auth-source-pass" ,emacs-auth-source-pass)
15491 ("emacs-s" ,emacs-s)
15492 ("emacs-with-editor" ,emacs-with-editor)
15493 ("password-store" ,password-store)))
15494 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
15495 (synopsis "Password store (pass) support for Emacs")
15496 (description
15497 "This package provides functions for working with pass (\"the
15498 standard Unix password manager\").")
15499 (license license:gpl2+))))
15500
15501 (define-public emacs-password-store-otp
15502 (package
15503 (name "emacs-password-store-otp")
15504 (version "0.1.5")
15505 (source
15506 (origin
15507 (method git-fetch)
15508 (uri (git-reference
15509 (url "https://github.com/volrath/password-store-otp.el")
15510 (commit version)))
15511 (sha256
15512 (base32 "0gb48blvnn6ci2wl45z81p41ny7vbgl610hqy6b2hyr2171qjd60"))
15513 (file-name (git-file-name name version))))
15514 (build-system emacs-build-system)
15515 (propagated-inputs
15516 `(("emacs-password-store" ,emacs-password-store)
15517 ("emacs-s" ,emacs-s)))
15518 (home-page "https://github.com/volrath/password-store-otp.el")
15519 (synopsis
15520 "Interact with the @code{pass-otp} extension for @code{pass} from Emacs")
15521 (description "This package provides Emacs functions to interact with the
15522 @code{pass-otp} extension for @code{pass}. It includes functions to import
15523 OTP URIs from screenshots of QR codes, and to export them back to QR codes if
15524 needed.")
15525 (license license:gpl3+)))
15526
15527 (define-public emacs-auth-source-pass
15528 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
15529 (revision "2"))
15530 (package
15531 (name "emacs-auth-source-pass")
15532 (version (git-version "5.0.0" revision commit))
15533 (source
15534 (origin
15535 (method git-fetch)
15536 (uri (git-reference
15537 (url "https://github.com/DamienCassou/auth-password-store")
15538 (commit commit)))
15539 (file-name (git-file-name name version))
15540 (sha256
15541 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
15542 (build-system emacs-build-system)
15543 (arguments
15544 `(#:tests? #t
15545 #:test-command '("emacs" "--batch"
15546 "-L" "."
15547 "-l" "test/auth-source-pass-tests.el"
15548 "-f" "ert-run-tests-batch-and-exit")))
15549 (home-page "https://github.com/DamienCassou/auth-password-store")
15550 (synopsis "Integrate @code{auth-source} with @code{password-store}")
15551 (description "This package helps Emacs integrate with the Unix
15552 @code{password-store} application.")
15553 (license license:gpl3+))))
15554
15555 (define-public emacs-pass
15556 (package
15557 (name "emacs-pass")
15558 (version "2.0")
15559 (source
15560 (origin
15561 (method git-fetch)
15562 (uri (git-reference
15563 (url "https://github.com/NicolasPetton/pass")
15564 (commit version)))
15565 (file-name (git-file-name name version))
15566 (sha256
15567 (base32 "0jc8j421mlflspg24jvrqc2n3y5n3cpk3hjy560il8g36xi1049p"))))
15568 (build-system emacs-build-system)
15569 (propagated-inputs
15570 `(("emacs-password-store" ,emacs-password-store)
15571 ("emacs-f" ,emacs-f)))
15572 (home-page "https://github.com/NicolasPetton/pass")
15573 (synopsis "Major mode for @file{password-store.el}")
15574 (description "This is a major mode for managing password-store (pass)
15575 keychains. The keychain entries are displayed in a directory-like structure
15576 and can be consulted and modified.")
15577 (license license:gpl3+)))
15578
15579 (define-public emacs-psc-ide
15580 ;; There is no proper release. The base version is extracted from the
15581 ;; "Version" keyword in the main file.
15582 (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe")
15583 (revision "1"))
15584 (package
15585 (name "emacs-psc-ide")
15586 (version (git-version "0.1.0" revision commit))
15587 (source
15588 (origin
15589 (method git-fetch)
15590 (uri
15591 (git-reference
15592 (url "https://github.com/purescript-emacs/psc-ide-emacs")
15593 (commit commit)))
15594 (file-name (git-file-name name version))
15595 (sha256
15596 (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj"))))
15597 (build-system emacs-build-system)
15598 (propagated-inputs
15599 `(("emacs-company" ,emacs-company)
15600 ("emacs-dash" ,emacs-dash)
15601 ("emacs-flycheck" ,emacs-flycheck)
15602 ("emacs-let-alist" ,emacs-let-alist)
15603 ("emacs-s" ,emacs-s)))
15604 (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
15605 (synopsis "Emacs integration for PureScript's psc-ide tool")
15606 (description
15607 "This package provices Emacs integration for @code{psc-ide}, an IDE
15608 protocol for PureScript programming language. It features:
15609
15610 @itemize
15611 @item Completions
15612 @item Type at point
15613 @item Go to definition
15614 @item Automatic imports
15615 @item Case split
15616 @item Build system integration, and
15617 @item Flycheck support
15618 @end itemize")
15619 (license license:gpl3+))))
15620
15621 (define-public emacs-evil-anzu
15622 (package
15623 (name "emacs-evil-anzu")
15624 (version "0.03")
15625 (source
15626 (origin
15627 (method git-fetch)
15628 (uri (git-reference
15629 (url "https://github.com/syohex/emacs-evil-anzu")
15630 (commit version)))
15631 (file-name (git-file-name name version))
15632 (sha256
15633 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
15634 (build-system emacs-build-system)
15635 (propagated-inputs
15636 `(("emacs-evil" ,emacs-evil)
15637 ("emacs-anzu" ,emacs-anzu)))
15638 (home-page "https://github.com/syohex/emacs-evil-anzu")
15639 (synopsis "Anzu for evil-mode")
15640 (description "@code{anzu} provides a minor mode that displays the current
15641 match and total match information in the mode-line in various search modes.")
15642 (license license:gpl3+)))
15643
15644 (define-public emacs-pg
15645 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
15646 (package
15647 (name "emacs-pg")
15648 (version (git-version "0.1" "1" commit))
15649 (source (origin
15650 (method git-fetch)
15651 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
15652 (commit commit)))
15653 (file-name (git-file-name name version))
15654 (sha256
15655 (base32
15656 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
15657 (build-system emacs-build-system)
15658 (home-page "https://github.com/cbbrowne/pg.el")
15659 (synopsis "Emacs Lisp interface for PostgreSQL")
15660 (description
15661 "This package provides an Emacs Lisp interface for PostgreSQL.")
15662 (license license:gpl3+))))
15663
15664 (define-public emacs-finalize
15665 (package
15666 (name "emacs-finalize")
15667 (version "2.0.0")
15668 (source
15669 (origin
15670 (method git-fetch)
15671 (uri (git-reference
15672 (url "https://github.com/skeeto/elisp-finalize")
15673 (commit version)))
15674 (file-name (git-file-name name version))
15675 (sha256
15676 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
15677 (build-system emacs-build-system)
15678 (home-page "https://github.com/skeeto/elisp-finalize")
15679 (synopsis "Finalizers for Emacs Lisp")
15680 (description
15681 "This package runs a callback (a finalizer)
15682 after its registered lisp object has been garbage collected. This allows
15683 extra resources, such as buffers and processes, to be cleaned up after the
15684 object has been freed.")
15685 (license license:unlicense)))
15686
15687 (define-public emacs-emacsql
15688 (package
15689 (name "emacs-emacsql")
15690 (version "3.0.0")
15691 (source (origin
15692 (method git-fetch)
15693 (uri (git-reference
15694 (url "https://github.com/skeeto/emacsql")
15695 (commit (string-append version))))
15696 (file-name (git-file-name name version))
15697 (sha256
15698 (base32
15699 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
15700 (build-system emacs-build-system)
15701 (arguments
15702 `(#:modules ((guix build emacs-build-system)
15703 (guix build utils)
15704 (guix build emacs-utils)
15705 (srfi srfi-26))
15706 #:phases
15707 (modify-phases %standard-phases
15708 (add-before 'install 'patch-elisp-shell-shebangs
15709 (lambda _
15710 (substitute* (find-files "." "\\.el")
15711 (("/bin/sh") (which "sh")))
15712 #t))
15713 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
15714 (lambda _
15715 (setenv "SHELL" "sh")))
15716 (add-after 'setenv-shell 'build-emacsql-sqlite
15717 (lambda _
15718 (invoke "make" "binary" (string-append "CC=" ,(cc-for-target)))))
15719 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
15720 ;; This build phase installs emacs-emacsql binary.
15721 (lambda* (#:key outputs #:allow-other-keys)
15722 (install-file "sqlite/emacsql-sqlite"
15723 (string-append (assoc-ref outputs "out")
15724 "/bin"))
15725 #t))
15726 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
15727 ;; This build phase removes interactive prompts
15728 ;; and makes sure Emacs look for binaries in the right places.
15729 (lambda* (#:key outputs #:allow-other-keys)
15730 (let ((file "emacsql-sqlite.el"))
15731 (chmod file #o644)
15732 (emacs-substitute-sexps file
15733 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
15734 ("(executable-find" (which "gcc"))
15735 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
15736 ;; in the right place.
15737 ("(defvar emacsql-sqlite-executable"
15738 (string-append (assoc-ref outputs "out")
15739 "/bin/emacsql-sqlite")))))))))
15740 (inputs
15741 `(("emacs-minimal" ,emacs-minimal)
15742 ("mariadb" ,mariadb "lib")
15743 ("mariadb-dev" ,mariadb "dev")
15744 ("postgresql" ,postgresql)))
15745 (propagated-inputs
15746 `(("emacs-finalize" ,emacs-finalize)
15747 ("emacs-pg" ,emacs-pg)))
15748 (home-page "https://github.com/skeeto/emacsql")
15749 (synopsis "Emacs high-level SQL database front-end")
15750 (description "Any readable Lisp value can be stored as a value in EmacSQL,
15751 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
15752 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
15753 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
15754 (license license:gpl3+)))
15755
15756 (define-public emacs-emacsql-sqlite3
15757 (package
15758 (name "emacs-emacsql-sqlite3")
15759 (version "1.0.2")
15760 (source (origin
15761 (method git-fetch)
15762 (uri (git-reference
15763 (url "https://github.com/cireu/emacsql-sqlite3")
15764 (commit version)))
15765 (file-name (git-file-name name version))
15766 (sha256
15767 (base32
15768 "1jzvvsvi8jm2ws3y49nmpmwd3zlvf8j83rl2vwizd1aplwwdnmd6"))))
15769 (build-system emacs-build-system)
15770 (native-inputs
15771 `(("ert-runner" ,emacs-ert-runner)))
15772 (inputs
15773 `(("sqlite" ,sqlite)))
15774 (propagated-inputs
15775 `(("emacs-emacsql" ,emacs-emacsql)))
15776 (arguments
15777 `(#:tests? #t
15778 #:test-command '("emacs" "-Q" "--batch" "-L" "."
15779 "--load" "emacsql-sqlite3-test.el"
15780 "-f" "ert-run-tests-batch-and-exit")
15781 #:phases
15782 (modify-phases %standard-phases
15783 (add-after 'unpack 'embed-path-to-sqlite3
15784 (lambda _
15785 (substitute* "emacsql-sqlite3.el"
15786 (("\\(executable-find \"sqlite3\"\\)")
15787 (string-append "\"" (which "sqlite3") "\"")))
15788 #t)))))
15789 (home-page "https://github.com/cireu/emacsql-sqlite3")
15790 (synopsis "EmacSQL backend for SQLite")
15791 (description "This is yet another EmacSQL backend for SQLite which uses
15792 official @command{sqlite3} executable to access SQL database.")
15793 (license license:gpl3+)))
15794
15795 (define-public emacs-closql
15796 (package
15797 (name "emacs-closql")
15798 (version "1.0.4")
15799 (source
15800 (origin
15801 (method git-fetch)
15802 (uri (git-reference
15803 (url "https://github.com/emacscollective/closql")
15804 (commit (string-append "v" version))))
15805 (file-name (git-file-name name version))
15806 (sha256
15807 (base32
15808 "06j0sc6dx8f34wc8i7dzkp8jwvwnrpnl8i93vpc1qw0ih0jwa2zh"))))
15809 (build-system emacs-build-system)
15810 (propagated-inputs
15811 `(("emacs-emacsql" ,emacs-emacsql)))
15812 (home-page "https://github.com/emacscollective/closql")
15813 (synopsis "Store EIEIO objects using EmacSQL")
15814 (description
15815 "This package stores uniform EIEIO objects in an EmacSQL
15816 database. SQLite is used as backend. This library imposes some restrictions
15817 on what kind of objects can be stored; it isn't intended to store arbitrary
15818 objects. All objects have to share a common superclass and subclasses cannot
15819 add any additional instance slots.")
15820 (license license:gpl3)))
15821
15822 (define-public emacs-epkg
15823 (package
15824 (name "emacs-epkg")
15825 (version "3.2.2")
15826 (source
15827 (origin
15828 (method git-fetch)
15829 (uri (git-reference
15830 (url "https://github.com/emacscollective/epkg")
15831 (commit (string-append "v" version))))
15832 (file-name (git-file-name name version))
15833 (sha256
15834 (base32
15835 "1pxz611qb3m33r6343h0xhwqvvhjl131zyc2klplzgb23rkm8lk0"))))
15836 (build-system emacs-build-system)
15837 (propagated-inputs
15838 `(("emacs-closql" ,emacs-closql)
15839 ("emacs-dash" ,emacs-dash)))
15840 (home-page "https://emacsmirror.net")
15841 (synopsis "Browse the Emacsmirror package database")
15842 (description "This package provides access to a local copy of the
15843 Emacsmirror package database. It provides low-level functions for querying
15844 the database and a @file{package.el} user interface for browsing the database.
15845 Epkg itself is not a package manager.
15846
15847 Getting a local copy:
15848
15849 @example
15850 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
15851 cd ~/.emacs.d/epkgs
15852 git submodule init
15853 git config --global url.https://github.com/.insteadOf git@@github.com:
15854 git submodule update
15855 @end example
15856
15857 Some submodule may be missing. In this case Git will prompt for a GitHub user
15858 name and password. To skip it press a @key{Return} key.
15859
15860 You could get a Epkg package list by invoking @code{epkg-list-packages} in
15861 Emacs.")
15862 (license license:gpl3+)))
15863
15864 (define-public emacs-elisp-slime-nav
15865 (package
15866 (name "emacs-elisp-slime-nav")
15867 (version "0.10")
15868 (source
15869 (origin
15870 (method git-fetch)
15871 (uri (git-reference
15872 (url "https://github.com/purcell/elisp-slime-nav")
15873 (commit version)))
15874 (file-name (git-file-name name version))
15875 (sha256
15876 (base32 "08k4zlawjkb0ldn4lgrhih8nzln398x7dwzpipqfyrmp0xziywma"))))
15877 (build-system emacs-build-system)
15878 (home-page "https://github.com/purcell/elisp-slime-nav")
15879 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
15880 (description
15881 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
15882 in @code{emacs-lisp-mode}, together with an elisp equivalent of
15883 @code{slime-describe-symbol}.")
15884 (license license:gpl3+)))
15885
15886 (define-public emacs-dedicated
15887 (package
15888 (name "emacs-dedicated")
15889 (version "1.0.0")
15890 (source
15891 (origin
15892 (method git-fetch)
15893 (uri (git-reference
15894 (url "https://github.com/emacsorphanage/dedicated")
15895 (commit version)))
15896 (file-name (git-file-name name version))
15897 (sha256
15898 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
15899 (build-system emacs-build-system)
15900 (home-page "https://github.com/emacsorphanage/dedicated")
15901 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
15902 (description
15903 "This simple Emacs minor mode allows you to toggle a window's
15904 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
15905 files into that window. This can be quite handy since many commands will use
15906 another window to show results (compilation mode, starting info, and so on).
15907 A dedicated window won't be used for such a purpose. For details, please read
15908 the source file.")
15909 (license license:gpl2+)))
15910
15911 (define-public emacs-nnreddit
15912 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
15913 (revision "1"))
15914 (package
15915 (name "emacs-nnreddit")
15916 (version (string-append "0.0.1-" revision "."
15917 (string-take commit 7)))
15918 (source (origin
15919 (method git-fetch)
15920 (uri (git-reference
15921 (url "https://github.com/paul-issartel/nnreddit")
15922 (commit commit)))
15923 (file-name (git-file-name name version))
15924 (sha256
15925 (base32
15926 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
15927 (build-system emacs-build-system)
15928 (home-page "https://github.com/paul-issartel/nnreddit")
15929 (synopsis "Reddit backend for the Gnus newsreader")
15930 (description "@url{https://www.reddit.com} backend for the Gnus
15931 newsreader.")
15932 (license license:gpl3+))))
15933
15934 (define-public emacs-makey
15935 (package
15936 (name "emacs-makey")
15937 (version "0.3")
15938 (source
15939 (origin
15940 (method git-fetch)
15941 (uri (git-reference
15942 (url "https://github.com/mickeynp/makey")
15943 (commit version)))
15944 (file-name (git-file-name name version))
15945 (sha256
15946 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
15947 (build-system emacs-build-system)
15948 (home-page "https://github.com/mickeynp/makey")
15949 (synopsis "Emacs interactive command-line mode")
15950 (description
15951 "This package provides an Emacs interactive command-line mode.")
15952 (license license:gpl3+)))
15953
15954 (define-public emacs-outorg
15955 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
15956 (package
15957 (name "emacs-outorg")
15958 (version (git-version "2.0" "1" commit))
15959 (source
15960 (origin
15961 (method git-fetch)
15962 (uri (git-reference
15963 (url "https://github.com/alphapapa/outorg")
15964 (commit commit)))
15965 (file-name (git-file-name name version))
15966 (sha256
15967 (base32
15968 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
15969 (build-system emacs-build-system)
15970 (home-page "https://github.com/alphapapa/outorg")
15971 (synopsis "Org-style comment editing")
15972 (description "Outorg is for editing comment-sections of source-code
15973 files in temporary Org-mode buffers. It turns conventional
15974 literate-programming upside-down in that the default mode is the
15975 programming-mode, and special action has to be taken to switch to the
15976 text-mode (i.e. Org-mode).")
15977 (license license:gpl3+))))
15978
15979 (define-public emacs-outshine
15980 (package
15981 (name "emacs-outshine")
15982 (version "3.0.1")
15983 (source (origin
15984 (method git-fetch)
15985 (uri (git-reference
15986 (url "https://github.com/alphapapa/outshine")
15987 (commit (string-append "v" version))))
15988 (file-name (git-file-name name version))
15989 (sha256
15990 (base32
15991 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
15992 (build-system emacs-build-system)
15993 (propagated-inputs
15994 `(("emacs-outorg" ,emacs-outorg)))
15995 (home-page "https://github.com/alphapapa/outshine")
15996 (synopsis "Emacs outline with outshine")
15997 (description "Outshine attempts to bring the look and feel of
15998 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
15999 of @code{outline-minor-mode} (@code{org-mode} itself derives from
16000 outline-mode), so there is no such thing like an outshine mode, only
16001 @code{outline-minor-mode} with outshine extensions loaded.")
16002 (license license:gpl3+)))
16003
16004 (define-public emacs-frecency
16005 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
16006 (version "0.1-pre")
16007 (revision "1"))
16008 (package
16009 (name "emacs-frecency")
16010 (version (git-version version revision commit))
16011 (source (origin
16012 (method git-fetch)
16013 (uri (git-reference
16014 (url "https://github.com/alphapapa/frecency.el")
16015 (commit commit)))
16016 (sha256
16017 (base32
16018 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
16019 (file-name (git-file-name name version))))
16020 (build-system emacs-build-system)
16021 (propagated-inputs
16022 `(("emacs-a" ,emacs-a)
16023 ("emacs-dash" ,emacs-dash)))
16024 (home-page "https://github.com/alphapapa/frecency.el")
16025 (synopsis "Sort items by frequency and recency of access")
16026 (description "This package provides a way of sorting items via
16027 a heuristic based on frequency and recency.")
16028 (license license:gpl3+))))
16029
16030 (define-public emacs-org-recent-headings
16031 (package
16032 (name "emacs-org-recent-headings")
16033 (version "0.1")
16034 (source (origin
16035 (method git-fetch)
16036 (uri (git-reference
16037 (url "https://github.com/alphapapa/org-recent-headings")
16038 (commit version)))
16039 (file-name (git-file-name name version))
16040 (sha256
16041 (base32
16042 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
16043 (build-system emacs-build-system)
16044 (propagated-inputs
16045 `(("emacs-org" ,emacs-org)
16046 ("emacs-dash" ,emacs-dash)
16047 ("emacs-frecency" ,emacs-frecency)))
16048 (home-page "https://github.com/alphapapa/org-recent-headings")
16049 (synopsis "Navigate to recently used Org headings and lists")
16050 (description "This package maintains a list of recently used Org headings,
16051 as well as functions for navigating between these headings.")
16052 (license license:gpl3+)))
16053
16054 (define-public emacs-org-super-agenda
16055 (package
16056 (name "emacs-org-super-agenda")
16057 (version "1.2")
16058 (source (origin
16059 (method git-fetch)
16060 (uri (git-reference
16061 (url "https://github.com/alphapapa/org-super-agenda")
16062 (commit version)))
16063 (file-name (git-file-name name version))
16064 (sha256
16065 (base32
16066 "10l9h2n09cql4ih7nc0ma3ghdsq9l5v9xlj1lg7kq67icdwjlsvy"))))
16067 (build-system emacs-build-system)
16068 (arguments
16069 `(#:tests? #t
16070 #:test-command '("test/run" "--debug")
16071 #:phases
16072 (modify-phases %standard-phases
16073 (add-after 'unpack 'prepare-for-tests.el
16074 (lambda _
16075 (make-file-writable "test/test.el")
16076 (emacs-substitute-variables "test/test.el"
16077 ("org-super-agenda-test-results-file"
16078 (string-append (getcwd) "/test/results.el")))
16079 ;; The following test fail (see:
16080 ;; https://github.com/alphapapa/org-super-agenda/issues/183).
16081 (substitute* "test/test.el"
16082 ((".*org-super-agenda-test--:auto-map.*" all)
16083 (string-append all " (skip-unless nil)\n")))
16084 #t)))))
16085 (native-inputs
16086 `(("emacs-f" ,emacs-f)
16087 ("getopt" ,util-linux)))
16088 (propagated-inputs
16089 `(("emacs-org" ,emacs-org)
16090 ("emacs-dash" ,emacs-dash)
16091 ("emacs-ts" ,emacs-ts)
16092 ("emacs-ht" ,emacs-ht)
16093 ("emacs-s" ,emacs-s)))
16094 (home-page "https://github.com/alphapapa/org-super-agenda")
16095 (synopsis "Supercharged Org agenda")
16096 (description "This package allows items in the Org agenda to be grouped
16097 into sections while preserving the structure imposed by any timestamps.")
16098 (license license:gpl3+)))
16099
16100 (define-public emacs-elegant-agenda-mode
16101 (let ((commit "c72f42e0f551c3dd81e68262f07a96c0ec90a589")
16102 (revision "1"))
16103 (package
16104 (name "emacs-elegant-agenda-mode")
16105 (version (git-version "0.1.0" revision commit))
16106 (source
16107 (origin
16108 (method git-fetch)
16109 (uri (git-reference
16110 (url "https://github.com/justinbarclay/elegant-agenda-mode")
16111 (commit commit)))
16112 (file-name (git-file-name name version))
16113 (sha256
16114 (base32
16115 "0f8qk3vd41ffbkfqw5nks3bld0qpjrlnk9sb46wcbsyfnrs2v082"))))
16116 (build-system emacs-build-system)
16117 (home-page "https://github.com/justinbarclay/elegant-agenda-mode")
16118 (synopsis "Elegant theme for your org-agenda")
16119 (description
16120 "The elegant-agenda-mode package uses fonts and typography to give your
16121 org-agenda some breathing room and elegance. This package was inspired by the
16122 work Nicolas Rougier.")
16123 (license license:gpl3+))))
16124
16125 (define-public emacs-org-make-toc
16126 (package
16127 (name "emacs-org-make-toc")
16128 (version "0.5")
16129 (source (origin
16130 (method git-fetch)
16131 (uri (git-reference
16132 (url "https://github.com/alphapapa/org-make-toc")
16133 (commit version)))
16134 (file-name (git-file-name name version))
16135 (sha256
16136 (base32
16137 "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr"))))
16138 (build-system emacs-build-system)
16139 (propagated-inputs
16140 `(("emacs-org" ,emacs-org)
16141 ("emacs-dash" ,emacs-dash)
16142 ("emacs-s" ,emacs-s)))
16143 (home-page "https://github.com/alphapapa/org-make-toc")
16144 (synopsis "Maintain a table of contents for an Org file")
16145 (description "This package facilitates the creation and maintenance of
16146 tables of contents.")
16147 (license license:gpl3+)))
16148
16149 (define-public emacs-ts
16150 (package
16151 (name "emacs-ts")
16152 (version "0.2")
16153 (source
16154 (origin
16155 (method git-fetch)
16156 (uri (git-reference
16157 (url "https://github.com/alphapapa/ts.el")
16158 (commit version)))
16159 (sha256
16160 (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb"))
16161 (file-name (git-file-name name version))))
16162 (build-system emacs-build-system)
16163 (propagated-inputs
16164 `(("emacs-s" ,emacs-s)
16165 ("emacs-dash" ,emacs-dash)))
16166 (arguments
16167 ;; XXX: Three tests are failing because of a timezone-related issue
16168 ;; with how they're written. On my machine, all the failing test
16169 ;; results are 18000 seconds (5 hours) off.
16170
16171 ;; The ts-parse-org function accepts a string without any timezone
16172 ;; info, not assumed to be in Unix time, and converts it to a so-called
16173 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
16174 ;; then seems to assume the struct's corresponding time is in terms of
16175 ;; the user's current time zone, before returning a Unix time in
16176 ;; seconds.
16177
16178 ;; The failing tests all have similar problems, but nothing else about
16179 ;; the library seems particularly off.
16180
16181 `(#:tests? #t
16182 #:test-command '("emacs" "--batch"
16183 "-l" "test/test.el"
16184 "-f" "ert-run-tests-batch-and-exit")
16185 #:phases
16186 (modify-phases %standard-phases
16187 (add-before 'check 'make-tests-writable
16188 (lambda _
16189 (make-file-writable "test/test.el")
16190 #t))
16191 (add-before 'check 'delete-failing-tests
16192 (lambda _
16193 (emacs-batch-edit-file "test/test.el"
16194 `(progn (progn
16195 (goto-char (point-min))
16196 (dolist (test-regexp
16197 '("ert-deftest ts-format"
16198 "ert-deftest ts-parse-org\\_>"
16199 "ert-deftest ts-parse-org-element"
16200 "ert-deftest ts-update"))
16201 (re-search-forward test-regexp)
16202 (beginning-of-line)
16203 (kill-sexp)))
16204 (basic-save-buffer)))
16205 #t)))))
16206 (home-page "https://github.com/alphapapa/ts.el")
16207 (synopsis "Timestamp and date/time library")
16208 (description "This package facilitates manipulating dates, times, and
16209 timestamps by providing a @code{ts} struct.")
16210 (license license:gpl3+)))
16211
16212 (define-public emacs-peg
16213 (package
16214 (name "emacs-peg")
16215 (version "1.0")
16216 (source
16217 (origin
16218 (method url-fetch)
16219 (uri (string-append "https://elpa.gnu.org/packages/peg-" version ".tar"))
16220 (sha256
16221 (base32 "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl"))))
16222 (build-system emacs-build-system)
16223 (home-page "https://elpa.gnu.org/packages/peg.html")
16224 (synopsis "Parsing Expression Grammars in Elisp")
16225 (description "This package provides a macro that parses the current buffer
16226 according to a parsing expression grammar.")
16227 (license license:gpl3+)))
16228
16229 (define-public emacs-eldev
16230 (package
16231 (name "emacs-eldev")
16232 (version "0.8.1")
16233 (source (origin
16234 (method git-fetch)
16235 (uri (git-reference
16236 (url "https://github.com/doublep/eldev")
16237 (commit version)))
16238 (file-name (git-file-name name version))
16239 (sha256
16240 (base32
16241 "19s45hdhcg5l608awfxvmhd61xzp7dd5pvviv89xzzksx74l1188"))))
16242 (build-system emacs-build-system)
16243 (arguments
16244 `(#:tests? #t
16245 #:test-command '("./bin/eldev" "-p" "-dtTC" "test")
16246 #:phases
16247 (modify-phases %standard-phases
16248 (add-after 'unpack 'prepare-for-tests
16249 (lambda _
16250 (setenv "ELDEV_LOCAL" (getcwd))
16251 (make-file-writable
16252 "test/project-i/project-i-autoloads.el")
16253 #t))
16254 (add-after 'unpack 'skip-failing-tests
16255 ;; FIXME: 10 tests are failing. Skip them for now.
16256 (lambda _
16257 (substitute* '("test/init.el" "test/targets.el")
16258 (("(targets-project-e-[34]|init-[1-8]).*" line)
16259 (string-append line "(skip-unless nil)\n")))))
16260 (add-after 'install 'install-eldev-executable
16261 ;; This constructs the eldev executable from templates and
16262 ;; installs it in the specified directory.
16263 (lambda* (#:key outputs #:allow-other-keys)
16264 (let* ((out (assoc-ref outputs "out"))
16265 (bin (string-append out "/bin"))
16266 (site-lisp (string-append out "/share/emacs/site-lisp")))
16267 (mkdir-p bin)
16268 (setenv "HOME" (getcwd))
16269 (invoke "./install.sh" bin)
16270 (substitute* (string-append bin "/eldev")
16271 ;; Point ELDEV_LOCAL to the installation directory so that
16272 ;; eldev doesn't try to bootstrap itself from MELPA when
16273 ;; invoked.
16274 (("export ELDEV_EMACS.*" all)
16275 (string-append "export ELDEV_LOCAL=" site-lisp "\n" all)))
16276 #t))))))
16277 (native-inputs
16278 `(("texinfo" ,texinfo))) ;for tests
16279 (home-page "https://github.com/doublep/eldev/")
16280 (synopsis "Emacs-based build tool for Elisp")
16281 (description "Eldev (Elisp Development Tool) is an Emacs-based build tool,
16282 targeted solely at Elisp projects. It is an alternative to Cask. Unlike
16283 Cask, Eldev itself is fully written in Elisp and its configuration files are
16284 also Elisp programs. For those familiar with the Java world, Cask can be seen
16285 as a parallel to Maven — it uses project description, while Eldev is sort of a
16286 parallel to Gradle — its configuration is a program on its own.")
16287 (license license:gpl3+)))
16288
16289 (define-public emacs-with-simulated-input
16290 (package
16291 (name "emacs-with-simulated-input")
16292 (version "2.4")
16293 (source
16294 (origin
16295 (method git-fetch)
16296 (uri (git-reference
16297 (url "https://github.com/DarwinAwardWinner/with-simulated-input")
16298 (commit (string-append "v" version))))
16299 (file-name (git-file-name name version))
16300 (sha256
16301 (base32
16302 "12d3mhvzj74qwc4rdcb236jbqnf5lam8pk78j92kwbwjk1jaz2cf"))))
16303 (build-system emacs-build-system)
16304 (arguments
16305 ;; The test suite fails with error: "Spies can only be created in
16306 ;; ‘before-each’".
16307 `(#:tests? #f
16308 #:test-command '("buttercup" "-L" ".")))
16309 (native-inputs
16310 `(("emacs-buttercup" ,emacs-buttercup)
16311 ("emacs-undercover" ,emacs-undercover)))
16312 (propagated-inputs
16313 `(("emacs-s" ,emacs-s)))
16314 (home-page "https://github.com/DarwinAwardWinner/with-simulated-input")
16315 (synopsis "Non-interactive testing Emacs library")
16316 (description "This package provides an Emacs Lisp macro,
16317 @code{with-simulated-input}, which evaluates one or more forms while
16318 simulating a sequence of input events for those forms to read. The result is
16319 the same as if a user had evaluated the forms and then manually typed in the
16320 same input. This macro is useful for non-interactive testing of normally
16321 interactive commands and functions, such as @code{completing-read}.")
16322 (license license:gpl3+)))
16323
16324 (define-public emacs-org-ql
16325 (package
16326 (name "emacs-org-ql")
16327 (version "0.5")
16328 (source (origin
16329 (method git-fetch)
16330 (uri (git-reference
16331 (url "https://github.com/alphapapa/org-ql")
16332 (commit version)))
16333 (sha256
16334 (base32
16335 "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"))
16336 (file-name (git-file-name name version))))
16337 (build-system emacs-build-system)
16338 (propagated-inputs
16339 `(("emacs-s" ,emacs-s)
16340 ("emacs-f" ,emacs-f)
16341 ("emacs-ov" ,emacs-ov)
16342 ("emacs-peg" ,emacs-peg)
16343 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
16344 ("emacs-ts" ,emacs-ts)
16345 ("emacs-org" ,emacs-org)
16346 ("emacs-helm" ,emacs-helm)
16347 ("emacs-helm-org" ,emacs-helm-org)
16348 ("emacs-dash" ,emacs-dash)
16349 ("emacs-transient" ,emacs-transient)))
16350 (native-inputs
16351 `(("emacs-buttercup" ,emacs-buttercup)
16352 ("emacs-with-simulated-input" ,emacs-with-simulated-input)))
16353 (arguments
16354 `(#:tests? #t
16355 #:test-command '("buttercup" "-L" ".")
16356 #:phases
16357 (modify-phases %standard-phases
16358 (add-after 'unpack 'disable-failing-tests
16359 (lambda _
16360 (substitute* "tests/test-org-ql.el"
16361 ;; This test fails on Emacs 27.1 (see:
16362 ;; https://github.com/alphapapa/org-super-agenda/issues/183).
16363 (("it \"Can search buffer containing the link\"" all)
16364 (string-append "x" all)))
16365 #t)))))
16366 (home-page "https://github.com/alphapapa/org-ql/")
16367 (synopsis "Query language for Org buffers")
16368 (description "This package provides a Lispy query language for Org
16369 files, allowing for actions to be performed based on search criteria.")
16370 (license license:gpl3+)))
16371
16372 (define-public emacs-org-auto-expand
16373 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
16374 (revision "1"))
16375 (package
16376 (name "emacs-org-auto-expand")
16377 (version (git-version "0.1" revision commit))
16378 (source (origin
16379 (method git-fetch)
16380 (uri (git-reference
16381 (url "https://github.com/alphapapa/org-auto-expand")
16382 (commit commit)))
16383 (file-name (git-file-name name version))
16384 (sha256
16385 (base32
16386 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
16387 (build-system emacs-build-system)
16388 (propagated-inputs
16389 `(("emacs-org" ,emacs-org)
16390 ("emacs-dash" ,emacs-dash)))
16391 (home-page "https://github.com/alphapapa/org-auto-expand")
16392 (synopsis "Automatically expand certain Org headings")
16393 (description "This package allows a customizable set of headings in Org
16394 files to be expanded upon opening them.")
16395 (license license:gpl3+))))
16396
16397 (define-public emacs-parsebib
16398 (package
16399 (name "emacs-parsebib")
16400 (version "2.4.1")
16401 (source
16402 (origin
16403 (method git-fetch)
16404 (uri (git-reference
16405 (url "https://github.com/joostkremers/parsebib")
16406 (commit version)))
16407 (file-name (git-file-name name version))
16408 (sha256
16409 (base32 "1d3ysh82gh5mg07hlz3ll782lldnaj0xmyabv18jln4y2xd7ncni"))))
16410 (build-system emacs-build-system)
16411 (home-page "https://github.com/joostkremers/parsebib")
16412 (synopsis "Library for parsing @file{.bib} files")
16413 (description
16414 "This package provides an Emacs library for parsing @file{.bib} files.")
16415 (license license:gpl3+)))
16416
16417 (define-public emacs-ebib
16418 (package
16419 (name "emacs-ebib")
16420 (version "2.29")
16421 (source
16422 (origin
16423 (method git-fetch)
16424 (uri (git-reference
16425 (url "https://github.com/joostkremers/ebib")
16426 (commit version)))
16427 (file-name (git-file-name name version))
16428 (sha256
16429 (base32 "1d0xnhdcsz2ysq145k2l0f2r4vb0pkai1v6wl6sfba7xi5fc323i"))))
16430 (build-system emacs-build-system)
16431 (propagated-inputs
16432 `(("emacs-parsebib" ,emacs-parsebib)))
16433 (home-page "https://joostkremers.github.io/ebib/")
16434 (synopsis "BibTeX database manager for Emacs")
16435 (description
16436 "Ebib is a BibTeX database manager that runs in GNU Emacs.
16437 With Ebib you can create, sort and manage your @file{.bib} database files, all
16438 within Emacs. It supports searching, multi-line field values and
16439 @samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
16440 with (La)TeX mode, Org mode and other Emacs editing modes.")
16441 ;; The Ebib source files are released under a BSD license with
16442 ;; the exception of org-ebib.el, which is released under the GNU
16443 ;; GPL.
16444 (license (list license:bsd-3
16445 license:gpl3+))))
16446
16447 (define-public emacs-biblio
16448 (package
16449 (name "emacs-biblio")
16450 (version "0.2")
16451 (source
16452 (origin
16453 (method git-fetch)
16454 (uri (git-reference
16455 (url "https://github.com/cpitclaudel/biblio.el")
16456 (commit version)))
16457 (file-name (git-file-name name version))
16458 (sha256
16459 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
16460 (build-system emacs-build-system)
16461 (propagated-inputs
16462 `(("emacs-dash" ,emacs-dash)
16463 ("emacs-let-alist" ,emacs-let-alist)))
16464 (home-page "https://github.com/cpitclaudel/biblio.el")
16465 (synopsis "Browse and import bibliographic references")
16466 (description "This package provides an extensible Emacs package for
16467 browsing and fetching references.
16468
16469 @file{biblio.el} makes it easy to browse and gather bibliographic references
16470 and publications from various sources, by keywords or by DOI. References are
16471 automatically fetched from well-curated sources, and formatted as BibTeX.")
16472 (license license:gpl3+)))
16473
16474 (define-public emacs-helm-bibtex
16475 (let ((commit "d4471232be26793fbf56c0ac3690b5f537c378b9")
16476 (revision "2"))
16477 (package
16478 (name "emacs-helm-bibtex")
16479 (version (string-append "2.0.0" "-" revision "."
16480 (string-take commit 7)))
16481 (source
16482 (origin
16483 (method git-fetch)
16484 (uri (git-reference
16485 (url "https://github.com/tmalsburg/helm-bibtex")
16486 (commit commit)))
16487 (file-name (git-file-name name version))
16488 (sha256
16489 (base32
16490 "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"))))
16491 (build-system emacs-build-system)
16492 (propagated-inputs
16493 `(("emacs-helm" ,emacs-helm)
16494 ("emacs-parsebib" ,emacs-parsebib)
16495 ("emacs-s" ,emacs-s)
16496 ("emacs-dash" ,emacs-dash)
16497 ("emacs-f" ,emacs-f)
16498 ("emacs-biblio" ,emacs-biblio)
16499 ("emacs-ivy" ,emacs-ivy)))
16500 (home-page "https://github.com/tmalsburg/helm-bibtex")
16501 (synopsis "Bibliography manager based on Helm")
16502 (description "This package provides bibliography manager for Emacs,
16503 based on Helm and the bibtex-completion backend.
16504
16505 Key features:
16506
16507 @itemize
16508 @item Quick access to your bibliography from within Emacs
16509 @item Powerful search capabilities
16510 @item Provides instant search results as you type
16511 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
16512 @item Open the PDFs, URLs, or DOIs associated with an entry
16513 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
16514 BibTeX entries, or plain text references at point, attach PDFs to emails
16515 @item Support for note taking
16516 @item Quick access to online bibliographic databases such as Pubmed,
16517 arXiv, Google Scholar, Library of Congress, etc.
16518 @item Imports BibTeX entries from CrossRef and other sources.
16519 @end itemize\n")
16520 (license license:gpl3+))))
16521
16522 (define-public emacs-ewmctrl
16523 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
16524 (package
16525 (name "emacs-ewmctrl")
16526 (version (git-version "0.0.1" "1" commit))
16527 (source
16528 (origin
16529 (method git-fetch)
16530 (uri (git-reference
16531 (url "https://github.com/flexibeast/ewmctrl")
16532 (commit commit)))
16533 (file-name (git-file-name name version))
16534 (sha256
16535 (base32
16536 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
16537 (build-system emacs-build-system)
16538 (arguments
16539 '(#:phases
16540 (modify-phases %standard-phases
16541 (add-after 'unpack 'patch-ewmctrl
16542 ;; This build phase makes sure ‘ewmctrl’ looks
16543 ;; for ‘wmctrl’ in the right place.
16544 (lambda _
16545 (let ((file "ewmctrl.el"))
16546 (chmod file #o644)
16547 (emacs-substitute-sexps file
16548 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
16549 (inputs
16550 `(("wmctrl" ,wmctrl)))
16551 (home-page "https://github.com/flexibeast/ewmctrl")
16552 (synopsis "Emacs interface to @code{wmctrl}")
16553 (description "@code{ewmctrl} provides an Emacs interface to
16554 @code{wmctrl} command-line window-management program.")
16555 (license license:gpl3+))))
16556
16557 (define-public emacs-erc-image
16558 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
16559 (revision "3"))
16560 (package
16561 (name "emacs-erc-image")
16562 (version (git-version "0" revision commit))
16563 (source
16564 (origin
16565 (method git-fetch)
16566 (uri (git-reference
16567 (url "https://github.com/kidd/erc-image.el")
16568 (commit commit)))
16569 (file-name (git-file-name name version))
16570 (sha256
16571 (base32
16572 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
16573 (build-system emacs-build-system)
16574 (arguments
16575 `(#:phases (modify-phases %standard-phases
16576 ;; The package autoloader fails to provide
16577 ;; the image module when handled by Guix.
16578 ;; Disable this phase, and let the package
16579 ;; handle the `eval-after-load' procedure.
16580 (delete 'make-autoloads))))
16581 (home-page "https://github.com/kidd/erc-image.el")
16582 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
16583 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
16584 and @code{erc-send-modify-hook} to download and show images.")
16585 (license license:gpl3+))))
16586
16587 (define-public emacs-helm-gtags
16588 (package
16589 (name "emacs-helm-gtags")
16590 (version "1.5.7")
16591 (source
16592 (origin
16593 (method git-fetch)
16594 (uri (git-reference
16595 (url "https://github.com/syohex/emacs-helm-gtags")
16596 (commit version)))
16597 (file-name (git-file-name name version))
16598 (sha256
16599 (base32 "1kc1jzk10nfd2v20g8dwnb6a944afrwdwnkzl06w4ba8k4yim7gi"))))
16600 (build-system emacs-build-system)
16601 (propagated-inputs
16602 `(("emacs-helm" ,emacs-helm)))
16603 (home-page "https://github.com/syohex/emacs-helm-gtags")
16604 (synopsis "Emacs Helm interface to GNU Global")
16605 (description
16606 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
16607 (license license:gpl3+)))
16608
16609 (define-public emacs-list-utils
16610 (package
16611 (name "emacs-list-utils")
16612 (version "0.4.6")
16613 (source
16614 (origin
16615 (method git-fetch)
16616 (uri (git-reference
16617 (url "https://github.com/rolandwalker/list-utils")
16618 (commit (string-append "v" version))))
16619 (file-name (git-file-name name version))
16620 (sha256
16621 (base32 "07hbz2md52ccy95gv4d5n6szrfmpfqf3w4kwqdg2cf54c7kgf7hw"))))
16622 (build-system emacs-build-system)
16623 (arguments
16624 `(#:phases
16625 (modify-phases %standard-phases
16626 (add-after 'unpack 'patch-require-cl
16627 (lambda _
16628 (substitute* "list-utils.el"
16629 (("\\(require 'cl\\)") "(require 'cl-lib)"))
16630 #t)))))
16631 (home-page "https://github.com/rolandwalker/list-utils")
16632 (synopsis "List-manipulation utility functions")
16633 (description "This package provides a list manipulation library for Emacs.")
16634 (license license:gpl3+)))
16635
16636 (define-public emacs-parsec
16637 ;; Last release is too old (2016).
16638 (let ((revision "0")
16639 (commit "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26"))
16640 (package
16641 (name "emacs-parsec")
16642 (version (git-version "0.1.3" revision commit))
16643 (source
16644 (origin
16645 (method git-fetch)
16646 (uri (git-reference
16647 (url "https://github.com/cute-jumper/parsec.el")
16648 (commit commit)))
16649 (file-name (git-file-name name version))
16650 (sha256
16651 (base32 "1g1s8s45g3kkbi3h7w0pmadmzdswb64mkdvdpg2lihg341kx37gm"))))
16652 (build-system emacs-build-system)
16653 (home-page "https://github.com/cute-jumper/parsec.el")
16654 (synopsis "Parser combinator library for Emacs Lisp")
16655 (description
16656 "Parsec is a parser combinator library for Emacs Lisp, similar to
16657 Haskell's Parsec library. It contains most of the parser combinators in
16658 Text.Parsec.Combinator, and more combinators can be added if necessary! Most
16659 of the parser combinators have the same behavior as their Haskell
16660 counterparts. Parsec also comes with a simple error handling mechanism so
16661 that it can display an error message showing how the parser fails.")
16662 (license license:gpl3+))))
16663
16664 (define-public emacs-move-text
16665 (package
16666 (name "emacs-move-text")
16667 (version "2.0.8")
16668 (source
16669 (origin
16670 (method git-fetch)
16671 (uri (git-reference
16672 (url "https://github.com/emacsfodder/move-text")
16673 (commit version)))
16674 (file-name (git-file-name name version))
16675 (sha256
16676 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
16677 (build-system emacs-build-system)
16678 (home-page "https://github.com/emacsfodder/move-text")
16679 (synopsis "Move current line or region with M-up or M-down")
16680 (description "This package provide functions to move the current line
16681 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
16682 region instead.")
16683 (license license:gpl3+)))
16684
16685 (define-public emacs-validate
16686 (package
16687 (name "emacs-validate")
16688 (version "1.0.5")
16689 (source (origin
16690 (method git-fetch)
16691 (uri (git-reference
16692 (url "https://github.com/Malabarba/validate.el")
16693 (commit version)))
16694 (file-name (git-file-name name version))
16695 (sha256
16696 (base32
16697 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
16698 (build-system emacs-build-system)
16699 (home-page "https://github.com/Malabarba/validate.el")
16700 (synopsis "Emacs library for scheme validation")
16701 (description "This Emacs library provides two functions that perform
16702 schema validation.")
16703 (license license:gpl3+)))
16704
16705 (define-public emacs-rainbow-blocks
16706 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
16707 (package
16708 (name "emacs-rainbow-blocks")
16709 (version (git-version "1.0.0" "1" commit))
16710 (source (origin
16711 (method git-fetch)
16712 (uri (git-reference
16713 (url "https://github.com/istib/rainbow-blocks")
16714 (commit commit)))
16715 (file-name (git-file-name name version))
16716 (sha256
16717 (base32
16718 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
16719 (build-system emacs-build-system)
16720 (home-page "https://github.com/istib/rainbow-blocks")
16721 (synopsis "Highlight sexp blocks")
16722 (description "Rainbow-blocks is an Emacs mode that highlights blocks
16723 made of parentheses, brackets, and braces according to their depth. Each
16724 successive level is highlighted in a different color. This makes it easy to
16725 orient yourself in the code, and tell which statements are at a given level.")
16726 (license license:gpl3+))))
16727
16728 (define-public emacs-hierarchy
16729 (package
16730 (name "emacs-hierarchy")
16731 (version "0.7.0")
16732 (source
16733 (origin
16734 (method git-fetch)
16735 (uri (git-reference
16736 (url "https://github.com/DamienCassou/hierarchy")
16737 (commit (string-append "v" version))))
16738 (file-name (git-file-name name version))
16739 (sha256
16740 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
16741 (build-system emacs-build-system)
16742 (native-inputs
16743 `(("emacs-buttercup" ,emacs-buttercup)))
16744 (arguments
16745 `(#:tests? #t
16746 #:test-command '("buttercup" "-L" ".")))
16747 (home-page "https://github.com/DamienCassou/hierarchy")
16748 (synopsis "Library to create and display hierarchy structures")
16749 (description "This package provides an Emacs library to create, query,
16750 navigate and display hierarchy structures.")
16751 (license license:gpl3+)))
16752
16753 (define-public emacs-tree-mode
16754 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
16755 (revision "1"))
16756 (package
16757 (name "emacs-tree-mode")
16758 (version (string-append "0.0.1" "-" revision "."
16759 (string-take commit 7)))
16760 (source
16761 (origin
16762 (method git-fetch)
16763 (uri (git-reference
16764 (url "https://github.com/emacsorphanage/tree-mode")
16765 (commit commit)))
16766 (file-name (git-file-name name version))
16767 (sha256
16768 (base32
16769 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
16770 (build-system emacs-build-system)
16771 (home-page "https://github.com/emacsorphanage/tree-mode")
16772 (synopsis "Emacs mode to manage tree widgets")
16773 (description
16774 "This package provides an Emacs library to manage tree widgets.")
16775 (license license:gpl3+))))
16776
16777 (define-public emacs-md4rd
16778 (package
16779 (name "emacs-md4rd")
16780 (version "0.3.1")
16781 (source (origin
16782 (method git-fetch)
16783 (uri (git-reference
16784 (url "https://github.com/ahungry/md4rd")
16785 (commit version)))
16786 (file-name (git-file-name name version))
16787 (sha256
16788 (base32
16789 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
16790 (propagated-inputs
16791 `(("emacs-hierarchy" ,emacs-hierarchy)
16792 ("emacs-request" ,emacs-request)
16793 ("emacs-dash" ,emacs-dash)
16794 ("emacs-s" ,emacs-s)
16795 ("emacs-tree-mode" ,emacs-tree-mode)))
16796 (build-system emacs-build-system)
16797 (home-page "https://github.com/ahungry/md4rd")
16798 (synopsis "Emacs Mode for Reddit")
16799 (description
16800 "This package allows reading Reddit from within Emacs interactively.")
16801 (license license:gpl3+)))
16802
16803 (define-public emacs-pulseaudio-control
16804 (let ((commit "a931533140547510decdc368f39b2d2b97ca725f")
16805 (revision "4"))
16806 (package
16807 (name "emacs-pulseaudio-control")
16808 (version (git-version "0.0.1" revision commit))
16809 (source
16810 (origin
16811 (method git-fetch)
16812 (uri (git-reference
16813 (url "https://github.com/flexibeast/pulseaudio-control")
16814 (commit commit)))
16815 (file-name (git-file-name name version))
16816 (sha256
16817 (base32
16818 "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76"))))
16819 (build-system emacs-build-system)
16820 (arguments
16821 '(#:phases (modify-phases %standard-phases
16822 (add-after 'unpack 'patch-file-name
16823 (lambda* (#:key inputs #:allow-other-keys)
16824 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
16825 (chmod "pulseaudio-control.el" #o600)
16826 (emacs-substitute-variables "pulseaudio-control.el"
16827 ("pulseaudio-control-pactl-path"
16828 (string-append pulseaudio "/bin/pactl")))
16829 #t))))))
16830 (inputs `(("pulseaudio" ,pulseaudio)))
16831 (home-page "https://github.com/flexibeast/pulseaudio-control")
16832 (synopsis "Control @code{pulseaudio} from Emacs")
16833 (description
16834 "This package allows controlling @code{pulseaudio} from Emacs.")
16835 (license license:gpl3+))))
16836
16837 (define-public emacs-datetime
16838 (package
16839 (name "emacs-datetime")
16840 (version "0.6.6")
16841 (source
16842 (origin
16843 (method git-fetch)
16844 (uri (git-reference
16845 (url "https://github.com/doublep/datetime")
16846 (commit version)))
16847 (file-name (git-file-name name version))
16848 (sha256
16849 (base32
16850 "0a3q667pybpmsjkbgf6287jwgpnx8brp5314wb8zbczw6ncygnbi"))))
16851 (build-system emacs-build-system)
16852 (arguments
16853 `(#:include (cons "^[^/]*\\.extmap$" %default-include)))
16854 (inputs
16855 `(("emacs-extmap" ,emacs-extmap)))
16856 (home-page "https://github.com/doublep/datetime/")
16857 (synopsis "Library to work with dates in Emacs")
16858 (description "Parsing, formatting, matching and recoding
16859 timestamps and date-time format strings library for Emacs.")
16860 (license license:gpl3+)))
16861
16862 (define-public emacs-org-mind-map
16863 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
16864 (revision "1"))
16865 (package
16866 (name "emacs-org-mind-map")
16867 (version (string-append "0.0.1" "-" revision "."
16868 (string-take commit 7)))
16869 (source
16870 (origin
16871 (method git-fetch)
16872 (uri (git-reference
16873 (url "https://github.com/theodorewiles/org-mind-map")
16874 (commit commit)))
16875 (file-name (git-file-name name version))
16876 (sha256
16877 (base32
16878 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
16879 (propagated-inputs
16880 `(("emacs-dash" ,emacs-dash)))
16881 (build-system emacs-build-system)
16882 (home-page "https://github.com/theodorewiles/org-mind-map")
16883 (synopsis "Create Graphviz directed graphs from Org files")
16884 (description
16885 "This package creates Graphviz directed graphs from Org files.")
16886 (license license:gpl3+))))
16887
16888 (define-public emacs-npm-mode
16889 (package
16890 (name "emacs-npm-mode")
16891 (version "0.6.0")
16892 (source
16893 (origin
16894 (method git-fetch)
16895 (uri (git-reference
16896 (url "https://github.com/mojochao/npm-mode")
16897 (commit version)))
16898 (file-name (git-file-name name version))
16899 (sha256
16900 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
16901 (build-system emacs-build-system)
16902 (home-page "https://github.com/mojochao/npm-mode")
16903 (synopsis "Minor mode for working with @code{npm} projects")
16904 (description
16905 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
16906 (license license:gpl3+)))
16907
16908 (define-public emacs-itail
16909 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
16910 (revision "1"))
16911 (package
16912 (name "emacs-itail")
16913 (version (string-append "0.0.1" "-" revision "."
16914 (string-take commit 7)))
16915 (source
16916 (origin
16917 (method git-fetch)
16918 (uri (git-reference
16919 (url "https://github.com/re5et/itail")
16920 (commit commit)))
16921 (file-name (git-file-name name version))
16922 (sha256
16923 (base32
16924 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
16925 (build-system emacs-build-system)
16926 (home-page "https://github.com/re5et/itail")
16927 (synopsis "Interactive @code{tail} Emacs mode")
16928 (description "@code{itail} provides interactive @code{tail} mode
16929 that allows you to filter the tail with unix pipes and highlight the
16930 contents of the tailed file. Works locally or on remote files using
16931 tramp.")
16932 (license license:gpl3+))))
16933
16934 (define-public emacs-loop
16935 (package
16936 (name "emacs-loop")
16937 (version "1.3")
16938 (source
16939 (origin
16940 (method git-fetch)
16941 (uri (git-reference
16942 (url "https://github.com/Wilfred/loop.el")
16943 (commit version)))
16944 (file-name (git-file-name name version))
16945 (sha256
16946 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
16947 (build-system emacs-build-system)
16948 (native-inputs
16949 `(("emacs-ert-runner" ,emacs-ert-runner)
16950 ("emacs-undercover" ,emacs-undercover)))
16951 (arguments
16952 `(#:tests? #t
16953 #:test-command '("ert-runner")))
16954 (home-page "https://github.com/Wilfred/loop.el")
16955 (synopsis "Imperative loop structures for Emacs")
16956 (description "Loop structures familiar to users of other languages. This
16957 library adds a selection of popular loop structures as well as break and
16958 continue.")
16959 (license license:gpl3+)))
16960
16961 (define-public emacs-elisp-refs
16962 (package
16963 (name "emacs-elisp-refs")
16964 (version "1.3")
16965 (source
16966 (origin
16967 (method git-fetch)
16968 (uri (git-reference
16969 (url "https://github.com/Wilfred/elisp-refs")
16970 (commit version)))
16971 (file-name (git-file-name name version))
16972 (sha256
16973 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
16974 (build-system emacs-build-system)
16975 (propagated-inputs
16976 `(("emacs-dash" ,emacs-dash)
16977 ("emacs-f" ,emacs-f)
16978 ("emacs-list-utils" ,emacs-list-utils)
16979 ("emacs-loop" ,emacs-loop)
16980 ("emacs-s" ,emacs-s)
16981 ("emacs-shut-up" ,emacs-shut-up)))
16982 (native-inputs
16983 `(("emacs-ert-runner" ,emacs-ert-runner)
16984 ("emacs-undercover" ,emacs-undercover)))
16985 (arguments
16986 `(#:tests? #t
16987 #:test-command '("ert-runner")
16988 #:phases
16989 (modify-phases %standard-phases
16990 (add-before 'check 'disable-refs-next-match-test
16991 ;; Hack to disable the failing test for emacs27
16992 ;; https://github.com/Wilfred/elisp-refs/issues/29
16993 (lambda _
16994 (substitute* "test/unit-test.el"
16995 (("ert-deftest elisp-refs-next-match")
16996 "defun elisp-refs-next-match"))
16997 #t)))))
16998 (home-page "https://github.com/Wilfred/elisp-refs")
16999 (synopsis "Find callers of elisp functions or macros")
17000 (description "Find references to functions, macros or variables. Unlike a
17001 dumb text search, @code{elisp-refs} actually parses the code, so it's never
17002 confused by comments or @code{foo-bar} matching @code{foo}.")
17003 (license license:gpl3+)))
17004
17005 (define-public emacs-crdt
17006 (let ((commit "44068ae505adf2c3a7bdbf6723a25fc45d6d1666")
17007 (revision "0"))
17008 (package
17009 (name "emacs-crdt")
17010 (version (git-version "0.0.0" revision commit))
17011 (source
17012 (origin
17013 (method git-fetch)
17014 (uri (git-reference
17015 (url "https://code.librehq.com/qhong/crdt.el")
17016 (commit commit)))
17017 (file-name (git-file-name name version))
17018 (sha256
17019 (base32 "130fkhvi757pfnbz70g6nw2n71k89cwwx7yzvsd5v177228c8w7w"))))
17020 (build-system emacs-build-system)
17021 (home-page "https://code.librehq.com/qhong/crdt.el")
17022 (synopsis "Real-time collaborative editing environment")
17023 (description
17024 "@code{crdt.el} is a real-time collaborative editing environment for
17025 Emacs using Conflict-free Replicated Data Types. With it, you can share
17026 multiple buffer in one session, and see other users’ cursor and region. It
17027 also synchronizes Org mode folding status. It should work with all of Org
17028 mode.")
17029 (license license:gpl3+))))
17030
17031 (define-public emacs-crux
17032 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
17033 (revision "2"))
17034 (package
17035 (name "emacs-crux")
17036 (version (git-version "0.3.0" revision commit))
17037 (source
17038 (origin
17039 (method git-fetch)
17040 (uri (git-reference
17041 (url "https://github.com/bbatsov/crux")
17042 (commit commit)))
17043 (file-name (git-file-name name version))
17044 (sha256
17045 (base32
17046 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
17047 (build-system emacs-build-system)
17048 (home-page "https://github.com/bbatsov/crux")
17049 (synopsis "Collection of useful functions for Emacs")
17050 (description
17051 "@code{crux} provides a collection of useful functions for Emacs.")
17052 (license license:gpl3+))))
17053
17054 (define-public emacs-edit-server
17055 (package
17056 (name "emacs-edit-server")
17057 (version "1.16")
17058 (source
17059 (origin
17060 (method git-fetch)
17061 (uri (git-reference
17062 (url "https://github.com/stsquad/emacs_chrome")
17063 (commit (string-append "v" version))))
17064 (file-name (git-file-name name version))
17065 (sha256
17066 (base32 "0m7gj224sqxjjw5sxky92fnrxg9jy4nf33kwf0aqxnfhqlgh545k"))))
17067 (build-system emacs-build-system)
17068 (arguments
17069 `(#:phases
17070 (modify-phases %standard-phases
17071 (add-after 'unpack 'chdir-elisp
17072 ;; Elisp directory is not in root of the source.
17073 (lambda _
17074 (chdir "servers"))))))
17075 (propagated-inputs `(("emacs-ert-async" ,emacs-ert-async)))
17076 (home-page "https://github.com/stsquad/emacs_chrome")
17077 (synopsis "Server that responds to edit requests from Chromium")
17078 (description
17079 "This package provides an edit server to respond to requests from Emacs.")
17080 (license license:gpl3+)))
17081
17082 (define-public emacs-m-buffer-el
17083 (package
17084 (name "emacs-m-buffer-el")
17085 (version "0.15")
17086 (source
17087 (origin
17088 (method git-fetch)
17089 (uri (git-reference
17090 (url "https://github.com/phillord/m-buffer-el")
17091 (commit (string-append "v" version))))
17092 (file-name (git-file-name name version))
17093 (sha256
17094 (base32
17095 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
17096 (arguments
17097 `(#:phases
17098 (modify-phases %standard-phases
17099 (add-before 'install 'check
17100 (lambda* (#:key inputs #:allow-other-keys)
17101 (invoke "emacs" "--batch" "-L" "."
17102 "-l" "test/m-buffer-test.el"
17103 "-l" "test/m-buffer-at-test.el"
17104 "-f" "ert-run-tests-batch-and-exit"))))))
17105 (build-system emacs-build-system)
17106 (home-page "https://github.com/phillord/m-buffer-el")
17107 (synopsis "List oriented buffer operations for Emacs")
17108 (description "@code{m-buffer} provides a set of list-orientated functions
17109 for operating over the contents of Emacs buffers.")
17110 (license license:gpl3+)))
17111
17112 (define-public emacs-let-alist
17113 (package
17114 (name "emacs-let-alist")
17115 (version "1.0.6")
17116 (source
17117 (origin
17118 (method url-fetch)
17119 (uri (string-append
17120 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
17121 (sha256
17122 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
17123 (build-system emacs-build-system)
17124 (home-page "https://elpa.gnu.org/packages/let-alist.html")
17125 (synopsis "Easily let-bind values of an assoc-list by their names")
17126 (description "This package offers a single macro, @code{let-alist}. This
17127 macro takes a first argument (whose value must be an alist) and a body.")
17128 (license license:gpl3+)))
17129
17130 (define-public emacs-esup
17131 (let ((commit "0de8af8233d9ce1b67f05a50f25c481c4f1118d8")
17132 (revision "1"))
17133 (package
17134 (name "emacs-esup")
17135 (version (git-version "0.7.1" revision commit))
17136 (source
17137 (origin
17138 (method git-fetch)
17139 (uri (git-reference
17140 (url "https://github.com/jschaf/esup")
17141 (commit commit)))
17142 (file-name (git-file-name name version))
17143 (sha256
17144 (base32
17145 "01khb3xyj0ylwib6ryzzvqmkh5wvzxiq2n3l0s3h9zv7wx849bzv"))))
17146 (build-system emacs-build-system)
17147 (native-inputs
17148 `(("emacs-noflet" ,emacs-noflet)
17149 ("emacs-undercover" ,emacs-undercover)
17150 ("emacs-buttercup" ,emacs-buttercup)))
17151 (propagated-inputs
17152 `(("emacs-dash" ,emacs-dash)))
17153 (arguments
17154 `(#:tests? #t
17155 #:test-command '("buttercup" "-L" ".")))
17156 (home-page "https://github.com/jschaf/esup")
17157 (synopsis "Emacs start up profiler")
17158 (description "Benchmark Emacs Startup time without ever leaving
17159 your Emacs.")
17160 (license license:gpl2+))))
17161
17162 (define-public emacs-restart-emacs
17163 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
17164 (revision "1"))
17165 (package
17166 (name "emacs-restart-emacs")
17167 (version (git-version "0.1.1" revision commit))
17168 (source
17169 (origin
17170 (method git-fetch)
17171 (uri (git-reference
17172 (url "https://github.com/iqbalansari/restart-emacs")
17173 (commit commit)))
17174 (file-name (git-file-name name version))
17175 (sha256
17176 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
17177 (build-system emacs-build-system)
17178 (home-page "https://github.com/iqbalansari/restart-emacs")
17179 (synopsis "Restart Emacs from within Emacs")
17180 (description "This package provides a simple command to restart Emacs from
17181 within Emacs.")
17182 (license license:gpl3+))))
17183
17184 (define-public emacs-svg-tag-mode
17185 (let ((commit "87489d28450559078aa15b4a435143a297508e48")
17186 (revision "1"))
17187 (package
17188 (name "emacs-svg-tag-mode")
17189 (version (git-version "0.1" revision commit))
17190 (source
17191 (origin
17192 (method git-fetch)
17193 (uri (git-reference
17194 (url "https://github.com/rougier/svg-tag-mode")
17195 (commit commit)))
17196 (file-name (git-file-name name version))
17197 (sha256
17198 (base32 "0gyhmv60dx0zxx4bmhzsd7q5vfnkpfwlj6539bn272fwcr7zncp8"))))
17199 (build-system emacs-build-system)
17200 (home-page "https://github.com/rougier/svg-tag-mode")
17201 (synopsis "Replace keywords with SVG tags")
17202 (description "This package provides a minor mode that replaces keywords
17203 or expressions with SVG rounded box labels that are fully customizable.")
17204 (license license:gpl3+))))
17205
17206 (define-public emacs-svg-icon
17207 (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7")
17208 (revision "1"))
17209 (package
17210 (name "emacs-svg-icon")
17211 (version (git-version "0.1" revision commit))
17212 (source
17213 (origin
17214 (method git-fetch)
17215 (uri (git-reference
17216 (url "https://github.com/rougier/emacs-svg-icon")
17217 (commit commit)))
17218 (file-name (git-file-name name version))
17219 (sha256
17220 (base32 "1qzqfa8xyw1nkb89kbvw9qcgdwr8g017n8gf3yzwn816qhkfkjrj"))))
17221 (build-system emacs-build-system)
17222 (home-page "https://github.com/rougier/emacs-svg-icon")
17223 (synopsis "Emacs library to create SVG icons on the fly")
17224 (description "This library allows creating SVG icons by parsing remote
17225 collections whose license are compatibles with Emacs. The default size of an
17226 icon is exactly 2x1 characters such that it can be inserted inside a text
17227 without disturbing alignment.")
17228 (license (list license:gpl3+)))))
17229
17230 (define-public emacs-sourcemap
17231 (package
17232 (name "emacs-sourcemap")
17233 (version "0.03")
17234 (source
17235 (origin
17236 (method git-fetch)
17237 (uri (git-reference
17238 (url "https://github.com/syohex/emacs-sourcemap")
17239 (commit version)))
17240 (file-name (git-file-name name version))
17241 (sha256
17242 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
17243 (build-system emacs-build-system)
17244 (home-page "https://github.com/syohex/emacs-sourcemap")
17245 (synopsis "Sourcemap parser")
17246 (description "Sourcemap parser")
17247 (license license:gpl3+)))
17248
17249 (define-public emacs-macrostep
17250 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
17251 (package
17252 (name "emacs-macrostep")
17253 (version (git-version "0.9" "1" commit))
17254 (source (origin
17255 (method git-fetch)
17256 (uri (git-reference
17257 (url "https://github.com/joddie/macrostep")
17258 (commit commit)))
17259 (file-name (git-file-name name version))
17260 (sha256
17261 (base32
17262 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
17263 (build-system emacs-build-system)
17264 (arguments
17265 '(#:phases
17266 (modify-phases %standard-phases
17267 (add-before 'check 'remove-test
17268 ;; Fails because of requirement ‘/bin/sh’.
17269 (lambda _
17270 (let ((file "macrostep-test.el"))
17271 (chmod file #o644)
17272 (emacs-batch-edit-file file
17273 `(progn (progn (goto-char (point-min))
17274 (re-search-forward
17275 "(ert-deftest macrostep-expand-c-macros")
17276 (beginning-of-line)
17277 (kill-sexp))
17278 (basic-save-buffer))))))
17279 (add-before 'install 'check
17280 (lambda _
17281 (invoke "emacs" "--batch" "-L" "."
17282 "-l" "macrostep-test.el"
17283 "-f" "ert-run-tests-batch-and-exit"))))))
17284 (home-page "https://github.com/joddie/macrostep")
17285 (synopsis "Interactive macro-expander for Emacs")
17286 (description "@code{macrostep} is an Emacs minor mode for interactively
17287 stepping through the expansion of macros in Emacs Lisp source code. It lets
17288 you see exactly what happens at each step of the expansion process by
17289 pretty-printing the expanded forms inline in the source buffer, which is
17290 temporarily read-only while macro expansions are visible. You can expand and
17291 collapse macro forms one step at a time, and evaluate or instrument the
17292 expansions for debugging with Edebug as normal (but see “Bugs and known
17293 limitations”, below). Single-stepping through the expansion is particularly
17294 useful for debugging macros that expand into another macro form. These can be
17295 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
17296 until the top-level form is no longer a macro call.")
17297 (license license:gpl3+))))
17298
17299 (define-public emacs-parent-mode
17300 (package
17301 (name "emacs-parent-mode")
17302 (version "2.3")
17303 (source
17304 (origin
17305 (method git-fetch)
17306 (uri (git-reference
17307 (url "https://github.com/Fanael/parent-mode")
17308 (commit version)))
17309 (file-name (git-file-name name version))
17310 (sha256
17311 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
17312 (build-system emacs-build-system)
17313 (home-page "https://github.com/Fanael/parent-mode")
17314 (synopsis "Get major mode's parent modes")
17315 (description "Get major mode's parent modes")
17316 (license license:gpl3+)))
17317
17318 (define-public emacs-lacarte
17319 (package
17320 (name "emacs-lacarte")
17321 (version "0.1")
17322 (source (origin
17323 (method url-fetch)
17324 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
17325 (sha256
17326 (base32
17327 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
17328 (build-system emacs-build-system)
17329 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
17330 (synopsis "Execute menu items as commands, with completion")
17331 (description "Execute menu items as commands, with completion.")
17332 (license license:gpl3)))
17333
17334 (define-public emacs-isearch-prop
17335 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
17336 (revision "2"))
17337 (package
17338 (name "emacs-isearch-prop")
17339 (version (git-version "0" revision commit))
17340 (source
17341 (origin
17342 (method git-fetch)
17343 (uri (git-reference
17344 (url "https://github.com/emacsmirror/isearch-prop")
17345 (commit commit)))
17346 (file-name (git-file-name name version))
17347 (sha256
17348 (base32
17349 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
17350 (build-system emacs-build-system)
17351 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
17352 (synopsis "Extensions to @code{isearch.el}")
17353 (description "The Emacs library @code{isearch-prop.el} lets you search within
17354 contexts. You can limit incremental search to a set of zones of
17355 buffer text, search contexts that in effect constitute a multi-region.
17356 These zones can be defined in various ways, including some ways
17357 provided specially by this library.")
17358 (license license:gpl3+))))
17359
17360 (define-public emacs-company-lua
17361 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
17362 (revision "2"))
17363 (package
17364 (name "emacs-company-lua")
17365 (version (git-version "0.1" "2" commit))
17366 (source
17367 (origin
17368 (method git-fetch)
17369 (uri (git-reference
17370 (url "https://github.com/ptrv/company-lua")
17371 (commit commit)))
17372 (file-name (git-file-name name version))
17373 (sha256
17374 (base32
17375 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
17376 (build-system emacs-build-system)
17377 (propagated-inputs
17378 `(("emacs-company" ,emacs-company)
17379 ("emacs-s" ,emacs-s)
17380 ("emacs-f" ,emacs-f)
17381 ("emacs-lua-mode" ,emacs-lua-mode)))
17382 (arguments
17383 `(#:include (cons* "^lua\\/" %default-include)))
17384 (home-page "https://github.com/ptrv/company-lua")
17385 (synopsis "Company backend for Lua")
17386 (description
17387 "This package provides Company backend for Lua programming language.")
17388 (license license:gpl3+))))
17389
17390 (define-public emacs-beginend
17391 (package
17392 (name "emacs-beginend")
17393 (version "2.2.0")
17394 (source
17395 (origin
17396 (method git-fetch)
17397 (uri (git-reference
17398 (url "https://github.com/DamienCassou/beginend")
17399 (commit (string-append "v" version))))
17400 (file-name (git-file-name name version))
17401 (sha256
17402 (base32 "1r9033zlx2q2dk3bjz004flxdiw79qiswq0zqdjnlzwassvk0f35"))))
17403 ;; TODO: Run tests.
17404 (build-system emacs-build-system)
17405 (inputs
17406 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
17407 (home-page "https://github.com/DamienCassou/beginend")
17408 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
17409 (description "@code{beginend} redefines @code{M-<} and @code{M->}
17410 keybindings for Emacs modes so that point moves to meaningful
17411 locations. Redefined keys are still accessible by pressing the same
17412 key again.")
17413 (license license:gpl3+)))
17414
17415 (define-public emacs-mbsync
17416 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
17417 (revision "4"))
17418 (package
17419 (name "emacs-mbsync")
17420 (version (git-version "0.1.2" revision commit))
17421 (source
17422 (origin
17423 (method git-fetch)
17424 (uri (git-reference
17425 (url "https://github.com/dimitri/mbsync-el")
17426 (commit commit)))
17427 (file-name (git-file-name name version))
17428 (sha256
17429 (base32
17430 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
17431 (build-system emacs-build-system)
17432 (home-page "https://github.com/dimitri/mbsync-el")
17433 (synopsis "Interface to mbsync for Emacs")
17434 (description "This package calls @code{mbsync} from
17435 within Emacs.")
17436 (license license:gpl3+))))
17437
17438 (define-public emacs-ibuffer-projectile
17439 (package
17440 (name "emacs-ibuffer-projectile")
17441 (version "0.3")
17442 (source
17443 (origin
17444 (method git-fetch)
17445 (uri (git-reference
17446 (url "https://github.com/purcell/ibuffer-projectile")
17447 (commit version)))
17448 (file-name (git-file-name name version))
17449 (sha256
17450 (base32
17451 "18cqxnwzzbkcj9jcaw89b210432yzhrl1dwsv48p0jbhfnr17k41"))))
17452 (build-system emacs-build-system)
17453 (propagated-inputs
17454 `(("emacs-projectile" ,emacs-projectile)))
17455 (home-page "https://github.com/purcell/ibuffer-projectile")
17456 (synopsis "Group ibuffer's list by projectile root")
17457 (description "Adds functionality to Emacs @code{ibuffer} for
17458 grouping buffers by their projectile root directory.")
17459 (license license:gpl3+)))
17460
17461 (define-public emacs-ibuffer-vc
17462 (package
17463 (name "emacs-ibuffer-vc")
17464 (version "0.11")
17465 (source
17466 (origin
17467 (method git-fetch)
17468 (uri (git-reference
17469 (url "https://github.com/purcell/ibuffer-vc")
17470 (commit version)))
17471 (file-name (git-file-name name version))
17472 (sha256
17473 (base32 "1mgn7b786j4hwq1ks012hxxgvrfn5rz90adi2j190gmjz60rc5g5"))))
17474 (build-system emacs-build-system)
17475 (home-page "https://github.com/purcell/ibuffer-vc")
17476 (synopsis "Group Ibuffer's list by revision control system indications")
17477 (description
17478 "Ibuffer-VC adds functionality to Ibuffer for grouping buffers by their
17479 parent revision control system root directory, and for displaying, or sorting,
17480 by the status of listed files.")
17481 (license license:gpl3+)))
17482
17483 (define-public emacs-elm-mode
17484 (package
17485 (name "emacs-elm-mode")
17486 (version "0.21.0")
17487 (source
17488 (origin
17489 (method git-fetch)
17490 (uri
17491 (git-reference
17492 (url "https://github.com/jcollard/elm-mode")
17493 (commit (string-append "v" version))))
17494 (file-name (git-file-name name version))
17495 (sha256
17496 (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
17497 (propagated-inputs
17498 `(("emacs-dash" ,emacs-dash)
17499 ("emacs-f" ,emacs-f)
17500 ("emacs-reformatter" ,emacs-reformatter)
17501 ("emacs-s" ,emacs-s)))
17502 (build-system emacs-build-system)
17503 (home-page "https://github.com/jcollard/elm-mode")
17504 (synopsis "Emacs major mode for editing Elm source code")
17505 (description
17506 "This package provides a major mode for editing Elm source code, and
17507 working with common core and third-party Elm tools. Its features are:
17508
17509 @itemize
17510 @item Syntax highlighting
17511 @item Intelligent indentation
17512 @item Integration with elm-make
17513 @item Integration with elm-repl
17514 @item Integration with elm-reactor
17515 @item Integration with elm-package
17516 @item Integration with elm-oracle
17517 @item Integration with elm-format
17518 @item Integration with elm-test
17519 @end itemize")
17520 (license license:gpl3+)))
17521
17522 (define-public emacs-helm-mode-manager
17523 (package
17524 (name "emacs-helm-mode-manager")
17525 (version "1.0.0")
17526 (source
17527 (origin
17528 (method git-fetch)
17529 (uri (git-reference
17530 (url "https://github.com/istib/helm-mode-manager")
17531 (commit version)))
17532 (file-name (git-file-name name version))
17533 (sha256
17534 (base32
17535 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
17536 (build-system emacs-build-system)
17537 (propagated-inputs
17538 `(("emacs-helm" ,emacs-helm)))
17539 (home-page "https://github.com/istib/helm-mode-manager/")
17540 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
17541 (description "This package provides a Helm interface for toggling Emacs
17542 major or minor mode.
17543
17544 @itemize
17545 @item @code{helm-switch-major-mode} list of all major modes
17546 @item @code{helm-enable-minor-mode} list of all inactive minor modes
17547 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
17548 @end itemize\n
17549
17550 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
17551 documentation.")
17552 (license license:gpl3+)))
17553
17554 (define-public emacs-hy-mode
17555 (package
17556 (name "emacs-hy-mode")
17557 (version "1.0.4")
17558 (source
17559 (origin
17560 (method git-fetch)
17561 (uri (git-reference
17562 (url "https://github.com/hylang/hy-mode")
17563 (commit (string-append "v" version))))
17564 (file-name (git-file-name name version))
17565 (sha256
17566 (base32 "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"))))
17567 (build-system emacs-build-system)
17568 (propagated-inputs
17569 `(("emacs-dash" ,emacs-dash)
17570 ("emacs-s" ,emacs-s)))
17571 (home-page "https://github.com/hylang/hy-mode")
17572 (synopsis "Major mode for Hylang")
17573 (description "This package provides a major mode for Hylang.")
17574 (license license:gpl3+)))
17575
17576 (define-public emacs-web-beautify
17577 (package
17578 (name "emacs-web-beautify")
17579 (version "0.3.2")
17580 (source
17581 (origin
17582 (method git-fetch)
17583 (uri (git-reference
17584 (url "https://github.com/yasuyk/web-beautify")
17585 (commit version)))
17586 (file-name (git-file-name name version))
17587 (sha256
17588 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
17589 (build-system emacs-build-system)
17590 (home-page "https://github.com/yasuyk/web-beautify")
17591 (synopsis "Format HTML, CSS and JavaScript, JSON")
17592 (description "This package provides an Emacs functions to format HTML,
17593 CSS, JavaScript, JSON.")
17594 (license license:gpl3+)))
17595
17596 (define-public emacs-helm-shell-history
17597 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
17598 (package
17599 (name "emacs-helm-shell-history")
17600 (version (git-version "0.1" "1" commit))
17601 (source
17602 (origin
17603 (method git-fetch)
17604 (uri (git-reference
17605 (url "https://github.com/yuutayamada/helm-shell-history")
17606 (commit commit)))
17607 (file-name (git-file-name name version))
17608 (sha256
17609 (base32
17610 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
17611 (build-system emacs-build-system)
17612 (arguments
17613 '(#:phases
17614 (modify-phases %standard-phases
17615 (add-before 'check 'patch-helm-shell-history-file
17616 (lambda _
17617 (let ((file "helm-shell-history.el"))
17618 (chmod file #o644)
17619 (emacs-substitute-sexps file
17620 ("(defvar helm-shell-history-file"
17621 `(expand-file-name "~/.bash_history"))))
17622 #t)))))
17623 (propagated-inputs
17624 `(("emacs-helm" ,emacs-helm)))
17625 (home-page "https://github.com/yuutayamada/helm-shell-history")
17626 (synopsis "Find shell history with Emacs Helm")
17627 (description "This package provides an Emacs Helm interface to search
17628 throw a shell history.")
17629 (license license:gpl3+))))
17630
17631 (define-public emacs-discover-my-major
17632 (package
17633 (name "emacs-discover-my-major")
17634 (version "1.0")
17635 (source
17636 (origin
17637 (method git-fetch)
17638 (uri (git-reference
17639 (url "https://framagit.org/steckerhalter/discover-my-major.git/")
17640 (commit version)))
17641 (file-name (git-file-name name version))
17642 (sha256
17643 (base32
17644 "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4"))))
17645 (build-system emacs-build-system)
17646 (propagated-inputs
17647 `(("emacs-makey" ,emacs-makey)))
17648 (home-page "https://framagit.org/steckerhalter/discover-my-major/")
17649 (synopsis "Discover key bindings for the current Emacs major mode")
17650 (description "This package discovers key bindings and
17651 their meaning for the current Emacs major-mode.")
17652 (license license:gpl3+)))
17653
17654 (define-public emacs-org-ref
17655 ;; No release since June 2017.
17656 (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f")
17657 (revision "2"))
17658 (package
17659 (name "emacs-org-ref")
17660 (version (git-version "1.1.1" revision commit))
17661 (source
17662 (origin
17663 (method git-fetch)
17664 (uri (git-reference
17665 (url "https://github.com/jkitchin/org-ref")
17666 (commit commit)))
17667 (file-name (git-file-name name version))
17668 (sha256
17669 (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx"))))
17670 (build-system emacs-build-system)
17671 (propagated-inputs
17672 `(("emacs-dash" ,emacs-dash)
17673 ("emacs-f" ,emacs-f)
17674 ("emacs-helm" ,emacs-helm)
17675 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
17676 ("emacs-htmlize" ,emacs-htmlize)
17677 ("emacs-hydra" ,emacs-hydra)
17678 ("emacs-ivy" ,emacs-ivy)
17679 ("emacs-key-chord" ,emacs-key-chord)
17680 ("emacs-pdf-tools" ,emacs-pdf-tools)
17681 ("emacs-s" ,emacs-s)))
17682 (home-page "https://github.com/jkitchin/org-ref")
17683 (synopsis "Citations, cross-references and bibliographies in Org mode")
17684 (description
17685 "Org Ref is an Emacs library that provides rich support for citations,
17686 labels and cross-references in Org mode.
17687
17688 The basic idea of Org Ref is that it defines a convenient interface to insert
17689 citations from a reference database (e.g., from BibTeX files), and a set of
17690 functional Org links for citations, cross-references and labels that export
17691 properly to LaTeX, and that provide clickable functionality to the user. Org
17692 Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also
17693 use RefTeX.
17694
17695 It also provides a fairly large number of utilities for finding bad citations,
17696 extracting BibTeX entries from citations in an Org file, and functions to
17697 create and modify BibTeX entries from a variety of sources, most notably from
17698 a DOI.
17699
17700 Org Ref is especially suitable for Org documents destined for LaTeX export and
17701 scientific publication. Org Ref is also useful for research documents and
17702 notes.")
17703 (license license:gpl3+))))
17704
17705 (define-public emacs-org-reveal
17706 (let ((commit "84039bb499290926511b04749882ecb5eda45a0c"))
17707 (package
17708 (name "emacs-org-reveal")
17709 (version (git-version "20200607" "1" commit))
17710 (source (origin
17711 (method git-fetch)
17712 (uri (git-reference
17713 (url "https://github.com/yjwen/org-reveal")
17714 (commit commit)))
17715 (file-name (git-file-name name version))
17716 (sha256
17717 (base32
17718 "1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8"))))
17719 (build-system emacs-build-system)
17720 (home-page "https://github.com/yjwen/org-reveal")
17721 (synopsis "Org and Reveal.js powered HTML presentation tool")
17722 (description "Org-Reveal is a @command{org-mode} extension that allows
17723 to create beautiful presentations (slides) with 3D effects from simple but
17724 powerful Org contents.")
17725 (license license:gpl3+))))
17726
17727 (define-public emacs-org-re-reveal
17728 (package
17729 (name "emacs-org-re-reveal")
17730 (version "3.7.0")
17731 (source (origin
17732 (method git-fetch)
17733 (uri (git-reference
17734 (url "https://gitlab.com/oer/org-re-reveal")
17735 (commit version)))
17736 (file-name (git-file-name name version))
17737 (sha256
17738 (base32
17739 "1vzn0l8ig4rzh5h8j7kxn8kslqrij97qqv98fbnlwmrw4z87v8dr"))))
17740 (build-system emacs-build-system)
17741 (propagated-inputs
17742 `(("emacs-htmlize" ,emacs-htmlize)
17743 ("emacs-org" ,emacs-org)))
17744 (home-page "https://gitlab.com/oer/org-re-reveal")
17745 (synopsis "Build HTML presentations with reveal.js from Org source files")
17746 (description "This project started as fork of org-reveal. It provides an
17747 export back-end for HTML presentations with reveal.js from Org mode source
17748 files.")
17749 (license license:gpl3+)))
17750
17751 (define-public emacs-add-hooks
17752 (package
17753 (name "emacs-add-hooks")
17754 (version "3.1.1")
17755 (source
17756 (origin
17757 (method git-fetch)
17758 (uri (git-reference
17759 (url "https://github.com/nickmccurdy/add-hooks")
17760 (commit version)))
17761 (file-name (git-file-name name version))
17762 (sha256
17763 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
17764 (build-system emacs-build-system)
17765 (home-page "https://github.com/nickmccurdy/add-hooks/")
17766 (synopsis "Emacs function for setting multiple hooks")
17767 (description "This package provides a @code{add-hooks} function tidies up
17768 duplicate hook and function names further into a single declarative call.")
17769 (license license:gpl3+)))
17770
17771 (define-public emacs-fancy-battery
17772 (package
17773 (name "emacs-fancy-battery")
17774 (version "0.2")
17775 (source
17776 (origin
17777 (method git-fetch)
17778 (uri (git-reference
17779 (url "https://github.com/emacsorphanage/fancy-battery")
17780 (commit version)))
17781 (file-name (git-file-name name version))
17782 (sha256
17783 (base32 "05lwcwf412m717yhwpjrswqkm8c3i7391rmiwv2k8xc1vk6dpp4g"))))
17784 (build-system emacs-build-system)
17785 (home-page "https://github.com/emacsorphanage/fancy-battery")
17786 (synopsis "Display battery status in Emacs mode line")
17787 (description "This package provides @code{fancy-battery-mode} which is
17788 like the built-in @code{display-battery-mode}, but more fancy. It just the
17789 remaining time, uses colours to indicate the status of the battery, and is
17790 more customizable.")
17791 (license license:gpl3)))
17792
17793 (define-public emacs-fancy-narrow
17794 (package
17795 (name "emacs-fancy-narrow")
17796 (version "0.9.5")
17797 (source
17798 (origin
17799 (method git-fetch)
17800 (uri (git-reference
17801 (url "https://github.com/Malabarba/fancy-narrow")
17802 (commit version)))
17803 (file-name (git-file-name name version))
17804 (sha256
17805 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
17806 (build-system emacs-build-system)
17807 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
17808 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
17809 (description
17810 "Unlike @code{narrow-to-region}, which completely hides text outside
17811 the narrowed region, this package simply de-emphasizes the text, makes it
17812 read-only, and makes it unreachable. This leads to a much more natural
17813 feeling where the region stays static (instead of being brutally moved to a
17814 blank slate) and is clearly highlighted with respect to the rest of the
17815 buffer.")
17816 (license license:gpl2+)))
17817
17818 (define-public emacs-know-your-http-well
17819 (package
17820 (name "emacs-know-your-http-well")
17821 (version "0.5.0")
17822 (source
17823 (origin
17824 (method git-fetch)
17825 (uri (git-reference
17826 (url "https://github.com/for-GET/know-your-http-well")
17827 (commit (string-append "v" version))))
17828 (file-name (git-file-name name version))
17829 (sha256
17830 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
17831 (arguments
17832 `(#:phases
17833 (modify-phases %standard-phases
17834 (add-after 'unpack 'install-json-files
17835 (lambda* (#:key outputs #:allow-other-keys)
17836 (for-each (lambda (directory)
17837 (copy-recursively directory
17838 (string-append
17839 (assoc-ref outputs "out")
17840 directory)))
17841 '("js" "json"))))
17842 (add-after 'unpack 'chdir-elisp
17843 ;; Elisp directory is not in root of the source.
17844 (lambda _
17845 (chdir "emacs"))))))
17846 (build-system emacs-build-system)
17847 (home-page "https://github.com/for-GET/know-your-http-well")
17848 (synopsis "Meaning of HTTP headers codes")
17849 (description "Meaning of HTTP headers codes.")
17850 (license license:gpl3+)))
17851
17852 (define-public emacs-navi-mode
17853 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
17854 (package
17855 (name "emacs-navi-mode")
17856 (version (git-version "2.0" "1" commit))
17857 (source
17858 (origin
17859 (method git-fetch)
17860 (uri (git-reference
17861 (url "https://github.com/alphapapa/navi")
17862 (commit commit)))
17863 (file-name (git-file-name name version))
17864 (sha256
17865 (base32
17866 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
17867 (build-system emacs-build-system)
17868 (propagated-inputs
17869 `(("emacs-outshine" ,emacs-outshine)
17870 ("emacs-outorg" ,emacs-outorg)))
17871 (home-page "https://github.com/alphapapa/navi")
17872 (synopsis "Emacs major-mode for easy buffer-navigation")
17873 (description
17874 "This package provides an Emacs major-mode for easy buffer-navigation")
17875 (license license:gpl3+))))
17876
17877 (define-public emacs-download-region
17878 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
17879 (revision "1"))
17880 (package
17881 (name "emacs-download-region")
17882 (version (string-append "0.0.1" "-" revision "."
17883 (string-take commit 7)))
17884 (source
17885 (origin
17886 (method git-fetch)
17887 (uri (git-reference
17888 (url "https://github.com/zk-phi/download-region")
17889 (commit commit)))
17890 (file-name (git-file-name name version))
17891 (sha256
17892 (base32
17893 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
17894 (build-system emacs-build-system)
17895 (home-page "https://github.com/zk-phi/download-region")
17896 (synopsis "In buffer download manager for Emacs")
17897 (description "@code{download-region} provides in buffer
17898 downloading manager for Emacs.")
17899 (license license:gpl3+))))
17900
17901 (define-public emacs-helpful
17902 (package
17903 (name "emacs-helpful")
17904 (version "0.18")
17905 (source
17906 (origin
17907 (method git-fetch)
17908 (uri (git-reference
17909 (url "https://github.com/Wilfred/helpful")
17910 (commit version)))
17911 (file-name (git-file-name name version))
17912 (sha256
17913 (base32 "0gdjxykqkal2x765mi51m99i5ql23i1fy909wy4mzj5ajhjfgqcc"))))
17914 (build-system emacs-build-system)
17915 (propagated-inputs
17916 `(("emacs-elisp-refs" ,emacs-elisp-refs)
17917 ("emacs-dash" ,emacs-dash)
17918 ("emacs-s" ,emacs-s)
17919 ("emacs-f" ,emacs-f)
17920 ("emacs-shut-up" ,emacs-shut-up)))
17921 (native-inputs
17922 `(("emacs-ert-runner" ,emacs-ert-runner)
17923 ("emacs-undercover" ,emacs-undercover)))
17924 (arguments
17925 `(#:tests? #t
17926 #:test-command '("ert-runner")))
17927 (home-page "https://github.com/Wilfred/helpful")
17928 (synopsis "More contextual information in Emacs help")
17929 (description "@code{helpful} is an alternative to the built-in Emacs help
17930 that provides much more contextual information.
17931
17932 @itemize
17933 @item Show the source code for interactively defined functions (unlike the
17934 built-in Help).
17935 @item Fall back to the raw sexp if no source is available.
17936 @item Show where a function is being called.
17937 @item Docstrings will Highlight the summary (the first sentence), include
17938 cross-references, hide superfluous puncuation.
17939 @item Show you the properties that have been applied to the current
17940 symbol. This provides visibility of features like edebug or byte-code
17941 optimisation.
17942 @item Provide a separate @code{helpful-command} function to view interactive
17943 functions.
17944 @item Display any keybindings that apply to interactive functions.
17945 @item Trace, disassemble functions from inside Helpful. This is discoverable
17946 and doesn't require memorisation of commands.
17947 @end itemize\n")
17948 (license license:gpl3+)))
17949
17950 (define-public emacs-logview
17951 (package
17952 (name "emacs-logview")
17953 (version "0.14")
17954 (source
17955 (origin
17956 (method git-fetch)
17957 (uri (git-reference
17958 (url "https://github.com/doublep/logview")
17959 (commit version)))
17960 (file-name (git-file-name name version))
17961 (sha256
17962 (base32 "1cchmr25z5zj7rgb2fyxkaq8kpw7i5yg1pvn42dvm09c2wrfbj46"))))
17963 (propagated-inputs
17964 `(("emacs-datetime" ,emacs-datetime)
17965 ("emacs-extmap" ,emacs-extmap)))
17966 (build-system emacs-build-system)
17967 (home-page "https://github.com/doublep/logview/")
17968 (synopsis "Emacs mode for viewing log files")
17969 (description "@code{logview} provides an Emacs mode to view log files.")
17970 (license license:gpl3+)))
17971
17972 (define-public emacs-suggest
17973 (package
17974 (name "emacs-suggest")
17975 (version "0.7")
17976 (home-page "https://github.com/Wilfred/suggest.el")
17977 (source
17978 (origin
17979 (method git-fetch)
17980 (uri (git-reference
17981 (url home-page)
17982 (commit version)))
17983 (file-name (git-file-name name version))
17984 (sha256
17985 (base32
17986 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
17987 (build-system emacs-build-system)
17988 (propagated-inputs
17989 `(("emacs-loop" ,emacs-loop)
17990 ("emacs-dash" ,emacs-dash)
17991 ("emacs-s" ,emacs-s)
17992 ("emacs-f" ,emacs-f)
17993 ("emacs-spinner" ,emacs-spinner)
17994 ("emacs-shut-up" ,emacs-shut-up)))
17995 (native-inputs
17996 `(("emacs-ert-runner" ,emacs-ert-runner)
17997 ("emacs-undercover" ,emacs-undercover)))
17998 (arguments
17999 `(#:tests? #t
18000 #:test-command '("ert-runner")))
18001 (synopsis "Suggest Elisp functions that give the output requested")
18002 (description "Suggest.el will find functions that give the output
18003 requested. It's a great way of exploring list, string and arithmetic
18004 functions.")
18005 (license license:gpl3+)))
18006
18007 (define-public emacs-benchmark-init
18008 (package
18009 (name "emacs-benchmark-init")
18010 (version "1.0")
18011 (source
18012 (origin
18013 (method git-fetch)
18014 (uri (git-reference
18015 (url "https://github.com/dholm/benchmark-init-el")
18016 (commit version)))
18017 (file-name (git-file-name name version))
18018 (sha256
18019 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
18020 (build-system emacs-build-system)
18021 (home-page "https://github.com/dholm/benchmark-init-el")
18022 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
18023 (description "@code{benchmark-init} provides a way to keep track of where
18024 time is being spent during Emacs startup in order to optimize startup time.")
18025 (license license:gpl3+)))
18026
18027 (define-public emacs-magit-gerrit
18028 (let ((version "0.3")
18029 (revision "1")
18030 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
18031 (package
18032 (name "emacs-magit-gerrit")
18033 (version (git-version version revision commit))
18034 (source (origin
18035 (method git-fetch)
18036 (uri (git-reference
18037 (url "https://github.com/terranpro/magit-gerrit")
18038 (commit commit)))
18039 (file-name (git-file-name name version))
18040 (sha256
18041 (base32
18042 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
18043 (build-system emacs-build-system)
18044 (propagated-inputs
18045 `(("emacs-magit" ,emacs-magit)))
18046 (home-page "https://github.com/terranpro/magit-gerrit")
18047 (synopsis "Magit extension for Gerrit")
18048 (description "This Magit extension provides integration with Gerrit,
18049 which makes it possible to conduct Gerrit code reviews directly from within
18050 Emacs.")
18051 (license license:gpl3+))))
18052
18053 (define-public emacs-magit-org-todos-el
18054 (package
18055 (name "emacs-magit-org-todos-el")
18056 (version "0.1.2")
18057 (source
18058 (origin
18059 (method git-fetch)
18060 (uri (git-reference
18061 (url "https://github.com/danielma/magit-org-todos.el")
18062 (commit version)))
18063 (file-name (git-file-name name version))
18064 (sha256
18065 (base32
18066 "07r5x256k1fjjxs1yfg41kc94nwvnjlk2vvknkra3j8v9p0j88m7"))))
18067 (propagated-inputs
18068 `(("magit" ,emacs-magit)))
18069 (build-system emacs-build-system)
18070 (home-page "https://github.com/danielma/magit-org-todos.el")
18071 (synopsis "Get todo.org into Emacs Magit status")
18072 (description "This package allows you to get @file{todo.org} into your
18073 magit status.
18074
18075 If you have a @file{todo.org} file with @code{TODO} items in the root of your
18076 repository, @code{magit-org-todos} will create a section in your Magit status
18077 buffer with each of your todos.")
18078 (license license:gpl3+)))
18079
18080 (define-public emacs-vcsh
18081 (package
18082 (name "emacs-vcsh")
18083 (version "0.4.4")
18084 (source
18085 (origin
18086 (method git-fetch)
18087 (uri (git-reference
18088 (url "https://gitlab.com/stepnem/vcsh-el.git")
18089 (commit version)))
18090 (file-name (git-file-name name version))
18091 (sha256
18092 (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7"))))
18093 (build-system emacs-build-system)
18094 (home-page "https://gitlab.com/stepnem/vcsh-el")
18095 (synopsis "Emacs VCSH integration")
18096 (description
18097 "This library provides basic ``enter'' functionality and a few
18098 convenience commands to initialize a @acronym{VCSH, Version Control System for
18099 $HOME} repository and add files to it. It can be used in conjunction with
18100 Magit.")
18101 (license license:public-domain)))
18102
18103 (define-public emacs-f3
18104 (package
18105 (name "emacs-f3")
18106 (version "0.1")
18107 (source
18108 (origin
18109 (method git-fetch)
18110 (uri (git-reference
18111 (url "https://github.com/cosmicexplorer/f3")
18112 (commit version)))
18113 (file-name (git-file-name name version))
18114 (sha256
18115 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
18116 (build-system emacs-build-system)
18117 (propagated-inputs
18118 `(("emacs-helm" ,emacs-helm)))
18119 (home-page "https://github.com/cosmicexplorer/f3")
18120 (synopsis "Fantastic File Finder for Emacs")
18121 (description
18122 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
18123 (license license:gpl3+)))
18124
18125 (define-public emacs-lice-el
18126 (let ((commit "482e58ab83fff86ed754b00be27b62a219597e7c"))
18127 (package
18128 (name "emacs-lice-el")
18129 (version (git-version "0.2" "2" commit))
18130 (source (origin
18131 (method git-fetch)
18132 (uri (git-reference
18133 (url "https://github.com/buzztaiki/lice-el")
18134 (commit commit)))
18135 (file-name (git-file-name name version))
18136 (sha256
18137 (base32
18138 "0yxkjyhfk8kpr8yqz54gdx6xwkj4s8bnbz60162jh12crj0bs5n7"))))
18139 (build-system emacs-build-system)
18140 (arguments
18141 `(#:phases
18142 (modify-phases %standard-phases
18143 (add-after 'unpack 'patch-template-directory
18144 (lambda* (#:key outputs #:allow-other-keys)
18145 (chmod "lice.el" #o666)
18146 (emacs-substitute-variables "lice.el"
18147 ("lice:system-template-directory"
18148 (string-append (assoc-ref outputs "out")
18149 "/share/emacs-lice-el/template")))
18150 #t))
18151 (add-after 'install 'install-templates
18152 (lambda* (#:key outputs #:allow-other-keys)
18153 (copy-recursively
18154 "template"
18155 (string-append (assoc-ref outputs "out")
18156 "/share/emacs-lice-el/template"))
18157 #t)))))
18158 (home-page "https://github.com/buzztaiki/lice-el")
18159 (synopsis "License and header template for Emacs")
18160 (description "@code{lice.el} provides following features:
18161
18162 @itemize
18163 @item License template management.
18164 @item File header insertion.
18165 @end itemize\n")
18166 (license license:gpl3+))))
18167
18168 (define-public emacs-academic-phrases
18169 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
18170 (package
18171 (name "emacs-academic-phrases")
18172 (version (git-version "0.1" "1" commit))
18173 (source
18174 (origin
18175 (method git-fetch)
18176 (uri (git-reference
18177 (url "https://github.com/nashamri/academic-phrases")
18178 (commit commit)))
18179 (file-name (git-file-name name version))
18180 (sha256
18181 (base32
18182 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
18183 (build-system emacs-build-system)
18184 (propagated-inputs
18185 `(("emacs-dash" ,emacs-dash)
18186 ("emacs-s" ,emacs-s)
18187 ("emacs-ht" ,emacs-ht)))
18188 (home-page "https://github.com/nashamri/academic-phrases")
18189 (synopsis "Bypass that mental block when writing your papers")
18190 (description
18191 "When writing your academic paper, you might get stuck trying to find
18192 the right phrase that captures your intention. This package tries to
18193 alleviate that problem by presenting you with a list of phrases organized by
18194 the topic or by the paper section that you are writing. This package has
18195 around 600 phrases so far.
18196
18197 Using this package is easy, just call @code{academic-phrases} to get a list of
18198 phrases organized by topic, or call @code{academic-phrases-by-section} to
18199 browse the phrases by the paper section and fill-in the blanks if required.")
18200 (license license:gpl3+))))
18201
18202 (define-public emacs-auto-yasnippet
18203 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
18204 (revision "2"))
18205 (package
18206 (name "emacs-auto-yasnippet")
18207 (version (git-version "0.3.0" revision commit))
18208 (source (origin
18209 (method git-fetch)
18210 (uri (git-reference
18211 (url "https://github.com/abo-abo/auto-yasnippet")
18212 (commit commit)))
18213 (file-name (git-file-name name version))
18214 (sha256
18215 (base32
18216 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
18217 (build-system emacs-build-system)
18218 (arguments
18219 '(#:tests? #t
18220 #:test-command '("make" "test")))
18221 (propagated-inputs
18222 `(("emacs-yasnippet" ,emacs-yasnippet)))
18223 (home-page "https://github.com/abo-abo/auto-yasnippet/")
18224 (synopsis "Quickly create disposable yasnippets")
18225 (description "This package provides a hybrid of keyboard macros and
18226 yasnippet. You create the snippet on the go, usually to be used just in the
18227 one place. It's fast, because you're not leaving the current buffer, and all
18228 you do is enter the code you'd enter anyway, just placing ~ where you'd like
18229 yasnippet fields and mirrors to be.")
18230 (license license:gpl3+))))
18231
18232 (define-public emacs-highlight-numbers
18233 (package
18234 (name "emacs-highlight-numbers")
18235 (version "0.2.3")
18236 (source
18237 (origin
18238 (method git-fetch)
18239 (uri (git-reference
18240 (url "https://github.com/Fanael/highlight-numbers")
18241 (commit version)))
18242 (file-name (git-file-name name version))
18243 (sha256
18244 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
18245 (build-system emacs-build-system)
18246 (propagated-inputs
18247 `(("emacs-parent-mode" ,emacs-parent-mode)))
18248 (home-page "https://github.com/Fanael/highlight-numbers")
18249 (synopsis "Highlight numbers in source code")
18250 (description "@code{highlight-numbers-mode} provides a minor mode for
18251 syntax highlighting of numeric literals in source code.
18252
18253 It s customizable: it's easy to add or redefine what exactly constitutes a
18254 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
18255 (license license:gpl3+)))
18256
18257 (define-public emacs-darkroom
18258 (package
18259 (name "emacs-darkroom")
18260 (version "0.3")
18261 (source
18262 (origin
18263 (method url-fetch)
18264 (uri (string-append "https://elpa.gnu.org/packages/"
18265 "darkroom-" version ".el"))
18266 (sha256
18267 (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86"))))
18268 (build-system emacs-build-system)
18269 (home-page "https://elpa.gnu.org/packages/darkroom.html")
18270 (synopsis "Remove visual distractions and focus on writing")
18271 (description "@code{darkroom-mode} makes visual distractions disappear.
18272 The mode-line is temporarily elided, text is enlarged and margins are adjusted
18273 so that it's centered on the window.
18274
18275 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
18276 @code{darkroom-mode}, unless the current buffer lives in the sole window of
18277 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
18278 split to display more windows and more buffers, the buffer exits
18279 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
18280 @code{darkroom-mode}.")
18281 (license license:gpl3+)))
18282
18283 (define-public emacs-rsw-elisp
18284 (package
18285 (name "emacs-rsw-elisp")
18286 (version "1.0.5")
18287 (source (origin
18288 (method git-fetch)
18289 (uri (git-reference
18290 (url "https://github.com/rswgnu/rsw-elisp")
18291 (commit version)))
18292 (file-name (git-file-name name version))
18293 (sha256
18294 (base32
18295 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
18296 (build-system emacs-build-system)
18297 (home-page "https://github.com/rswgnu/rsw-elisp")
18298 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
18299 (description "This package improves and replaces the GNU Emacs commands
18300 that interactively evaluate Emacs Lisp expressions. The new commands replace
18301 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
18302 the same way as the old commands when called non-interactively; only the
18303 interactive behavior should be different.")
18304 (license license:gpl3+)))
18305
18306 (define-public emacs-default-text-scale
18307 (package
18308 (name "emacs-default-text-scale")
18309 (version "0.2")
18310 (source (origin
18311 (method git-fetch)
18312 (uri (git-reference
18313 (url "https://github.com/purcell/default-text-scale")
18314 (commit version)))
18315 (file-name (git-file-name name version))
18316 (sha256
18317 (base32
18318 "0h42jiwxrxjmk7ccwh3h25n7dy2rq61ncm5wx27jhkncc5jdm4h6"))))
18319 (build-system emacs-build-system)
18320 (home-page "https://github.com/purcell/default-text-scale")
18321 (synopsis "Adjust the font size in all Emacs frames")
18322 (description "This package provides commands for increasing or
18323 decreasing the default font size in all GUI Emacs frames.")
18324 (license license:gpl3+)))
18325
18326 (define-public emacs-mixed-pitch
18327 (package
18328 (name "emacs-mixed-pitch")
18329 (version "1.1.1")
18330 (source
18331 (origin
18332 (method git-fetch)
18333 (uri (git-reference
18334 (url "https://gitlab.com/jabranham/mixed-pitch.git")
18335 (commit version)))
18336 (file-name (git-file-name name version))
18337 (sha256
18338 (base32 "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"))))
18339 (build-system emacs-build-system)
18340 (home-page "https://gitlab.com/jabranham/mixed-pitch")
18341 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
18342 (description
18343 "@code{mixed-pitch-mode} is a minor mode that enables mixing
18344 variable-pitch and fixed-pitch fonts in the same buffer. The list
18345 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
18346 fixed-pitch,everything else becomes variable-pitch.")
18347 (license license:gpl3+)))
18348
18349 (define-public emacs-visual-regexp
18350 (package
18351 (name "emacs-visual-regexp")
18352 (version "1.1.2")
18353 (source
18354 (origin
18355 (method git-fetch)
18356 (uri (git-reference
18357 (url "https://github.com/benma/visual-regexp.el")
18358 (commit (string-append "v" version))))
18359 (file-name (git-file-name name version))
18360 (sha256
18361 (base32 "12p3rlhdphwmx1kxsjzcl2wj3i6qgpvw8iwhg1whs6yqgaxivixd"))))
18362 (build-system emacs-build-system)
18363 (home-page "https://github.com/benma/visual-regexp.el/")
18364 (synopsis "Regexp command with interactive visual feedback")
18365 (description "This package provides an Emacs regexp command with
18366 interactive visual feedback.")
18367 (license license:gpl3+)))
18368
18369 (define-public emacs-faceup
18370 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
18371 (revision "1"))
18372 (package
18373 (name "emacs-faceup")
18374 (version (string-append "0.0.1" "-" revision "."
18375 (string-take commit 7)))
18376 (source
18377 (origin
18378 (method git-fetch)
18379 (uri (git-reference
18380 (url "https://github.com/Lindydancer/faceup")
18381 (commit commit)))
18382 (file-name (git-file-name name version))
18383 (sha256
18384 (base32
18385 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
18386 (build-system emacs-build-system)
18387 (home-page "https://github.com/Lindydancer/faceup")
18388 (synopsis "Markup language for faces and font-lock regression testing")
18389 (description "Emacs is capable of highlighting buffers based on
18390 language-specific @code{font-lock} rules. This package makes it possible to
18391 perform regression test for packages that provide font-lock rules.")
18392 (license license:gpl3+))))
18393
18394 (define-public emacs-racket-mode
18395 (let ((commit "5eb31a284c8db5102bc71b1e2c6ce3a095ae085b")
18396 (revision "6"))
18397 (package
18398 (name "emacs-racket-mode")
18399 (version (git-version "0.0.2" revision commit))
18400 (source
18401 (origin
18402 (method git-fetch)
18403 (uri (git-reference
18404 (url "https://github.com/greghendershott/racket-mode")
18405 (commit commit)))
18406 (file-name (git-file-name name version))
18407 (sha256
18408 (base32
18409 "081h6rd0gv88m0wvnmghi242kl39x1sz34qr4cq9vz04iwvnmgrm"))))
18410 (build-system emacs-build-system)
18411 (arguments
18412 `(#:include '("\\.el$" "\\.rkt$")))
18413 (propagated-inputs
18414 `(("emacs-faceup" ,emacs-faceup)
18415 ("emacs-pos-tip" ,emacs-pos-tip)
18416 ("emacs-s" ,emacs-s)))
18417 (home-page "https://www.racket-mode.com/")
18418 (synopsis "Major mode for the Racket language")
18419 (description "@code{racket-mode} provides:
18420
18421 @itemize
18422 @item Focus on Racket (not various Schemes).
18423 @item Follow DrRacket concepts where applicable.
18424 @item Thorough font-lock and indent.
18425 @end itemize\n")
18426 (license license:gpl3+))))
18427
18428 (define-public emacs-grep-context
18429 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
18430 (revision "1"))
18431 (package
18432 (name "emacs-grep-context")
18433 (version (git-version "0.1.0" revision commit))
18434 (source
18435 (origin
18436 (method git-fetch)
18437 (uri (git-reference
18438 (url "https://github.com/mkcms/grep-context")
18439 (commit commit)))
18440 (file-name (git-file-name name version))
18441 (sha256
18442 (base32
18443 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
18444 (build-system emacs-build-system)
18445 (propagated-inputs
18446 `(("emacs-dash" ,emacs-dash)))
18447 (home-page "https://github.com/mkcms/grep-context")
18448 (synopsis "Increase context in compilation and grep buffers")
18449 (description
18450 "This package provides an Emacs package for more context in
18451 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
18452 @code{ivy}.")
18453 (license license:gpl3+))))
18454
18455 (define-public emacs-helm-firefox
18456 (package
18457 (name "emacs-helm-firefox")
18458 (version "1.3")
18459 (source
18460 (origin
18461 (method git-fetch)
18462 (uri (git-reference
18463 (url "https://github.com/emacs-helm/helm-firefox")
18464 (commit (string-append "v" version))))
18465 (file-name (git-file-name name version))
18466 (sha256
18467 (base32
18468 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
18469 (propagated-inputs
18470 `(("emacs-helm" ,emacs-helm)))
18471 (build-system emacs-build-system)
18472 (home-page "https://github.com/emacs-helm/helm-firefox")
18473 (synopsis "Display firefox bookmarks with Emacs Helm interface")
18474 (description "Display firefox bookmarks with Emacs Helm interface")
18475 (license license:gpl3+)))
18476
18477 (define-public emacs-interactive-align
18478 (package
18479 (name "emacs-interactive-align")
18480 (version "0.4.2")
18481 (source
18482 (origin
18483 (method git-fetch)
18484 (uri (git-reference
18485 (url "https://github.com/mkcms/interactive-align")
18486 (commit (string-append "v" version))))
18487 (file-name (git-file-name name version))
18488 (sha256
18489 (base32
18490 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
18491 (build-system emacs-build-system)
18492 (home-page "https://github.com/mkcms/interactive-align/")
18493 (synopsis "Interactive align-regexp command in Emacs")
18494 (description "Interactive align-regexp command in Emacs")
18495 (license license:gpl3+)))
18496
18497 (define-public emacs-shift-number
18498 (package
18499 (name "emacs-shift-number")
18500 (version "0.1")
18501 (source
18502 (origin
18503 (method git-fetch)
18504 (uri (git-reference
18505 (url "https://github.com/alezost/shift-number.el")
18506 (commit (string-append "v" version))))
18507 (file-name (git-file-name name version))
18508 (sha256
18509 (base32
18510 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
18511 (build-system emacs-build-system)
18512 (home-page "https://github.com/alezost/shift-number.el")
18513 (synopsis "Increase or decrease the number at point")
18514 (description "@code{emacs-shift-number} provides commands
18515 @code{shift-number-up} to increase and @code{shift-number-down} to
18516 decrease the number at point.")
18517 (license license:gpl3+)))
18518
18519 (define-public emacs-highlight-defined
18520 (package
18521 (name "emacs-highlight-defined")
18522 (version "0.1.5")
18523 (source
18524 (origin
18525 (method git-fetch)
18526 (uri (git-reference
18527 (url "https://github.com/Fanael/highlight-defined")
18528 (commit version)))
18529 (file-name (git-file-name name version))
18530 (sha256
18531 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
18532 (build-system emacs-build-system)
18533 (home-page "https://github.com/Fanael/highlight-defined")
18534 (synopsis "Syntax highlighting of known Elisp symbols")
18535 (description "Minor mode providing syntax highlighting of known Emacs Lisp
18536 symbols. Currently the code distinguishes Lisp functions, built-in functions,
18537 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
18538 (license license:gpl3+)))
18539
18540 (define-public emacs-parinfer-mode
18541 (package
18542 (name "emacs-parinfer-mode")
18543 (version "0.4.10")
18544 (source
18545 (origin
18546 (method git-fetch)
18547 (uri (git-reference
18548 (url "https://github.com/DogLooksGood/parinfer-mode")
18549 (commit (string-append "v" version))))
18550 (file-name (git-file-name name version))
18551 (sha256
18552 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
18553 (propagated-inputs
18554 `(("emacs-dash" ,emacs-dash)
18555 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
18556 ("emacs-company" ,emacs-company)))
18557 (build-system emacs-build-system)
18558 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
18559 (synopsis "Lisp structure editing mode")
18560 (description "@code{parinfer-mode} is a proof-of-concept editor
18561 mode for Lisp programming languages. It will infer some changes to
18562 keep Parens and Indentation inline with one another.")
18563 (license license:gpl3+)))
18564
18565 (define-public emacs-helm-eww
18566 (package
18567 (name "emacs-helm-eww")
18568 (version "1.2")
18569 (source (origin
18570 (method git-fetch)
18571 (uri (git-reference
18572 (url "https://github.com/emacs-helm/helm-eww")
18573 (commit version)))
18574 (file-name (git-file-name name version))
18575 (sha256
18576 (base32
18577 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
18578 (propagated-inputs
18579 `(("emacs-helm" ,emacs-helm)))
18580 (build-system emacs-build-system)
18581 (home-page "https://github.com/emacs-helm/helm-eww/")
18582 (synopsis "Helm interface to EWW")
18583 (description "This package provides a Helm interface for EWW buffers,
18584 bookmarks and history.")
18585 (license license:gpl3+)))
18586
18587 (define-public emacs-stumpwm-mode
18588 (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
18589 (revision "3"))
18590 (package
18591 (name "emacs-stumpwm-mode")
18592 (version (git-version "0.0.1" revision commit))
18593 (source (origin
18594 (method git-fetch)
18595 (uri (git-reference
18596 (url "https://github.com/stumpwm/stumpwm-contrib")
18597 (commit commit)))
18598 (file-name (git-file-name name version))
18599 (sha256
18600 (base32
18601 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml"))))
18602 (build-system emacs-build-system)
18603 (arguments
18604 `(#:phases
18605 (modify-phases %standard-phases
18606 (add-after 'unpack 'chdir-elisp
18607 ;; Elisp directory is not in root of the source.
18608 (lambda _
18609 (chdir "util/swm-emacs"))))))
18610 (home-page "https://github.com/stumpwm/stumpwm-contrib")
18611 (synopsis "Emacs minor-mode for Stumpwm")
18612 (description "Emacs minor-mode for Stumpwm")
18613 (license license:gpl3+))))
18614
18615 (define-public emacs-irfc
18616 (package
18617 (name "emacs-irfc")
18618 (version "20130824.507-1")
18619 (source
18620 (origin
18621 (method url-fetch)
18622 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
18623 (file-name (string-append "irfc-" version ".el"))
18624 (sha256
18625 (base32
18626 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
18627 (build-system emacs-build-system)
18628 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
18629 (synopsis "Interface for IETF RFC document")
18630 (description
18631 "This package provides an Emacs interface for IETF RFC document.")
18632 (license license:gpl3+)))
18633
18634 (define-public emacs-ido-at-point
18635 (package
18636 (name "emacs-ido-at-point")
18637 (version "1.0.0")
18638 (source
18639 (origin
18640 (method git-fetch)
18641 (uri (git-reference
18642 (url "https://github.com/katspaugh/ido-at-point")
18643 (commit (string-append "v" version))))
18644 (file-name (git-file-name name version))
18645 (sha256
18646 (base32 "1bii7vj8pmmijcpvq3a1scky4ais7k6d7zympb3m9dmz355m9rpp"))))
18647 (build-system emacs-build-system)
18648 (synopsis "Ido-style completion at point")
18649 (description
18650 "This package is an alternative frontend for @code{completion-at-point}.
18651 It replaces the standard completions buffer with Ido prompt.")
18652 (home-page "https://github.com/katspaugh/ido-at-point")
18653 (license license:gpl3+)))
18654
18655 (define-public emacs-ido-vertical-mode
18656 (package
18657 (name "emacs-ido-vertical-mode")
18658 (version "0.1.6")
18659 (source
18660 (origin
18661 (method git-fetch)
18662 (uri (git-reference
18663 (url "https://github.com/creichert/ido-vertical-mode.el")
18664 (commit (string-append "v" version))))
18665 (file-name (git-file-name name version))
18666 (sha256
18667 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
18668 (build-system emacs-build-system)
18669 (home-page "https://github.com/creichert/ido-vertical-mode.el")
18670 (synopsis "Makes ido-mode display vertically")
18671 (description "Makes ido-mode display prospects vertically.")
18672 (license license:gpl3+)))
18673
18674 (define-public emacs-wordgen
18675 (package
18676 (name "emacs-wordgen")
18677 (version "0.1.4")
18678 (source
18679 (origin
18680 (method git-fetch)
18681 (uri (git-reference
18682 (url "https://github.com/Fanael/wordgen.el")
18683 (commit version)))
18684 (file-name (git-file-name name version))
18685 (sha256
18686 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
18687 (build-system emacs-build-system)
18688 (home-page "https://github.com/Fanael/wordgen.el")
18689 (synopsis "Random word generator")
18690 (description "This package provides functions to generate random words
18691 using user-provided rules.")
18692 (license license:gpl3+)))
18693
18694 (define-public emacs-on-screen
18695 (package
18696 (name "emacs-on-screen")
18697 (version "1.3.3")
18698 (source
18699 (origin
18700 (method url-fetch)
18701 (uri (string-append
18702 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
18703 (file-name (string-append name "-" version ".el"))
18704 (sha256
18705 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
18706 (build-system emacs-build-system)
18707 (home-page "https://github.com/michael-heerdegen/on-screen.el")
18708 (synopsis "Guide your eyes while scrolling")
18709 (description
18710 "Scrolling can be distracting because your eyes may lose
18711 orientation. This library implements a minor mode that highlights
18712 the previously visible buffer part after each scroll.")
18713 (license license:gpl3+)))
18714
18715 (define-public emacs-highlight-escape-sequences
18716 ;; No release upstream. Extract version from main file.
18717 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
18718 (revision "0"))
18719 (package
18720 (name "emacs-highlight-escape-sequences")
18721 (version (git-version "0.4" revision commit))
18722 (source
18723 (origin
18724 (method git-fetch)
18725 (uri (git-reference
18726 (url "https://github.com/dgutov/highlight-escape-sequences")
18727 (commit commit)))
18728 (file-name (git-file-name name version))
18729 (sha256
18730 (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
18731 (build-system emacs-build-system)
18732 (home-page "https://github.com/dgutov/highlight-escape-sequences")
18733 (synopsis "Highlight escape sequences in Emacs")
18734 (description "@code{highlight-escape-sequences} provides an
18735 Emacs minor mode to escape sequences in code.")
18736 (license license:gpl3+))))
18737
18738 (define-public emacs-dashboard
18739 (package
18740 (name "emacs-dashboard")
18741 (version "1.7.0")
18742 (source
18743 (origin
18744 (method git-fetch)
18745 (uri (git-reference
18746 (url "https://github.com/rakanalh/emacs-dashboard")
18747 (commit version)))
18748 (file-name (git-file-name name version))
18749 (sha256
18750 (base32 "1qv4cqjy2s2d2bysbq10vq1axpbd8qc3jn1s1r81lxqkcja8zasa"))))
18751 (build-system emacs-build-system)
18752 (propagated-inputs
18753 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
18754 (arguments
18755 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
18756 #:phases
18757 (modify-phases %standard-phases
18758 (add-after 'unpack 'patch-dashboard-widgets
18759 ;; This phase fixes compilation error.
18760 (lambda _
18761 (chmod "dashboard-widgets.el" #o666)
18762 (emacs-substitute-variables "dashboard-widgets.el"
18763 ("dashboard-init-info"
18764 '(format "Loaded in %s" (emacs-init-time))))
18765 #t)))))
18766 (home-page "https://github.com/rakanalh/emacs-dashboard")
18767 (synopsis "Startup screen extracted from Spacemacs")
18768 (description "This package provides an extensible Emacs dashboard, with
18769 sections for bookmarks, projectil projects, org-agenda and more. ")
18770 (license license:gpl3+)))
18771
18772 (define-public emacs-slime-company
18773 (package
18774 (name "emacs-slime-company")
18775 (version "1.6")
18776 (source
18777 (origin
18778 (method git-fetch)
18779 (uri (git-reference
18780 (url "https://github.com/anwyn/slime-company")
18781 (commit (string-append "v" version))))
18782 (file-name (git-file-name name version))
18783 (sha256
18784 (base32 "05dnnc4ms5c9yp9h65k2gbkg3pw9k38nx5wzlwdlfr4shqmw54w0"))))
18785 (build-system emacs-build-system)
18786 (propagated-inputs
18787 `(("emacs-slime" ,emacs-slime)
18788 ("emacs-company" ,emacs-company)))
18789 (home-page "https://company-mode.github.io")
18790 (synopsis "SLIME completion backend for @code{company-mode}")
18791 (description
18792 "This is a backend implementation for the completion package
18793 @code{company-mode} which supports the normal and the fuzzy completion
18794 modes of SLIME.")
18795 (license license:gpl3+)))
18796
18797 (define-public emacs-sml-mode
18798 (package
18799 (name "emacs-sml-mode")
18800 (version "6.10")
18801 (source
18802 (origin
18803 (method url-fetch)
18804 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
18805 version ".el"))
18806 (sha256
18807 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
18808 (build-system emacs-build-system)
18809 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
18810 (synopsis "Major mode for editing (Standard) ML")
18811 (description "SML-MODE is a major Emacs mode for editing Standard ML.
18812 It provides syntax highlighting and automatic indentation and
18813 comes with sml-proc which allows interaction with an inferior SML
18814 interactive loop.")
18815 (license license:gpl3+)))
18816
18817 (define-public emacs-eros
18818 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
18819 (revision "2"))
18820 (package
18821 (name "emacs-eros")
18822 (version (git-version "0.0.1" revision commit))
18823 (source
18824 (origin
18825 (method git-fetch)
18826 (uri (git-reference
18827 (url "https://github.com/xiongtx/eros")
18828 (commit commit)))
18829 (file-name (git-file-name name version))
18830 (sha256
18831 (base32
18832 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
18833 (build-system emacs-build-system)
18834 (home-page "https://github.com/xiongtx/eros")
18835 (synopsis "Evaluation result overlays")
18836 (description "@code{eros} provides evaluation result overlays.")
18837 (license license:gpl3+))))
18838
18839 (define-public emacs-stickyfunc-enhance
18840 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
18841 (revision "1"))
18842 (package
18843 (name "emacs-stickyfunc-enhance")
18844 (version "0.1")
18845 (source
18846 (origin
18847 (method git-fetch)
18848 (uri (git-reference
18849 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance")
18850 (commit commit)))
18851 (file-name (git-file-name name version))
18852 (sha256
18853 (base32
18854 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
18855 (build-system emacs-build-system)
18856 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
18857 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
18858 (description
18859 "@code{semantic-stickyfunc-mode} shows the function point is currently
18860 in at the first line of the current buffer. This is useful when you have a
18861 very long function that spreads more than a screen, and you don't have to
18862 scroll up to read the function name and then scroll down to original position.")
18863 (license license:gpl3+))))
18864
18865 (define-public emacs-git-auto-commit-mode
18866 (package
18867 (name "emacs-git-auto-commit-mode")
18868 (version "4.7.0")
18869 (source
18870 (origin
18871 (method git-fetch)
18872 (uri (git-reference
18873 (url "https://github.com/ryuslash/git-auto-commit-mode")
18874 (commit version)))
18875 (file-name (git-file-name name version))
18876 (sha256
18877 (base32 "0gpib57f7xza04g3iyihw5v15hb7pncqsmvyggib902yvcxlkvqf"))))
18878 (build-system emacs-build-system)
18879 (native-inputs
18880 `(("emacs-buttercup" ,emacs-buttercup)
18881 ("git" ,git)))
18882 (arguments
18883 `(#:tests? #t
18884 #:test-command '("buttercup" "-L" ".")))
18885 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
18886 (synopsis "Emacs Minor mode to automatically commit and push")
18887 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
18888 tries to commit changes to a file after every save.
18889
18890 When @code{gac-automatically-push-p} is non-nil, it also tries to push to the
18891 current upstream.")
18892 (license license:gpl3+)))
18893
18894 (define-public emacs-scroll-on-drag
18895 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
18896 (revision "1"))
18897 (package
18898 (name "emacs-scroll-on-drag")
18899 (version (git-version "0.1" revision commit))
18900 (source
18901 (origin
18902 (method git-fetch)
18903 (uri (git-reference
18904 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
18905 (commit commit)))
18906 (file-name (git-file-name name version))
18907 (sha256
18908 (base32
18909 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
18910 (build-system emacs-build-system)
18911 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
18912 (synopsis "Interactive scrolling")
18913 (description "This package permits scrolling at increasing speeds based
18914 on drag distance.")
18915 (license license:gpl3+))))
18916
18917 (define-public emacs-company-restclient
18918 (package
18919 (name "emacs-company-restclient")
18920 (version "0.3.0")
18921 (source
18922 (origin
18923 (method git-fetch)
18924 (uri (git-reference
18925 (url "https://github.com/iquiw/company-restclient")
18926 (commit (string-append "v" version))))
18927 (file-name (git-file-name name version))
18928 (sha256
18929 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
18930 (build-system emacs-build-system)
18931 (propagated-inputs
18932 `(("emacs-company" ,emacs-company)
18933 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
18934 ("emacs-restclient" ,emacs-restclient)))
18935 (home-page "https://github.com/iquiw/company-restclient")
18936 (synopsis "Company-mode completion back-end for restclient-mode")
18937 (description "@code{company-mode} back-end for
18938 @code{restclient-mode}.
18939
18940 It provides auto-completion for HTTP methods and headers in
18941 @code{restclient-mode}. Completion source is given by
18942 @code{know-your-http-well}.")
18943 (license license:gpl3+)))
18944
18945 (define-public emacs-noflet
18946 (let ((version "20170629")
18947 (revision "1")
18948 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
18949 (package
18950 (name "emacs-noflet")
18951 (version (git-version version revision commit))
18952 (source
18953 (origin
18954 (method git-fetch)
18955 (uri (git-reference
18956 (url "https://github.com/nicferrier/emacs-noflet")
18957 (commit commit)))
18958 (file-name (git-file-name name version))
18959 (sha256
18960 (base32
18961 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
18962 (build-system emacs-build-system)
18963 (arguments
18964 `(#:phases
18965 (modify-phases %standard-phases
18966 (add-after 'unpack 'require-dash
18967 ;; noflet.el uses -map from dash, but (require 'dash) is
18968 ;; missing. So, add it.
18969 (lambda _
18970 (substitute* "noflet.el"
18971 ((";;; Code:") ";;; Code:\n(require 'dash)"))
18972 #t)))))
18973 (propagated-inputs
18974 `(("emacs-dash" ,emacs-dash)))
18975 (home-page "https://github.com/nicferrier/emacs-noflet")
18976 (synopsis "Locally override functions")
18977 (description "@code{emacs-noflet} lets you locally override functions,
18978 in the manner of @command{flet}, but with access to the original function
18979 through the symbol: @command{this-fn}.")
18980 (license license:gpl3+))))
18981
18982 (define-public emacs-dumb-jump
18983 (package
18984 (name "emacs-dumb-jump")
18985 (version "0.5.3")
18986 (source
18987 (origin
18988 (method git-fetch)
18989 (uri (git-reference
18990 (url "https://github.com/jacktasia/dumb-jump")
18991 (commit (string-append "v" version))))
18992 (file-name (git-file-name name version))
18993 (sha256
18994 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
18995 (build-system emacs-build-system)
18996 (arguments
18997 `(#:tests? #f ; FIXME: Tests freeze when run.
18998 #:test-command '("ert-runner")
18999 #:phases
19000 (modify-phases %standard-phases
19001 (add-after 'unpack 'set-shell
19002 (lambda _
19003 ;; Setting the SHELL environment variable is required for the
19004 ;; tests to find sh.
19005 (setenv "SHELL" (which "sh"))
19006 #t)))))
19007 (native-inputs
19008 `(("emacs-el-mock" ,emacs-el-mock)
19009 ("emacs-noflet" ,emacs-noflet)
19010 ("emacs-undercover" ,emacs-undercover)
19011 ("ert-runner" ,emacs-ert-runner)))
19012 (propagated-inputs
19013 `(("emacs-f" ,emacs-f)
19014 ("emacs-popup" ,emacs-popup)))
19015 (home-page "https://github.com/jacktasia/dumb-jump")
19016 (synopsis "Jump to definition for multiple languages without configuration")
19017 (description "Dumb Jump is an Emacs \"jump to definition\" package with
19018 support for multiple programming languages that favors \"just working\" over
19019 speed or accuracy. This means minimal --- and ideally zero --- configuration
19020 with absolutely no stored indexes (tags) or persistent background processes.
19021 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
19022 @command{rg} installed.")
19023 (license license:gpl3+)))
19024
19025 (define-public emacs-dts-mode
19026 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
19027 (revision "1"))
19028 (package
19029 (name "emacs-dts-mode")
19030 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
19031 (source
19032 (origin
19033 (method git-fetch)
19034 (uri (git-reference
19035 (url "https://github.com/bgamari/dts-mode")
19036 (commit commit)))
19037 (file-name (git-file-name name version))
19038 (sha256
19039 (base32
19040 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
19041 (build-system emacs-build-system)
19042 (home-page "https://github.com/bgamari/dts-mode")
19043 (synopsis "Emacs minor mode for editing device tree files")
19044 (description
19045 "This package provides an Emacs minor mode for highlighting
19046 device tree files.")
19047 (license license:gpl3+))))
19048
19049 (define-public emacs-daemons
19050 (package
19051 (name "emacs-daemons")
19052 (version "2.0.0")
19053 (source
19054 (origin
19055 (method git-fetch)
19056 (uri (git-reference
19057 (url "https://github.com/cbowdon/daemons.el")
19058 (commit version)))
19059 (file-name (git-file-name name version))
19060 (sha256
19061 (base32
19062 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
19063 (build-system emacs-build-system)
19064 (home-page "https://github.com/cbowdon/daemons.el")
19065 (synopsis "Emacs UI for managing init system services")
19066 (description
19067 "This is an Emacs mode to give you a UI for managing init system
19068 daemons (services) for those getting tired of typing out @code{sudo service
19069 my_thing reload} all the time. It offers a consistent UI over different init
19070 systems.")
19071 (license license:gpl3+)))
19072
19073 (define-public emacs-isearch+
19074 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
19075 (revision "2"))
19076 (package
19077 (name "emacs-isearch+")
19078 (version (git-version "0" revision commit))
19079 (source
19080 (origin
19081 (method git-fetch)
19082 (uri (git-reference
19083 (url "https://github.com/emacsmirror/isearch-plus")
19084 (commit commit)))
19085 (file-name (git-file-name name version))
19086 (sha256
19087 (base32
19088 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
19089 (build-system emacs-build-system)
19090 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
19091 (synopsis "Extensions to @code{isearch.el}")
19092 (description "This package extends @code{isearch} with advice, dynamic
19093 filters, highlighting of regexp group levels, and more.")
19094 (license license:gpl2+))))
19095
19096 (define-public emacs-eshell-bookmark
19097 (package
19098 (name "emacs-eshell-bookmark")
19099 (version "2.0.0")
19100 (source
19101 (origin
19102 (method git-fetch)
19103 (uri (git-reference
19104 (url "https://github.com/Fuco1/eshell-bookmark")
19105 (commit version)))
19106 (file-name (git-file-name name version))
19107 (sha256
19108 (base32
19109 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
19110 (build-system emacs-build-system)
19111 (home-page "https://github.com/Fuco1/eshell-bookmark")
19112 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
19113 (description
19114 "This package allows for bookmarking @code{eshell} buffers. Upon
19115 visiting the bookmark, a new @code{eshell} session will be opened in the
19116 appropriate directory if no @code{eshell} session is active.")
19117 (license license:gpl3+)))
19118
19119 (define-public emacs-eshell-syntax-highlighting
19120 (package
19121 (name "emacs-eshell-syntax-highlighting")
19122 (version "0.3")
19123 (source
19124 (origin
19125 (method git-fetch)
19126 (uri (git-reference
19127 (url "https://github.com/akreisher/eshell-syntax-highlighting")
19128 (commit (string-append "v" version))))
19129 (file-name (git-file-name name version))
19130 (sha256
19131 (base32 "1fb9aa85a3hx1rcmv71j6sc3y278452p1y4dabpwy07avb6apd0p"))))
19132 (build-system emacs-build-system)
19133 (home-page "https://github.com/akreisher/eshell-syntax-highlighting")
19134 (synopsis "Add syntax highlighting to Eshell")
19135 (description
19136 "This package highlights user commands at the Eshell interactive prompt
19137 to provide feedback on the validity of commands and syntax.")
19138 (license license:gpl3+)))
19139
19140 (define-public emacs-eshell-z
19141 (package
19142 (name "emacs-eshell-z")
19143 (version "0.4")
19144 (source
19145 (origin
19146 (method git-fetch)
19147 (uri (git-reference
19148 (url "https://github.com/xuchunyang/eshell-z")
19149 (commit (string-append "v" version))))
19150 (file-name (git-file-name name version))
19151 (sha256
19152 (base32
19153 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
19154 (build-system emacs-build-system)
19155 (home-page "https://github.com/xuchunyang/eshell-z")
19156 (synopsis "Quick navigation to frequently visited directories")
19157 (description
19158 "This package is a port of @code{z}, and keeps track of visited directories
19159 and commands invoked within them in order to enable navigation via input of
19160 matching regexps.")
19161 (license license:gpl3+)))
19162
19163 (define-public emacs-esh-autosuggest
19164 (package
19165 (name "emacs-esh-autosuggest")
19166 (version "2.0.1")
19167 (source
19168 (origin
19169 (method git-fetch)
19170 (uri (git-reference
19171 (url "https://github.com/dieggsy/esh-autosuggest")
19172 (commit version)))
19173 (file-name (git-file-name name version))
19174 (sha256
19175 (base32
19176 "0l2nnlr3b6df1xn0qjf5d5ryy1wcs1jczyfy795vsasd5gm3g0xh"))))
19177 (build-system emacs-build-system)
19178 (propagated-inputs `(("emacs-company" ,emacs-company)))
19179 (home-page "https://github.com/dieggsy/esh-autosuggest")
19180 (synopsis "Fish-like autosuggestions in Eshell")
19181 (description
19182 "This package assumes you use something other than company for eshell
19183 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
19184 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
19185 for history autosuggestions.
19186
19187 Unless you're using @code{use-package}'s hook keyword, you can enable the
19188 autosuggestions with:
19189 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
19190 (license license:gpl3+)))
19191
19192 (define-public emacs-desktop-environment
19193 (package
19194 (name "emacs-desktop-environment")
19195 (version "0.4.0")
19196 (source
19197 (origin
19198 (method git-fetch)
19199 (uri (git-reference
19200 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
19201 (commit (string-append "v" version))))
19202 (file-name (git-file-name name version))
19203 (sha256
19204 (base32
19205 "0s33jncjg8c2xlr90qjk1ishwmwxm9yg0z6n3kzilawcilpxidsh"))))
19206 (build-system emacs-build-system)
19207 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
19208 (synopsis "Control your GNU/Linux desktop environment from Emacs")
19209 (description
19210 "This package helps you control your GNU/Linux desktop from Emacs.
19211 With @code{desktop-environment}, you can control the brightness and volume as
19212 well as take screenshots and lock your screen. The package depends on the
19213 availability of shell commands to do the hard work for us. These commands can
19214 be changed by customizing the appropriate variables.")
19215 (license license:gpl3+)))
19216
19217 (define-public emacs-org-caldav
19218 (let ((commit "8569941a0a5a9393ba51afc8923fd7b77b73fa7a")
19219 (revision "2"))
19220 (package
19221 (name "emacs-org-caldav")
19222 (version (git-version "0.0.0" revision commit))
19223 (source
19224 (origin
19225 (method git-fetch)
19226 (uri (git-reference
19227 (url "https://github.com/dengste/org-caldav")
19228 (commit commit)))
19229 (file-name (git-file-name name version))
19230 (sha256
19231 (base32 "05lgxqaffnqaqnzl24frafdkskran88hl2ml05qvyjhs4jjbgw9g"))))
19232 (build-system emacs-build-system)
19233 (arguments
19234 ;; Tests require to have two specific calendars on a test server.
19235 `(#:exclude '("^org-caldav-testsuite\\.el")))
19236 (propagated-inputs
19237 `(("emacs-org" ,emacs-org)))
19238 (home-page "https://github.com/dengste/org-caldav")
19239 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
19240 (description
19241 "Org CalDAV synchronizes events between Org files and a CalDAV
19242 calendar.")
19243 (license license:gpl3+))))
19244
19245 (define-public emacs-zotxt
19246 (package
19247 (name "emacs-zotxt")
19248 (version "5.0.5")
19249 (source
19250 (origin
19251 (method git-fetch)
19252 (uri (git-reference
19253 (url "https://github.com/egh/zotxt-emacs")
19254 (commit (string-append "v" version))))
19255 (file-name (git-file-name name version))
19256 (sha256
19257 (base32 "1zr67h0w49rsi84mgf6jdili28h8782q6vjl8za0iq1hcx9zqxyf"))))
19258 (build-system emacs-build-system)
19259 (propagated-inputs
19260 `(("emacs-deferred" ,emacs-deferred)
19261 ("emacs-request" ,emacs-request)))
19262 (home-page "https://github.com/egh/zotxt-emacs")
19263 (synopsis "Integrate Emacs with Zotero")
19264 (description "This package provides two integration features between Emacs
19265 and the Zotero research assistant: Insertion of links to Zotero items into an
19266 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
19267 (license license:gpl3+)))
19268
19269 (define-public emacs-evil-magit
19270 (let ((commit "253c644807013fe92429acdef418748794b8f254")
19271 (revision "4"))
19272 (package
19273 (name "emacs-evil-magit")
19274 (version (git-version "0.4.2" revision commit))
19275 (source
19276 (origin
19277 (method git-fetch)
19278 (uri (git-reference
19279 (url "https://github.com/emacs-evil/evil-magit")
19280 (commit commit)))
19281 (file-name (git-file-name name version))
19282 (sha256
19283 (base32
19284 "08mh7phxsdb9w4dfs0pmr4l4fdzzr2rm88z2s8karfi5j5ik2ag5"))))
19285 (build-system emacs-build-system)
19286 (propagated-inputs
19287 `(("emacs-evil" ,emacs-evil)
19288 ("magit" ,emacs-magit)))
19289 (arguments
19290 `(#:tests? #t
19291 #:test-command '("emacs" "-Q" "-batch"
19292 "-L" "."
19293 "-l" "evil-magit-tests"
19294 "-f" "ert-run-tests-batch-and-exit")))
19295 (home-page
19296 "https://github.com/emacs-evil/evil-magit")
19297 (synopsis "Evil-based key bindings for Magit")
19298 (description
19299 "This Emacs library configures Magit and Evil to play well with each other.
19300 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
19301 See the README at @url{https://github.com/justbur/evil-magit} for a table
19302 describing the key binding changes.")
19303 (license license:gpl3+))))
19304
19305 (define-public emacs-evil-multiedit
19306 (package
19307 (name "emacs-evil-multiedit")
19308 (version "1.3.9")
19309 (source
19310 (origin
19311 (method git-fetch)
19312 (uri (git-reference
19313 (url "https://github.com/hlissner/evil-multiedit")
19314 (commit (string-append "v" version))))
19315 (file-name (git-file-name name version))
19316 (sha256
19317 (base32
19318 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
19319 (build-system emacs-build-system)
19320 (propagated-inputs
19321 `(("emacs-evil" ,emacs-evil)
19322 ("emacs-iedit" ,emacs-iedit)))
19323 (native-inputs
19324 `(("emacs-ert-runner" ,emacs-ert-runner)))
19325 (arguments
19326 `(#:phases
19327 (modify-phases %standard-phases
19328 (add-before 'check 'fix-makefile
19329 (lambda _
19330 (substitute* "Makefile"
19331 (("@cask exec ") ""))
19332 #t)))
19333 #:tests? #t
19334 #:test-command '("make" "test")))
19335 (home-page
19336 "https://github.com/hlissner/evil-multiedit")
19337 (synopsis "Multiple cursors for Evil mode")
19338 (description
19339 "This plugin was an answer to the lack of proper multiple cursor support
19340 in Emacs+Evil. It allows you to select and edit matches interactively,
19341 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
19342 defaults.")
19343 (license license:gpl3+)))
19344
19345 (define-public emacs-evil-mc
19346 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
19347 (revision "2"))
19348 (package
19349 (name "emacs-evil-mc")
19350 (version (git-version "0.0.3" revision commit))
19351 (source
19352 (origin
19353 (method git-fetch)
19354 (uri (git-reference
19355 (url "https://github.com/gabesoft/evil-mc")
19356 (commit commit)))
19357 (file-name (git-file-name name version))
19358 (sha256
19359 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
19360 (build-system emacs-build-system)
19361 (propagated-inputs
19362 `(("emacs-evil" ,emacs-evil)))
19363 (native-inputs
19364 `(("emacs-espuds" ,emacs-espuds)))
19365 (home-page "https://github.com/gabesoft/evil-mc")
19366 (synopsis "Interactive search compatible with @code{multiple-cursors}")
19367 (description "This package can be used with @code{multiple-cursors} to
19368 provide an incremental search that moves all fake cursors in sync.")
19369 (license license:expat))))
19370
19371 (define-public emacs-evil-org
19372 (let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf"))
19373 (package
19374 (name "emacs-evil-org")
19375 (version (git-version "1.0.2" "1" commit))
19376 (source
19377 (origin
19378 (method git-fetch)
19379 (uri (git-reference
19380 (url "https://github.com/Somelauw/evil-org-mode")
19381 (commit commit)))
19382 (file-name (git-file-name name version))
19383 (sha256
19384 (base32
19385 "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"))))
19386 (build-system emacs-build-system)
19387 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
19388 (home-page
19389 "https://github.com/Somelauw/evil-org-mode")
19390 (synopsis "Evil keybindings for Org mode")
19391 (description
19392 "This package adds supplemental Evil mode key-bindings to Emacs
19393 Org-mode. It features:
19394 @itemize
19395 @item normal, visual and insert mode bindings;
19396 @item key bindings organised in key themes;
19397 @item operators like > and < to work on headings;
19398 @item text objects;
19399 @item table support;
19400 @item calendar (date selection) support;
19401 @item agenda support.
19402 @end itemize\n")
19403 (license license:gpl3+))))
19404
19405 (define-public emacs-debpaste
19406 (package
19407 (name "emacs-debpaste")
19408 (version "0.1.5")
19409 (home-page "https://github.com/alezost/debpaste.el")
19410 (source
19411 (origin
19412 (method git-fetch)
19413 (uri (git-reference (url home-page)
19414 (commit (string-append "v" version))))
19415 (file-name (git-file-name name version))
19416 (sha256
19417 (base32
19418 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
19419 (build-system emacs-build-system)
19420 (propagated-inputs
19421 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
19422 (synopsis "Manipulate pastes from the Debian Pastezone")
19423 (description "Debpaste is an Emacs interface for the Debian Pastezone,
19424 allowing you to receive, post, and delete pastes. It communicates with the
19425 server using XML-RPC.")
19426 (license license:gpl3+)))
19427
19428 (define-public emacs-xml-rpc
19429 (package
19430 (name "emacs-xml-rpc")
19431 (version "1.6.15")
19432 (source
19433 (origin
19434 (method git-fetch)
19435 (uri (git-reference
19436 (url "https://github.com/hexmode/xml-rpc-el")
19437 (commit version)))
19438 (file-name (git-file-name name version))
19439 (sha256
19440 (base32 "07vgwnk96i1vpsv2glg6kbkamjcs72xiznsa6xk7nl0nranzr3hd"))))
19441 (build-system emacs-build-system)
19442 (home-page "https://github.com/hexmode/xml-rpc-el")
19443 (synopsis "XML-RPC client for Emacs")
19444 (description "This package provides an XML-RPC client for Emacs capable
19445 of both synchronous and asynchronous method calls using the @code{url}
19446 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
19447 datatypes as Lisp values, automatically converting to and from the XML
19448 datastructures as needed, both for method parameters and return values, making
19449 using XML-RPC methods fairly transparent to the Lisp code.")
19450 (license license:gpl3+)))
19451
19452 (define-public emacs-xpm
19453 (package
19454 (name "emacs-xpm")
19455 (version "1.0.4")
19456 (source
19457 (origin
19458 (method url-fetch)
19459 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
19460 version ".tar"))
19461 (sha256
19462 (base32
19463 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
19464 (build-system emacs-build-system)
19465 (home-page "https://elpa.gnu.org/packages/xpm.html")
19466 (synopsis "XPM image editing mode for Emacs")
19467 (description "This Emacs package makes editing XPM images easy (and maybe
19468 fun). Editing is done directly on the (textual) image format, for maximal
19469 cohesion with the Emacs Way.")
19470 (license license:gpl3+)))
19471
19472 (define-public emacs-fish-completion
19473 (package
19474 (name "emacs-fish-completion")
19475 (version "1.2")
19476 (source
19477 (origin
19478 (method git-fetch)
19479 (uri (git-reference
19480 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
19481 (commit version)))
19482 (file-name (git-file-name name version))
19483 (sha256
19484 (base32
19485 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
19486 (build-system emacs-build-system)
19487 (inputs `(("fish" ,fish)))
19488 (arguments
19489 `(#:phases
19490 (modify-phases %standard-phases
19491 (add-after 'unpack 'configure
19492 (lambda* (#:key inputs outputs #:allow-other-keys)
19493 (let ((fish (assoc-ref inputs "fish")))
19494 ;; Specify the absolute file names of the various
19495 ;; programs so that everything works out-of-the-box.
19496 (make-file-writable "fish-completion.el")
19497 (emacs-substitute-variables
19498 "fish-completion.el"
19499 ("fish-completion-command"
19500 (string-append fish "/bin/fish")))))))))
19501 (home-page
19502 "https://gitlab.com/Ambrevar/emacs-fish-completion")
19503 (synopsis "Fish completion for Emacs pcomplete")
19504 (description
19505 "This package provides completion for the Fish shell to pcomplete (used
19506 by shell and Eshell). You can set it up globally with:
19507
19508 @example
19509 (when (and (executable-find \"fish\")
19510 (require 'fish-completion nil t))
19511 (global-fish-completion-mode))
19512 @end example
19513
19514 Alternatively, you can call the @code{fish-completion-mode} manually or in
19515 shell/Eshell mode hook.
19516
19517 The package @code{emacs-bash-completion} is an optional dependency: if available,
19518 @code{fish-completion-complete} can be configured to fall back on bash to further
19519 try completing. See @code{fish-completion-fallback-on-bash-p}.")
19520 (license license:gpl3+)))
19521
19522 (define-public emacs-gif-screencast
19523 (package
19524 (name "emacs-gif-screencast")
19525 (version "1.2")
19526 (source
19527 (origin
19528 (method git-fetch)
19529 (uri (git-reference
19530 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
19531 (commit version)))
19532 (file-name (git-file-name name version))
19533 (sha256
19534 (base32
19535 "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"))))
19536 (build-system emacs-build-system)
19537 (inputs
19538 `(("scrot" ,scrot)
19539 ("imagemagick" ,imagemagick)
19540 ("gifsicle" ,gifsicle)))
19541 (arguments
19542 `(#:phases
19543 (modify-phases %standard-phases
19544 (add-after 'unpack 'configure
19545 (lambda* (#:key inputs outputs #:allow-other-keys)
19546 (let ((scrot (assoc-ref inputs "scrot"))
19547 (imagemagick (assoc-ref inputs "imagemagick"))
19548 (gifsicle (assoc-ref inputs "gifsicle")))
19549 (make-file-writable "gif-screencast.el")
19550 ;; Specify the absolute file names of the various
19551 ;; programs so that everything works out-of-the-box.
19552 (emacs-substitute-variables
19553 "gif-screencast.el"
19554 ("gif-screencast-program"
19555 (string-append scrot "/bin/scrot"))
19556 ("gif-screencast-convert-program"
19557 (string-append imagemagick "/bin/convert"))
19558 ("gif-screencast-cropping-program"
19559 (string-append imagemagick "/bin/mogrify"))
19560 ("gif-screencast-optimize-program"
19561 (string-append gifsicle "/bin/gifsicle")))))))))
19562 (home-page
19563 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
19564 (synopsis "One-frame-per-action GIF recording")
19565 (description
19566 "Call @code{gif-screencast} to start a recording.
19567 A screenshot is taken for every user action. Call
19568 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
19569 the GIF result.")
19570 (license license:gpl3+)))
19571
19572 (define-public emacs-google-translate
19573 (package
19574 (name "emacs-google-translate")
19575 (version "0.12.0")
19576 (source
19577 (origin
19578 (method git-fetch)
19579 (uri (git-reference
19580 (url "https://github.com/atykhonov/google-translate/")
19581 (commit (string-append "v" version))))
19582 (file-name (git-file-name name version))
19583 (sha256
19584 (base32
19585 "0rwpij2bm8d4jq2w5snkp88mfryplw8166dsrjm407n2p6xr48zx"))))
19586 (build-system emacs-build-system)
19587 (home-page "https://github.com/atykhonov/google-translate")
19588 (synopsis "Emacs interface to Google Translate")
19589 (description
19590 "This package provides an Emacs interface to the Google Translate
19591 on-line service.")
19592 (license license:gpl3+)))
19593
19594 (define-public emacs-helm-company
19595 (package
19596 (name "emacs-helm-company")
19597 (version "0.2.5")
19598 (source
19599 (origin
19600 (method git-fetch)
19601 (uri (git-reference
19602 (url "https://github.com/Sodel-the-Vociferous/helm-company")
19603 (commit (string-append "v" version))))
19604 (file-name (git-file-name name version))
19605 (sha256
19606 (base32
19607 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
19608 (build-system emacs-build-system)
19609 (propagated-inputs
19610 `(("emacs-helm" ,emacs-helm)
19611 ("emacs-company" ,emacs-company)))
19612 (native-inputs
19613 `(("emacs-ert-runner" ,emacs-ert-runner)))
19614 (arguments
19615 `(#:tests? #t
19616 #:test-command '("ert-runner")))
19617 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
19618 (synopsis "Helm interface for company-mode")
19619 (description
19620 "This is a Helm interface to company-mode, a text completion
19621 framework.")
19622 (license license:gpl3+)))
19623
19624 (define-public emacs-helm-descbinds
19625 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
19626 (package
19627 (name "emacs-helm-descbinds")
19628 (version (git-version "1.13" "1" commit))
19629 (source
19630 (origin
19631 (method git-fetch)
19632 (uri (git-reference
19633 (url "https://github.com/emacs-helm/helm-descbinds")
19634 (commit commit)))
19635 (file-name (git-file-name name version))
19636 (sha256
19637 (base32
19638 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
19639 (build-system emacs-build-system)
19640 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
19641 (home-page "https://github.com/emacs-helm/helm-descbinds")
19642 (synopsis "Convenient @code{describe-bindings} with Helm")
19643 (description
19644 "This package is a replacement of @code{describe-bindings} for Helm.
19645 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
19646 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
19647 @code{helm-descbinds}. The bindings are presented in a similar way as
19648 @code{describe-bindings} does, but you can use completion to find the command
19649 you searched for and execute it, or view its documentation.")
19650 (license license:gpl3+))))
19651
19652 (define-public emacs-helm-emms
19653 (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2"))
19654 (package
19655 (name "emacs-helm-emms")
19656 (version (git-version "1.3" "3" commit))
19657 (source
19658 (origin
19659 (method git-fetch)
19660 (uri (git-reference
19661 (url "https://github.com/emacs-helm/helm-emms")
19662 (commit commit)))
19663 (file-name (git-file-name name version))
19664 (sha256
19665 (base32
19666 "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg"))))
19667 (build-system emacs-build-system)
19668 (propagated-inputs
19669 `(("emacs-helm" ,emacs-helm)
19670 ("emacs-emms" ,emacs-emms)))
19671 (home-page
19672 "https://github.com/emacs-helm/helm-emms")
19673 (synopsis "Emms for Helm")
19674 (description "Helm interface for Emms to browse all tracks and all folders
19675 from @code{emms-source-file-default-directory}.")
19676 (license license:gpl3+))))
19677
19678 (define-public emacs-helm-exwm
19679 (package
19680 (name "emacs-helm-exwm")
19681 (version "0.0.2")
19682 (source
19683 (origin
19684 (method git-fetch)
19685 (uri (git-reference
19686 (url "https://github.com/emacs-helm/helm-exwm")
19687 (commit version)))
19688 (file-name (git-file-name name version))
19689 (sha256
19690 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
19691 (build-system emacs-build-system)
19692 (propagated-inputs
19693 `(("emacs-helm" ,emacs-helm)
19694 ("emacs-exwm" ,emacs-exwm)))
19695 (home-page
19696 "https://github.com/emacs-helm/helm-exwm")
19697 (synopsis "Helm for EXWM buffers")
19698 (description
19699 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
19700 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
19701 switch between the various windows of one or several specific applications.
19702 See @code{helm-exwm-switch-browser} for an example.")
19703 (license license:gpl3+)))
19704
19705 (define-public emacs-helm-flycheck
19706 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
19707 (package
19708 (name "emacs-helm-flycheck")
19709 (version (git-version "0.4" "1" commit))
19710 (source
19711 (origin
19712 (method git-fetch)
19713 (uri (git-reference
19714 (url "https://github.com/yasuyk/helm-flycheck")
19715 (commit commit)))
19716 (file-name (git-file-name name version))
19717 (sha256
19718 (base32
19719 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
19720 (build-system emacs-build-system)
19721 (propagated-inputs
19722 `(("emacs-dash" ,emacs-dash)
19723 ("emacs-flycheck" ,emacs-flycheck)
19724 ("emacs-helm" ,emacs-helm)))
19725 (home-page "https://github.com/yasuyk/helm-flycheck")
19726 (synopsis "Show Flycheck errors with Helm")
19727 (description
19728 "This integrates Flycheck with Helm.")
19729 (license license:gpl3+))))
19730
19731 (define-public emacs-helm-ls-git
19732 (let ((commit "4da1a53f2f0a078ee2e896a914a1b19c0bf1d5ed"))
19733 (package
19734 (name "emacs-helm-ls-git")
19735 (version (git-version "1.9.1" "2" commit))
19736 (source
19737 (origin
19738 (method git-fetch)
19739 (uri (git-reference
19740 (url "https://github.com/emacs-helm/helm-ls-git")
19741 (commit commit)))
19742 (file-name (git-file-name name version))
19743 (sha256
19744 (base32
19745 "12fi08w20yjsdfkxl1pk9q4w0z9l92va5fa5ghay9w33xlymc8dc"))))
19746 (build-system emacs-build-system)
19747 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
19748 (home-page "https://github.com/emacs-helm/helm-ls-git")
19749 (synopsis "Helm interface for listing the files in a Git repository")
19750 (description
19751 "This package provides a Helm interface for Git files.
19752 @itemize
19753 @item Display the open buffers in project.
19754 @item Display a status source showing state of project (modified files etc.).
19755 @item Display a list of all files in project under git control.
19756 @item Quickly look at diffs of modified files.
19757 @item Allow switching to @code{git status} with your preferred frontend
19758 (vc-dir, Magit,etc.).
19759 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
19760 can use ack-grep instead of grep).
19761 @item Integrate usage of gid from id-utils.
19762 @item Full integration with @code{helm-find-files}, allow you to browse
19763 projects unrelated to current-buffer.
19764 @item In addition, all actions of type files and buffers are provided.
19765 @end itemize\n")
19766 (license license:gpl3+))))
19767
19768 (define-public emacs-helm-mu
19769 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
19770 (package
19771 (name "emacs-helm-mu")
19772 (version (git-version "20180513" "1" commit))
19773 (source
19774 (origin
19775 (method git-fetch)
19776 (uri (git-reference
19777 (url "https://github.com/emacs-helm/helm-mu")
19778 (commit commit)))
19779 (file-name (git-file-name name version))
19780 (sha256
19781 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
19782 (build-system emacs-build-system)
19783 (propagated-inputs
19784 `(("emacs-helm" ,emacs-helm)
19785 ("mu" ,mu)))
19786 (home-page
19787 "https://github.com/emacs-helm/helm-mu")
19788 (synopsis
19789 "Helm sources for searching emails and contacts")
19790 (description
19791 "Helm sources for searching emails and contacts using @code{mu} and
19792 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
19793 Emacs build on top of mu. Mu is highly efficient making it possible to get
19794 instant results even for huge maildirs. It also provides search operators,
19795 e.g: @code{from:Peter to:Anne flag:attach search term}.")
19796 (license license:gpl3+))))
19797
19798 (define-public emacs-helm-pass
19799 (package
19800 (name "emacs-helm-pass")
19801 (version "0.4")
19802 (source
19803 (origin
19804 (method git-fetch)
19805 (uri (git-reference
19806 (url "https://github.com/emacs-helm/helm-pass")
19807 (commit version)))
19808 (file-name (git-file-name name version))
19809 (sha256
19810 (base32
19811 "19w24isddzamkikq17vbv3y7ha22i7wc09d2nqw1j0qwhrrfkng9"))))
19812 (build-system emacs-build-system)
19813 (propagated-inputs
19814 `(("emacs-helm" ,emacs-helm)
19815 ("emacs-password-store" ,emacs-password-store)))
19816 (home-page "https://github.com/emacs-helm/helm-pass")
19817 (synopsis "Helm interface to pass, the standard Unix password manager")
19818 (description
19819 "Users of @code{helm-pass} may also be interested in functionality
19820 provided by other Emacs packages dealing with pass:
19821 @itemize
19822 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
19823 @item @code{emacs-pass}, a major mode for @code{pass}.
19824 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
19825 @code{pass}, included in Emacs 26+).
19826 @end itemize\n")
19827 (license license:gpl3+)))
19828
19829 (define-public emacs-image+
19830 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
19831 (package
19832 (name "emacs-image+")
19833 (version (git-version "0.6.2" "1" commit))
19834 (source
19835 (origin
19836 (method git-fetch)
19837 (uri (git-reference
19838 (url "https://github.com/mhayashi1120/Emacs-imagex")
19839 (commit commit)))
19840 (file-name (git-file-name name version))
19841 (sha256
19842 (base32
19843 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
19844 (build-system emacs-build-system)
19845 (inputs `(("imagemagick" ,imagemagick)))
19846 (arguments
19847 `(#:phases
19848 (modify-phases %standard-phases
19849 (add-after 'unpack 'configure
19850 (lambda* (#:key inputs outputs #:allow-other-keys)
19851 (let ((imagemagick (assoc-ref inputs "imagemagick")))
19852 ;; Specify the absolute file names of the various
19853 ;; programs so that everything works out-of-the-box.
19854 (chmod "image+.el" #o666)
19855 (emacs-substitute-variables
19856 "image+.el"
19857 ("imagex-convert-command"
19858 (string-append imagemagick "/bin/convert"))
19859 ("imagex-identify-command"
19860 (string-append imagemagick "/bin/identify")))))))))
19861 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
19862 (synopsis "Image manipulation extensions for Emacs")
19863 (description
19864 "Image+ provides keybindings allowing you to zoom in or zoom out of an
19865 image, rotate it, save modified images, and more.")
19866 (license license:gpl3+))))
19867
19868 (define-public emacs-package-lint
19869 ;; The commit below includes a fix for a missing file, "stdlib-changes",
19870 ;; preventing build.
19871 (let ((commit "14c216f4889e71eec2a9da64e36ab8990337e82d")
19872 (version "0.13")
19873 (revision "0"))
19874 (package
19875 (name "emacs-package-lint")
19876 (version (git-version version revision commit))
19877 (source
19878 (origin
19879 (method git-fetch)
19880 (uri (git-reference
19881 (url "https://github.com/purcell/package-lint")
19882 (commit commit)))
19883 (file-name (git-file-name name version))
19884 (sha256
19885 (base32
19886 "1zifiqmpj9j14fnrm3jxapady25m1nlm514nfry0jfrhhikvj6i8"))))
19887 (arguments
19888 '(#:include (cons "^data/" %default-include)))
19889 (build-system emacs-build-system)
19890 (home-page "https://github.com/purcell/package-lint")
19891 (synopsis "Linting library for elisp package authors")
19892 (description
19893 "This provides a list of issues with the Emacs package metadata of a file,
19894 e.g. the package dependencies it requires. See function
19895 @code{package-lint-buffer}. Checks will currently be enabled only if a
19896 \"Package-Requires:\" or \"Package-Version:\" header is present in the
19897 file.")
19898 (license license:gpl3+))))
19899
19900 (define-public emacs-picpocket
19901 (let ((version "40")
19902 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
19903 (package
19904 (name "emacs-picpocket")
19905 (version version)
19906 (source
19907 (origin
19908 (method git-fetch)
19909 (uri (git-reference
19910 (url "https://github.com/johanclaesson/picpocket")
19911 (commit commit)))
19912 (file-name (git-file-name name version))
19913 (sha256
19914 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
19915 (build-system emacs-build-system)
19916 (arguments ; needed for running tests
19917 `(#:tests? #t
19918 #:emacs ,emacs
19919 #:test-command '("emacs" "--batch"
19920 "-l" "picpocket-test.el"
19921 "-f" "ert-run-tests-batch-and-exit")))
19922 (home-page "https://github.com/johanclaesson/picpocket")
19923 (synopsis "Image viewer for Emacs")
19924 (description
19925 "Picpocket is an image viewer for GNU Emacs. It has commands for:
19926
19927 @itemize
19928 @item File operations on the picture files (delete, move, copy, hardlink).
19929 @item Scale and rotate the picture.
19930 @item Associate pictures with tags which are saved to disk.
19931 @item Filter pictures according to tags.
19932 @item Customizing keystrokes for quick tagging and file operations.
19933 @item Undo and browse history of undoable commands.
19934 @end itemize")
19935 (license license:gpl3+))))
19936
19937 (define-public emacs-mu4e-conversation
19938 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
19939 (revision "5"))
19940 (package
19941 (name "emacs-mu4e-conversation")
19942 (version (git-version "0.0.1" revision commit))
19943 (source
19944 (origin
19945 (method git-fetch)
19946 (uri (git-reference
19947 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
19948 (commit commit)))
19949 (file-name (git-file-name name version))
19950 (sha256
19951 (base32
19952 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
19953 (build-system emacs-build-system)
19954 (propagated-inputs
19955 `(("mu" ,mu)))
19956 (home-page
19957 "https://gitlab.com/Ambrevar/mu4e-conversation")
19958 (synopsis
19959 "Show a complete thread in a single buffer")
19960 (description
19961 "This package offers an alternate view to mu4e's e-mail display. It
19962 shows all e-mails of a thread in a single view, where each correspondent has
19963 their own face. Threads can be displayed linearly (in which case e-mails are
19964 displayed in chronological order) or as an Org document where the node tree
19965 maps the thread tree.")
19966 (license license:gpl3+))))
19967
19968 (define-public emacs-pinentry
19969 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
19970 (revision "1"))
19971 (package
19972 (name "emacs-pinentry")
19973 (version (git-version "0.1" revision commit))
19974 (source
19975 (origin
19976 (method url-fetch)
19977 (uri (string-append
19978 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
19979 "/packages/pinentry/pinentry.el?id=" commit))
19980 (file-name (string-append "pinentry.el"))
19981 (sha256
19982 (base32
19983 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
19984 (build-system emacs-build-system)
19985 (propagated-inputs
19986 `(("gnupg" ,gnupg)))
19987 (home-page "https://elpa.gnu.org/packages/pinentry.html")
19988 (synopsis "GnuPG Pinentry server implementation")
19989 (description
19990 "This package allows GnuPG passphrase to be prompted through the
19991 minibuffer instead of graphical dialog.
19992
19993 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
19994 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
19995 server with @code{M-x pinentry-start}.")
19996 (license license:gpl3+))))
19997
19998 (define-public emacs-so-long
19999 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
20000 (revision "2"))
20001 (package
20002 (name "emacs-so-long")
20003 (version (git-version "1.0" revision commit))
20004 (source
20005 (origin
20006 (method git-fetch)
20007 (uri (git-reference
20008 (url "https://git.savannah.gnu.org/git/so-long.git")
20009 (commit commit)))
20010 (file-name (git-file-name name version))
20011 (sha256
20012 (base32
20013 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
20014 (build-system emacs-build-system)
20015 (home-page "https://www.emacswiki.org/emacs/SoLong")
20016 (synopsis "Improve performance in files with long lines")
20017 (description "This package improves the performance of Emacs when
20018 viewing files with long lines. It is included as standard with Emacs 27 or
20019 later.")
20020 (license license:gpl3+))))
20021
20022 (define-public emacs-github-review
20023 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
20024 (revision "2"))
20025 (package
20026 (name "emacs-github-review")
20027 (version (git-version "0.1" revision commit))
20028 (source
20029 (origin
20030 (method git-fetch)
20031 (uri (git-reference
20032 (url "https://github.com/charignon/github-review")
20033 (commit commit)))
20034 (file-name (git-file-name name version))
20035 (sha256
20036 (base32
20037 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
20038 (build-system emacs-build-system)
20039 (inputs
20040 `(("emacs-dash" ,emacs-dash)
20041 ("emacs-s" ,emacs-s)
20042 ("emacs-ghub" ,emacs-ghub)))
20043 (native-inputs
20044 `(("emacs-buttercup" ,emacs-buttercup)
20045 ("emacs-undercover" ,emacs-undercover)))
20046 (arguments
20047 `(#:tests? #t
20048 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
20049 (home-page "https://github.com/charignon/github-review")
20050 (synopsis "Review GitHub pull requests within Emacs")
20051 (description "This package provides commands to pull in, comment on, and
20052 accept and reject GitHub pull requests.")
20053 (license license:gpl3+))))
20054
20055 (define-public emacs-deadgrep
20056 (let ((commit "7e50e71c6ff4e17dded43e0836dae4e5ec020fcf")
20057 (revision "1"))
20058 (package
20059 (name "emacs-deadgrep")
20060 (version (git-version "0.10" revision commit))
20061 (source
20062 (origin
20063 (method git-fetch)
20064 (uri (git-reference
20065 (url "https://github.com/Wilfred/deadgrep")
20066 (commit commit)))
20067 (file-name (git-file-name name version))
20068 (sha256
20069 (base32
20070 "1vjhrq02l8gvdn2haygzq7277hnhjchs9xrfpcnh76gqip200gx4"))))
20071 (build-system emacs-build-system)
20072 (propagated-inputs
20073 `(("emacs-dash" ,emacs-dash)
20074 ("emacs-s" ,emacs-s)
20075 ("emacs-spinner" ,emacs-spinner)))
20076 (home-page "https://github.com/Wilfred/deadgrep")
20077 (synopsis "Frontend for @code{ripgrep}")
20078 (description "This package provides an Emacs interface for performing
20079 searches with @code{ripgrep}.")
20080 (license license:gpl3+))))
20081
20082 (define-public emacs-focus
20083 (let ((commit "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0")
20084 (version "1.0.0")
20085 (revision "1"))
20086 (package
20087 (name "emacs-focus")
20088 (version (git-version version revision commit))
20089 (source
20090 (origin
20091 (method git-fetch)
20092 (uri (git-reference
20093 (url "https://github.com/larstvei/Focus")
20094 (commit commit)))
20095 (file-name (git-file-name name version))
20096 (sha256
20097 (base32
20098 "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw"))))
20099 (build-system emacs-build-system)
20100 (home-page "https://github.com/larstvei/Focus")
20101 (synopsis "Minor mode for focusing in on relevant text")
20102 (description "This package provides a minor mode that dims the color of
20103 text in neighboring sections.")
20104 (license license:gpl3+))))
20105
20106 (define-public emacs-pandoc-mode
20107 (package
20108 (name "emacs-pandoc-mode")
20109 (version "2.30.1")
20110 (source
20111 (origin
20112 (method git-fetch)
20113 (uri (git-reference
20114 (url "https://github.com/joostkremers/pandoc-mode")
20115 (commit version)))
20116 (file-name (git-file-name name version))
20117 (sha256
20118 (base32
20119 "1k31pkvd9m798i6phcr0y3wd34fgq6ii41hx3lszmikvxb1yvm2y"))))
20120 (build-system emacs-build-system)
20121 (propagated-inputs
20122 `(("emacs-dash" ,emacs-dash)
20123 ("emacs-hydra" ,emacs-hydra)))
20124 (home-page "https://github.com/joostkremers/pandoc-mode")
20125 (synopsis "Minor mode for interacting with Pandoc")
20126 (description "This package provides a Hydra menu for interacting with the
20127 Pandoc, the document-conversion tool.")
20128 (license license:bsd-3)))
20129
20130 (define-public emacs-hlint-refactor-mode
20131 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
20132 (revision "1"))
20133 (package
20134 (name "emacs-hlint-refactor-mode")
20135 (version (git-version "0.0.1" revision commit))
20136 (source
20137 (origin
20138 (method git-fetch)
20139 (uri (git-reference
20140 (url "https://github.com/mpickering/hlint-refactor-mode")
20141 (commit commit)))
20142 (file-name (git-file-name name version))
20143 (sha256
20144 (base32
20145 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
20146 (build-system emacs-build-system)
20147 (propagated-inputs
20148 `(("apply-refact" ,apply-refact)
20149 ("hlint" ,hlint)))
20150 (home-page "https://github.com/mpickering/hlint-refactor-mode")
20151 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
20152 (description "This package applies refactoring suggestions from
20153 @code{hlint}.")
20154 (license license:expat))))
20155
20156 (define-public emacs-ccls
20157 (let ((commit "675a5704c14a27931e835a431beea3631d92e8e6")
20158 (revision "5"))
20159 (package
20160 (name "emacs-ccls")
20161 (version (git-version "0.1" revision commit))
20162 (source
20163 (origin
20164 (method git-fetch)
20165 (uri (git-reference
20166 (url "https://github.com/MaskRay/emacs-ccls")
20167 (commit commit)))
20168 (file-name (git-file-name name version))
20169 (sha256
20170 (base32
20171 "0l4bhyr9d8ljz1f0cfg1s2cjcmh6fiwbk5mdlvc7rrwz5hxc21is"))))
20172 (build-system emacs-build-system)
20173 (propagated-inputs
20174 `(("ccls" ,ccls)
20175 ("emacs-dash" ,emacs-dash)
20176 ("emacs-lsp-mode" ,emacs-lsp-mode)))
20177 (home-page "https://github.com/MaskRay/emacs-ccls")
20178 (synopsis "Emacs support for the @code{ccls} language server")
20179 (description "This package extends @code{lsp-mode} to work with @code{C}
20180 and @code{C++} files through the @code{ccls} language server.")
20181 (license license:expat))))
20182
20183 (define-public emacs-org-brain
20184 (package
20185 (name "emacs-org-brain")
20186 (version "0.5")
20187 (source
20188 (origin
20189 (method git-fetch)
20190 (uri (git-reference
20191 (url "https://github.com/Kungsgeten/org-brain")
20192 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
20193 (file-name (git-file-name name version))
20194 (sha256
20195 (base32
20196 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
20197 (build-system emacs-build-system)
20198 (home-page "https://github.com/Kungsgeten/org-brain")
20199 (synopsis "Org-mode wiki and concept-mapping for Emacs")
20200 (description "@code{emacs-org-brain} implements a variant of concept
20201 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
20202 org-mode entries, where each entry is a file or a headline, and you can get a
20203 visual overview of the relationships between the entries: parents, children,
20204 siblings and friends. This visual overview can also be used to browse your
20205 entries. You can think of entries as nodes in a mind map, or pages in a
20206 wiki.")
20207 (license license:expat)))
20208
20209 (define-public emacs-recent-addresses
20210 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
20211 (revision "1"))
20212 (package
20213 (name "emacs-recent-addresses")
20214 (home-page "https://nschum.de/src/emacs/recent-addresses/")
20215 (version (git-version "0.1" revision commit))
20216 (source (origin
20217 (method git-fetch)
20218 (uri (git-reference
20219 ;; Note: Use a branch that works with Helm. Submitted
20220 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
20221 (url "https://github.com/civodul/recent-addresses.el")
20222 (commit commit)))
20223 (sha256
20224 (base32
20225 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
20226 (file-name (git-file-name name version))))
20227 (build-system emacs-build-system)
20228 (synopsis "Record recently-used email addressed and auto-complete them")
20229 (description
20230 "@code{recent-addresses} is an Emacs package that allows you to quickly
20231 look up previously used email addresses. It can be used alongside the Gnus
20232 email client.")
20233 (license license:gpl2+))))
20234
20235 (define-public emacs-fold-dwim
20236 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
20237 (revision "0"))
20238 (package
20239 (name "emacs-fold-dwim")
20240 (version (git-version "1.2" revision commit))
20241 (home-page "https://github.com/emacsattic/fold-dwim")
20242 (source (origin
20243 (method git-fetch)
20244 (uri (git-reference (url home-page) (commit commit)))
20245 (sha256
20246 (base32
20247 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
20248 (file-name (git-file-name name version))))
20249 (build-system emacs-build-system)
20250 (synopsis "Unified user interface for Emacs folding modes")
20251 (description
20252 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
20253 can do different things depending on the context. In this package, it means
20254 that, if the cursor is in a currently hidden folded construction, we want to
20255 show it; if it's not, we want to hide whatever fold the cursor is in.")
20256 (license license:gpl2+))))
20257
20258 (define-public emacs-markup-faces
20259 (package
20260 (name "emacs-markup-faces")
20261 (version "1.0.0")
20262 (source
20263 (origin
20264 (method url-fetch)
20265 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
20266 version ".el"))
20267 (sha256
20268 (base32
20269 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
20270 (build-system emacs-build-system)
20271 (home-page "https://github.com/sensorflo/markup-faces")
20272 (synopsis "Collection of Emacs faces for markup language modes")
20273 (description "emacs-markup-faces is like font-lock-faces, but tailored for
20274 markup languages instead programming languages. The sub group markup-faces-text
20275 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
20276 common look and feel, or let's say theme, across different markup language modes
20277 and 'text viewing modes' respectively.")
20278 (license license:gpl3+)))
20279
20280 (define-public emacs-adoc-mode
20281 (package
20282 (name "emacs-adoc-mode")
20283 (version "0.6.6")
20284 (source
20285 (origin
20286 (method git-fetch)
20287 (uri (git-reference
20288 (url "https://github.com/sensorflo/adoc-mode")
20289 (commit (string-append "V" version))))
20290 (file-name (git-file-name name version))
20291 (sha256
20292 (base32
20293 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
20294 (build-system emacs-build-system)
20295 (arguments
20296 `(#:phases
20297 (modify-phases %standard-phases
20298 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
20299 (add-after 'unpack 'disable-failing-tests
20300 (lambda _
20301 (let-syntax
20302 ((disable-tests
20303 (syntax-rules ()
20304 ((_ file ())
20305 (syntax-error "test names list must not be empty"))
20306 ((_ file (test-name ...))
20307 (substitute* file
20308 (((string-append "^\\(ert-deftest " test-name ".*") all)
20309 (string-append all "(skip-unless nil)\n")) ...)))))
20310 (disable-tests "adoc-mode-test.el"
20311 ("adoctest-test-tempo-delimited-blocks"
20312 "adoctest-test-tempo-macros"
20313 "adoctest-test-tempo-paragraphs"
20314 "adoctest-test-tempo-passthroug-macros"
20315 "adoctest-test-tempo-quotes")))
20316 #t)))
20317 #:tests? #t
20318 #:test-command '("emacs" "-Q" "-batch"
20319 "-l" "adoc-mode-test.el"
20320 "-f" "ert-run-tests-batch-and-exit")))
20321 (propagated-inputs
20322 `(("emacs-markup-faces" ,emacs-markup-faces)))
20323 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
20324 (synopsis "AsciiDoc mode for Emacs")
20325 (description "This package provides an Emacs major mode for editing AsciiDoc
20326 files. It focuses on highlighting the document to improve readability.")
20327 (license license:gpl2+)))
20328
20329 (define-public emacs-racer
20330 (package
20331 (name "emacs-racer")
20332 (version "1.2")
20333 (source
20334 (origin
20335 (method git-fetch)
20336 (uri
20337 (git-reference
20338 (url "https://github.com/racer-rust/emacs-racer")
20339 (commit version)))
20340 (file-name (git-file-name name version))
20341 (sha256
20342 (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
20343 (arguments
20344 `(#:tests? #t
20345 #:test-command '("make" "test")
20346 #:phases
20347 (modify-phases %standard-phases
20348 (add-before 'check 'fix-makefile
20349 (lambda _
20350 (substitute* "Makefile"
20351 (("\\$\\{CASK\\} exec ") ""))
20352 #t))
20353 ;; Two tests are failing with Emacs 27, as reported here:
20354 ;; <https://github.com/racer-rust/emacs-racer/issues/136>. Disable
20355 ;; them.
20356 (add-before 'check 'fix-failing-tests
20357 (lambda _
20358 (substitute* "test/racer-test.el"
20359 (("`Write`") "Write")
20360 (("^\\\\\\[`str\\]:.*") "")
20361 ((" \\[`str`\\]") " str"))
20362 #t)))))
20363 (native-inputs
20364 `(("emacs-ert-runner" ,emacs-ert-runner)
20365 ("emacs-undercover" ,emacs-undercover)))
20366 (propagated-inputs
20367 `(("emacs-dash" ,emacs-dash)
20368 ("emacs-f" ,emacs-f)
20369 ("emacs-pos-tip" ,emacs-pos-tip)
20370 ("emacs-rust-mode" ,emacs-rust-mode)
20371 ("emacs-s" ,emacs-s)))
20372 (build-system emacs-build-system)
20373 (home-page "https://github.com/racer-rust/emacs-racer")
20374 (synopsis "Racer support for Emacs")
20375 (description
20376 "This is the official Emacs package for Racer. It supports code
20377 completion of variables, functions and modules. It can also jump to
20378 definition of functions and types, and show a help buffer based on the
20379 docstring of the thing at point.")
20380 (license license:expat)))
20381
20382 (define-public emacs-rust-mode
20383 (package
20384 (name "emacs-rust-mode")
20385 (version "0.5.0")
20386 (source (origin
20387 (method git-fetch)
20388 (uri (git-reference
20389 (url "https://github.com/rust-lang/rust-mode")
20390 (commit version)))
20391 (file-name (git-file-name name version))
20392 (sha256
20393 (base32
20394 "1f3nnl0d7p9b5cv1bpm0hj898qmr2psxfvmqr61bh684z7fgc045"))))
20395 (build-system emacs-build-system)
20396 (arguments
20397 `(#:phases
20398 (modify-phases %standard-phases
20399 (replace 'check
20400 (lambda _
20401 (invoke "sh" "run_rust_emacs_tests.sh"))))))
20402 (home-page "https://github.com/rust-lang/rust-mode")
20403 (synopsis "Major Emacs mode for editing Rust source code")
20404 (description "This package provides a major Emacs mode for editing Rust
20405 source code.")
20406 (license (list license:expat
20407 license:asl2.0))))
20408
20409 (define-public emacs-ztree
20410 ;; Upstream provides no tag, but the commit below matches latest release.
20411 (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))
20412 (package
20413 (name "emacs-ztree")
20414 (version "1.0.6")
20415 (source
20416 (origin
20417 (method git-fetch)
20418 (uri (git-reference
20419 (url "https://github.com/fourier/ztree")
20420 (commit commit)))
20421 (file-name (git-file-name name version))
20422 (sha256
20423 (base32
20424 "03i5pa3nfdz6g0yrdk7r2qcn679w0s85cc5kcmgrwlnhdzakgr80"))))
20425 (build-system emacs-build-system)
20426 (home-page "https://github.com/fourier/ztree")
20427 (synopsis "Directory tree comparison mode for Emacs")
20428 (description "Ztree is a project dedicated to implementation of several
20429 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
20430 @command{ztree-diff} and @command{ztree-dir} (the basis of
20431 @command{ztree-diff}).")
20432 (license license:gpl3))))
20433
20434 (define-public emacs-helm-org-contacts
20435 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
20436 (package
20437 (name "emacs-helm-org-contacts")
20438 (version (git-version "20200310" "1" commit))
20439 (source
20440 (origin
20441 (method git-fetch)
20442 (uri (git-reference
20443 (url "https://github.com/tmalsburg/helm-org-contacts")
20444 (commit commit)))
20445 (file-name (git-file-name name version))
20446 (sha256
20447 (base32
20448 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
20449 (build-system emacs-build-system)
20450 (propagated-inputs
20451 `(("emacs-dash" ,emacs-dash)
20452 ("emacs-helm" ,emacs-helm)
20453 ("emacs-s" ,emacs-s)))
20454 (home-page "https://github.com/tmalsburg/helm-org-contacts")
20455 (synopsis "Helm source for org-contacts")
20456 (description "This Helm source can be used to search contacts stored in
20457 org-contacts format. There are actions for inserting postal addresses, email
20458 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
20459 was called.")
20460 (license license:gpl3))))
20461
20462 (define-public emacs-dired-du
20463 (package
20464 (name "emacs-dired-du")
20465 (version "0.5.2")
20466 (source
20467 (origin
20468 (method url-fetch)
20469 (uri (string-append
20470 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
20471 (sha256
20472 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
20473 (build-system emacs-build-system)
20474 (home-page "https://elpa.gnu.org/packages/dired-du.html")
20475 (synopsis "Dired with recursive directory sizes")
20476 (description
20477 "Display the recursive size of directories in Dired.
20478 This file defines a minor mode @command{dired-du-mode} to show the recursive
20479 size of directories in Dired buffers. If @command{du} program is available,
20480 then the directory sizes are obtained with it. Otherwise, the directory sizes
20481 are obtained with Lisp. The former is faster and provide a more precise
20482 value. For directories where the user doesn't have read permission, the
20483 recursive size is not obtained. Once this mode is enabled, every new Dired
20484 buffer displays recursive dir sizes.")
20485 (license license:gpl3+)))
20486
20487 (define-public emacs-dired-rsync
20488 (package
20489 (name "emacs-dired-rsync")
20490 (version "0.6")
20491 (source (origin
20492 (method git-fetch)
20493 (uri (git-reference
20494 (url "https://github.com/stsquad/dired-rsync")
20495 (commit version)))
20496 (file-name (git-file-name name version))
20497 (sha256
20498 (base32
20499 "19za6i96xrmczdh928n5ixd7j7pvy175sz1msaiwvdjwysjr8k51"))))
20500 (build-system emacs-build-system)
20501 (propagated-inputs
20502 `(("emacs-s" ,emacs-s)
20503 ("emacs-dash" ,emacs-dash)))
20504 (home-page "https://github.com/stsquad/dired-rsync/")
20505 (synopsis "Support for rsync from Emacs dired buffers")
20506 (description "This package adds a single command @code{dired-rsync} which
20507 allows the user to copy marked files in a dired buffer via @code{rsync}. This
20508 is useful, especially for large files, because the copy happens in the
20509 background and doesn’t lock up Emacs. It is also more efficient than using
20510 tramps own encoding methods for moving data between systems.")
20511 (license license:gpl3+)))
20512
20513 (define-public emacs-pcre2el
20514 ;; Last release is very old so we get the latest commit.
20515 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
20516 (package
20517 (name "emacs-pcre2el")
20518 (version (git-version "1.8" "1" commit))
20519 (source
20520 (origin
20521 (method git-fetch)
20522 (uri (git-reference
20523 (url "https://github.com/joddie/pcre2el")
20524 (commit commit)))
20525 (file-name (git-file-name name version))
20526 (sha256
20527 (base32
20528 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
20529 (build-system emacs-build-system)
20530 (home-page "https://github.com/joddie/pcre2el")
20531 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
20532 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
20533 Tools) is a utility for working with regular expressions in Emacs, based on a
20534 recursive-descent parser for regexp syntax. In addition to converting (a
20535 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
20536
20537 @itemize
20538 @item convert Emacs syntax to PCRE
20539 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
20540 @item untangle complex regexps by showing the parse tree in @code{rx} form and
20541 highlighting the corresponding chunks of code
20542 @item show the complete list of strings (productions) matching a regexp,
20543 provided the list is finite
20544 @item provide live font-locking of regexp syntax (so far only for Elisp
20545 buffers – other modes on the TODO list).
20546 @end itemize\n")
20547 (license license:gpl3))))
20548
20549 (define-public emacs-magit-todos
20550 (package
20551 (name "emacs-magit-todos")
20552 (version "1.5.3")
20553 (source
20554 (origin
20555 (method git-fetch)
20556 (uri (git-reference
20557 (url "https://github.com/alphapapa/magit-todos")
20558 (commit version)))
20559 (file-name (git-file-name name version))
20560 (sha256
20561 (base32
20562 "12ay02vk6bk77k33mhlqi41m03a77y80b15rj1dbh1n6jfrjwkfy"))))
20563 (build-system emacs-build-system)
20564 (propagated-inputs
20565 `(("emacs-async" ,emacs-async)
20566 ("emacs-dash" ,emacs-dash)
20567 ("emacs-f" ,emacs-f)
20568 ("emacs-hl-todo" ,emacs-hl-todo)
20569 ("magit" ,emacs-magit)
20570 ("emacs-pcre2el" ,emacs-pcre2el)
20571 ("emacs-s" ,emacs-s)))
20572 (home-page "https://github.com/alphapapa/magit-todos")
20573 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
20574 (description "This package displays keyword entries from source code
20575 comments and Org files in the Magit status buffer. Activating an item jumps
20576 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
20577 few (like NOTE).")
20578 (license license:gpl3)))
20579
20580 (define-public emacs-git-annex
20581 ;; Unreleased version has a fontification fix.
20582 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
20583 (revision "2"))
20584 (package
20585 (name "emacs-git-annex")
20586 (version (git-version "1.1" revision commit))
20587 (source
20588 (origin
20589 (method git-fetch)
20590 (uri (git-reference
20591 (url "https://github.com/jwiegley/git-annex-el")
20592 (commit commit)))
20593 (file-name (git-file-name name version))
20594 (sha256
20595 (base32
20596 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
20597 (build-system emacs-build-system)
20598 (home-page "https://github.com/jwiegley/git-annex-el")
20599 (synopsis "Emacs integration for git-annex")
20600 (description "Enhances Dired and buffers visiting annex files with
20601 git-annex functionality. In Dired, the names of annex files are shortened by
20602 hiding the symbolic links and fontified based on whether content is present.
20603 Commands for performing some common operations (e.g., unlocking and adding
20604 files) are provided.")
20605 (license license:gpl2+))))
20606
20607 (define-public emacs-hackernews
20608 (package
20609 (name "emacs-hackernews")
20610 (version "0.6.1")
20611 (source
20612 (origin
20613 (method git-fetch)
20614 (uri (git-reference
20615 (url "https://github.com/clarete/hackernews.el")
20616 (commit (string-append "v" version))))
20617 (file-name (git-file-name name version))
20618 (sha256
20619 (base32
20620 "17lkjcka6ydd6khhz5jbjlybfpx05153z0d8s1rxaxcwl7z2y6cf"))))
20621 (build-system emacs-build-system)
20622 (home-page "https://github.com/clarete/hackernews.el")
20623 (synopsis "Hacker News client for Emacs")
20624 (description "The @command{hackernews} package is able to fetch stories
20625 from six different Hacker News feeds, namely top, new, best, ask, show and job
20626 stories. The default feed is top stories, which corresponds to the Hacker
20627 News homepage.")
20628 (license license:gpl3)))
20629
20630 (define-public emacs-youtube-dl
20631 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
20632 (revision "2"))
20633 (package
20634 (name "emacs-youtube-dl")
20635 (version (git-version "1.0" "2" commit))
20636 (source
20637 (origin
20638 (method git-fetch)
20639 (uri (git-reference
20640 (url "https://github.com/skeeto/youtube-dl-emacs/")
20641 (commit commit)))
20642 (file-name (git-file-name name version))
20643 (sha256
20644 (base32
20645 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
20646 (build-system emacs-build-system)
20647 (inputs
20648 `(("youtube-dl" ,youtube-dl)))
20649 (arguments
20650 `(#:phases
20651 (modify-phases %standard-phases
20652 (add-after 'unpack 'configure
20653 (lambda* (#:key inputs #:allow-other-keys)
20654 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
20655 ;; .el is read-only in git.
20656 (chmod "youtube-dl.el" #o644)
20657 ;; Specify the absolute file names of the various
20658 ;; programs so that everything works out-of-the-box.
20659 (emacs-substitute-variables
20660 "youtube-dl.el"
20661 ("youtube-dl-program"
20662 (string-append youtube-dl "/bin/youtube-dl")))))))))
20663 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
20664 (synopsis "Emacs youtube-dl download manager")
20665 (description "This package manages a video download queue for
20666 @command{youtube-dl}, which serves as the back end. It manages a single
20667 @command{youtube-dl} subprocess, downloading one video at a time. New videos
20668 can be queued at any time.")
20669 (license license:unlicense))))
20670
20671 (define-public emacs-ytdl
20672 (package
20673 (name "emacs-ytdl")
20674 (version "1.3.5")
20675 (source
20676 (origin
20677 (method git-fetch)
20678 (uri (git-reference
20679 (url "https://gitlab.com/tuedachu/ytdl")
20680 (commit version)))
20681 (file-name (git-file-name name version))
20682 (sha256
20683 (base32 "1xv93ny942gha1ipic5r6z4icjsb7src7ssdck9983kks3zacjk7"))))
20684 (build-system emacs-build-system)
20685 (inputs
20686 `(("youtube-dl" ,youtube-dl)))
20687 (propagated-inputs
20688 `(("async" ,emacs-async)
20689 ("transient" ,emacs-transient)))
20690 (arguments
20691 `(#:phases
20692 (modify-phases %standard-phases
20693 (add-after 'unpack 'configure
20694 (lambda* (#:key inputs #:allow-other-keys)
20695 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
20696 ;; .el is read-only in git.
20697 (make-file-writable "ytdl.el")
20698 ;; Specify the absolute file names of the various programs so
20699 ;; that everything works out-of-the-box.
20700 (emacs-substitute-variables "ytdl.el"
20701 ("ytdl-command" (string-append youtube-dl "/bin/youtube-dl")))
20702 #t))))))
20703 (home-page "https://gitlab.com/tuedachu/ytdl")
20704 (synopsis "Emacs interface for youtube-dl")
20705 (description
20706 "This package manages a video download queue for @command{youtube-dl},
20707 which serves as the back end. New videos can be queued at any time. All
20708 youtube-dl backends are supported. It is possible to create download profiles
20709 depending on the downloaded URL.")
20710 (license license:gpl3+)))
20711
20712 (define-public emacs-org-web-tools
20713 (package
20714 (name "emacs-org-web-tools")
20715 (version "1.1.1")
20716 (source
20717 (origin
20718 (method git-fetch)
20719 (uri (git-reference
20720 (url "https://github.com/alphapapa/org-web-tools")
20721 (commit version)))
20722 (file-name (git-file-name name version))
20723 (sha256
20724 (base32
20725 "0v4qad54r0z7dr7kg5lpfdsazi44qvrbybx9aciyl4w9grfajphb"))))
20726 (build-system emacs-build-system)
20727 (propagated-inputs
20728 `(("emacs-dash" ,emacs-dash)
20729 ("emacs-esxml" ,emacs-esxml)
20730 ("emacs-request" ,emacs-request)
20731 ("emacs-s" ,emacs-s)))
20732 (inputs
20733 `(("pandoc" ,pandoc)))
20734 (arguments
20735 `(#:phases
20736 (modify-phases %standard-phases
20737 (add-after 'unpack 'patch-exec-paths
20738 (lambda* (#:key inputs #:allow-other-keys)
20739 (let ((pandoc (assoc-ref inputs "pandoc")))
20740 (substitute* "org-web-tools.el"
20741 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
20742 #t))))))
20743 (home-page "https://github.com/alphapapa/org-web-tools")
20744 (synopsis "Display/Process web page as Org-mode content")
20745 (description "This package contains library functions and commands useful
20746 for retrieving web page content and processing it into Org-mode content.
20747
20748 For example, you can copy a URL to the clipboard or kill-ring, then run a
20749 command that downloads the page, isolates the “readable” content with
20750 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
20751 displays it in an Org-mode buffer. Another command does all of that but
20752 inserts it as an Org entry instead of displaying it in a new buffer.")
20753 (license license:gpl3+)))
20754
20755 (define-public emacs-blimp
20756 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
20757 (package
20758 (name "emacs-blimp")
20759 (version (git-version "0.0.0" "1" commit))
20760 (source
20761 (origin
20762 (method git-fetch)
20763 (uri (git-reference
20764 (url "https://github.com/walseb/blimp")
20765 (commit commit)))
20766 (file-name (git-file-name name version))
20767 (sha256
20768 (base32
20769 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
20770 (build-system emacs-build-system)
20771 (propagated-inputs
20772 `(("emacs-eimp" ,emacs-eimp)))
20773 (home-page "https://github.com/walseb/blimp")
20774 (synopsis "Emacs wrapper around all Imagemagick commands")
20775 (description "Blimp (Bustling Image Manipulation Package) is a complete
20776 wrapper around all Imagemagick commands with descriptions, autocompletion (for
20777 some commands) and hints displayed in prompt using @command{eimp.el} to
20778 execute its commands and resize images.")
20779 (license license:gpl3+))))
20780
20781 (define-public emacs-synosaurus
20782 (package
20783 (name "emacs-synosaurus")
20784 (version "0.2.0")
20785 (source
20786 (origin
20787 (method git-fetch)
20788 (uri (git-reference
20789 (url "https://github.com/hpdeifel/synosaurus")
20790 (commit (string-append "v" version))))
20791 (file-name (git-file-name name version))
20792 (sha256
20793 (base32
20794 "14dd6p89pmpf1w3nx4f9mzm4sn2b64nicws436ck7pmp223pwciv"))))
20795 (build-system emacs-build-system)
20796 (propagated-inputs
20797 `(("wordnet" ,wordnet)))
20798 (arguments
20799 `(#:phases
20800 (modify-phases %standard-phases
20801 (add-after 'unpack 'configure
20802 (lambda* (#:key inputs outputs #:allow-other-keys)
20803 (let ((wn (assoc-ref inputs "wordnet")))
20804 ;; .el is read-only in git.
20805 (make-file-writable "synosaurus-wordnet.el")
20806 ;; Specify the absolute file names of the various
20807 ;; programs so that everything works out-of-the-box.
20808 (emacs-substitute-variables "synosaurus-wordnet.el"
20809 ("synosaurus-wordnet--command"
20810 (string-append wn "/bin/wn")))))))))
20811 (home-page "https://github.com/hpdeifel/synosaurus")
20812 (synopsis "Extensible thesaurus mode for Emacs")
20813 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
20814 backends, including the @command{wordnet} offline backend.")
20815 (license license:gpl3+)))
20816
20817 (define-public emacs-editorconfig
20818 (package
20819 (name "emacs-editorconfig")
20820 (version "0.8.1")
20821 (source
20822 (origin
20823 (method git-fetch)
20824 (uri (git-reference
20825 (url "https://github.com/editorconfig/editorconfig-emacs")
20826 (commit (string-append "v" version))))
20827 (file-name (git-file-name name version))
20828 (sha256
20829 (base32
20830 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
20831 (build-system emacs-build-system)
20832 (home-page "https://github.com/editorconfig/editorconfig-emacs")
20833 (synopsis "Define and maintain consistent coding styles between different
20834 editors and IDEs")
20835 (description "The EditorConfig project consists of a file format for
20836 defining coding styles and a collection of text editor plugins that enable
20837 editors to read the file format and adhere to defined styles. EditorConfig
20838 files are easily readable and they work nicely with version control systems.")
20839 (license license:gpl3+)))
20840
20841 (define-public emacs-all-the-icons
20842 (package
20843 (name "emacs-all-the-icons")
20844 (version "4.0.1")
20845 (source
20846 (origin
20847 (method git-fetch)
20848 (uri (git-reference
20849 (url "https://github.com/domtronn/all-the-icons.el")
20850 (commit version)))
20851 (file-name (git-file-name name version))
20852 (sha256
20853 (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5"))))
20854 (build-system emacs-build-system)
20855 (arguments
20856 `(#:include '("\\.el$" "^data/" "^fonts/")
20857 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
20858 ;; all-the-icons--root-code". Ignoring tests.
20859 #:exclude '("^test/")
20860 #:tests? #f))
20861 (propagated-inputs
20862 `(("f" ,emacs-f)
20863 ("memoize" ,emacs-memoize)))
20864 (home-page "https://github.com/domtronn/all-the-icons.el")
20865 (synopsis "Collect icon fonts and propertize them within Emacs")
20866 (description
20867 "All-the-icons is a utility package to collect various icon fonts and
20868 propertize them within Emacs. Icon fonts allow you to propertize and format
20869 icons the same way you would normal text. This enables things such as better
20870 scaling of and anti aliasing of the icons.")
20871 ;; Package is released under Expat license. Elisp files are licensed
20872 ;; under GPL3+. Fonts come with various licenses: Expat for
20873 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
20874 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
20875 ;; "ocitcons.ttf" and "weathericons.ttf".
20876 (license
20877 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
20878
20879 (define-public emacs-wttrin
20880 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
20881 (revision "1"))
20882 (package
20883 (name "emacs-wttrin")
20884 (version (git-version "0.2.0" revision commit))
20885 (source (origin
20886 (method git-fetch)
20887 (uri (git-reference
20888 (url "https://github.com/bcbcarl/emacs-wttrin")
20889 (commit commit)))
20890 (file-name (git-file-name name version))
20891 (sha256
20892 (base32
20893 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
20894 (build-system emacs-build-system)
20895 (propagated-inputs
20896 `(("emacs-xterm-color" ,emacs-xterm-color)))
20897 (home-page "https://github.com/bcbcarl/emacs-wttrin")
20898 (synopsis "Frontend for weather web service @url{wttr.in}")
20899 (description "This package provides local weather information from
20900 @url{wttr.in}.")
20901 (license license:expat))))
20902
20903 (define-public emacs-browse-kill-ring
20904 (let ((commit "1ef72cc6accd94cd7032c02b1b2c78ae7f1d1965")
20905 (revision "0"))
20906 (package
20907 (name "emacs-browse-kill-ring")
20908 (version (git-version "2.0.0" revision commit))
20909 (source
20910 (origin
20911 (method git-fetch)
20912 (uri (git-reference
20913 (url "https://github.com/browse-kill-ring/browse-kill-ring")
20914 (commit commit)))
20915 (file-name (git-file-name name version))
20916 (sha256
20917 (base32
20918 "0mil32g7hcw376jibs5hdyv00xbaql3m4a27rwqaafg0x59avxdj"))))
20919 (build-system emacs-build-system)
20920 (home-page "https://github.com/browse-kill-ring/browse-kill-ring")
20921 (synopsis "Interactively insert items from kill-ring")
20922 (description
20923 "Did you ever feel that @code{C-y M-y M-y M-y ...} is not a great way
20924 of trying to find that piece of text you know you killed a while back? Then
20925 @code{browse-kill-ring.el} is for you.")
20926 (license license:gpl2+))))
20927
20928 (define-public emacs-powerline
20929 (package
20930 (name "emacs-powerline")
20931 (version "2.4")
20932 (source
20933 (origin
20934 (method git-fetch)
20935 (uri (git-reference
20936 (url "https://github.com/milkypostman/powerline")
20937 (commit version)))
20938 (file-name (git-file-name name version))
20939 (sha256
20940 (base32
20941 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
20942 (build-system emacs-build-system)
20943 (home-page "https://github.com/milkypostman/powerline/")
20944 (synopsis "Mode-line plugin for Emacs")
20945 (description "Powerline is a utility plugin which allows you to create
20946 a better-looking, more functional Emacs mode-line. A collection of predefined
20947 themes comes with the package.")
20948 (license license:gpl3+)))
20949
20950 (define-public emacs-spaceline
20951 (package
20952 (name "emacs-spaceline")
20953 (version "2.0.1")
20954 (source
20955 (origin
20956 (method git-fetch)
20957 (uri (git-reference
20958 (url "https://github.com/TheBB/spaceline")
20959 (commit (string-append "v" version))))
20960 (file-name (git-file-name name version))
20961 (sha256
20962 (base32
20963 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
20964 (build-system emacs-build-system)
20965 (propagated-inputs
20966 `(("dash" ,emacs-dash)
20967 ("powerline" ,emacs-powerline)
20968 ("s" ,emacs-s)))
20969 (home-page "https://github.com/TheBB/spaceline")
20970 (synopsis "Powerline theme from Spacemacs")
20971 (description "Spaceline provides Spacemacs' mode-line theme.
20972 This package provides features for three kinds of users.
20973
20974 @itemize
20975 @item You just want to use the Spacemacs mode-line theme and forget about it.
20976 @item You want to use something similar to the Spacemacs mode-line theme, but
20977 with a handful of easy tweaks.
20978 @item You want an easy-to-use library for building your own mode-line from
20979 scratch, and you think the Spacemacs theme looks good.
20980 @end itemize")
20981 (license license:gpl3+)))
20982
20983 (define-public emacs-spaceline-next
20984 (let ((commit "1b26af2c1a701481ac5d90928fe0200e389756c3")
20985 (last-release-version "2.0.1")
20986 (revision "0"))
20987 (package
20988 (inherit emacs-spaceline)
20989 (name "emacs-spaceline-next")
20990 (version (git-version last-release-version revision commit))
20991 (source
20992 (origin
20993 (method git-fetch)
20994 (uri (git-reference
20995 (url "https://github.com/TheBB/spaceline")
20996 (commit commit)))
20997 (sha256
20998 (base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"))
20999 (file-name (git-file-name name version)))))))
21000
21001 (define-public emacs-column-marker
21002 (package
21003 (name "emacs-column-marker")
21004 (version "9")
21005 (source
21006 (origin
21007 (method url-fetch)
21008 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
21009 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
21010 (build-system emacs-build-system)
21011 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
21012 (synopsis "Emacs mode for highlighting columns")
21013 (description
21014 "With @code{column-marker.el} you can highlight any number of text columns.
21015 Three such highlight column markers are provided by default. This is
21016 especially useful for languages like COBOL or Fortran where certain columns
21017 have special meaning. It is also handy for aligning text across long vertical
21018 distances. Multi-column characters, such as @kbd{TAB} are treated
21019 correctly.")
21020 (license license:gpl2+)))
21021
21022 (define-public emacs-slime-repl-ansi-color
21023 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
21024 (package
21025 (name "emacs-slime-repl-ansi-color")
21026 (version (git-version "0.0.0" "1" commit))
21027 (source (origin
21028 (method git-fetch)
21029 (uri (git-reference
21030 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
21031 (commit commit)))
21032 (file-name (git-file-name name version))
21033 (sha256
21034 (base32
21035 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
21036 (build-system emacs-build-system)
21037 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
21038 (synopsis "Color ANSI codes in the REPL of SLIME")
21039 (description "Color ANSI codes in the REPL of SLIME")
21040 (license license:gpl2+))))
21041
21042 (define-public emacs-helm-slime
21043 (package
21044 (name "emacs-helm-slime")
21045 (version "0.4.0")
21046 (source (origin
21047 (method git-fetch)
21048 (uri (git-reference
21049 (url "https://github.com/emacs-helm/helm-slime")
21050 (commit version)))
21051 (file-name (git-file-name name version))
21052 (sha256
21053 (base32
21054 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
21055 (build-system emacs-build-system)
21056 (propagated-inputs
21057 `(("emacs-helm" ,emacs-helm)
21058 ("emacs-slime" ,emacs-slime)))
21059 (home-page "https://github.com/emacs-helm/helm-slime")
21060 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
21061 (description "Helm-SLIME defines a few new commands:
21062
21063 @itemize
21064 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
21065 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
21066 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
21067 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
21068 @end itemize\n")
21069 (license license:gpl3+)))
21070
21071 (define-public emacs-helm-sly
21072 (package
21073 (name "emacs-helm-sly")
21074 (version "0.7.2")
21075 (source (origin
21076 (method git-fetch)
21077 (uri (git-reference
21078 (url "https://github.com/emacs-helm/helm-sly")
21079 (commit version)))
21080 (file-name (git-file-name name version))
21081 (sha256
21082 (base32
21083 "06x8wyx1r0s7askkvlbklgz1cszv34qsvv3gryndw350smk1v8kx"))))
21084 (build-system emacs-build-system)
21085 (propagated-inputs
21086 `(("emacs-helm" ,emacs-helm)
21087 ("emacs-sly" ,emacs-sly)))
21088 (home-page "https://github.com/emacs-helm/helm-sly")
21089 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
21090 (description "Helm-SLY defines a few new commands:
21091
21092 @itemize
21093 @item @code{helm-sly-list-connections}: Yet another Lisp connection list with
21094 Helm.
21095 @item @code{helm-sly-apropos}: Yet another @command{apropos} with Helm.
21096 @item @code{helm-sly-mini}: Like @command{helm-sly-list-connections}, but
21097 include an extra source of Lisp-related buffers, like the events buffer or the
21098 scratch buffer.
21099 @end itemize\n")
21100 (license license:gpl3+)))
21101
21102 (define-public emacs-gtk-look
21103 (package
21104 (name "emacs-gtk-look")
21105 (version "29")
21106 (source (origin
21107 (method url-fetch)
21108 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
21109 (sha256
21110 (base32
21111 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
21112 (build-system emacs-build-system)
21113 (arguments
21114 `(#:phases
21115 (modify-phases %standard-phases
21116 (add-after 'unpack 'configure
21117 (lambda _
21118 ;; File is read-only.
21119 (chmod "gtk-look.el" #o644)
21120 (emacs-substitute-variables "gtk-look.el"
21121 ("gtk-lookup-devhelp-indices"
21122 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
21123 #t)))))
21124 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
21125 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
21126 (description "@command{gtk-look} finds and displays HTML documentation for
21127 GTK, GNOME and Glib functions and variables in Emacs, similar to what
21128 info-lookup-symbol does for info files (C-h S). The documentation is expected
21129 to be devhelp indexes with HTML files. The location of the indexes can be
21130 customized. In addition to C code development @command{gtk-look} is good for
21131
21132 @itemize
21133 @item @command{perl-gtk2}, recognising class funcs like
21134 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
21135 @item @command{guile-gnome}, recognising methods like @command{set-text} and
21136 classes like @command{<gtk-window>}.
21137 @end itemize\n")
21138 (license license:gpl3+)))
21139
21140 (define-public emacs-ov
21141 (package
21142 (name "emacs-ov")
21143 (version "1.0.6")
21144 (source (origin
21145 (method git-fetch)
21146 (uri (git-reference
21147 (url "https://github.com/ShingoFukuyama/ov.el")
21148 (commit version)))
21149 (file-name (git-file-name name version))
21150 (sha256
21151 (base32
21152 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
21153 (build-system emacs-build-system)
21154 (home-page "https://github.com/ShingoFukuyama/ov.el")
21155 (synopsis "Overlay library for Emacs Lisp")
21156 (description "@code{ov.el} provides a simple way to manipulate overlays in
21157 Emacs.")
21158 (license license:gpl3+)))
21159
21160 (define-public emacs-matrix-client
21161 (let ((commit "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed"))
21162 (package
21163 (name "emacs-matrix-client")
21164 (version (git-version "0.0.0" "6" commit))
21165 (source (origin
21166 (method git-fetch)
21167 (uri (git-reference
21168 (url "https://github.com/jgkamat/matrix-client-el")
21169 (commit commit)))
21170 (file-name (git-file-name name version))
21171 (sha256
21172 (base32
21173 "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq"))))
21174 (build-system emacs-build-system)
21175 (propagated-inputs
21176 `(("a" ,emacs-a)
21177 ("anaphora" ,emacs-anaphora)
21178 ("dash" ,emacs-dash)
21179 ("esxml" ,emacs-esxml)
21180 ("f" ,emacs-f)
21181 ("frame-purpose" ,emacs-frame-purpose)
21182 ("ht" ,emacs-ht)
21183 ("ov" ,emacs-ov)
21184 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
21185 ("request" ,emacs-request)
21186 ("s" ,emacs-s)
21187 ("tracking" ,emacs-tracking)))
21188 (home-page "https://github.com/jgkamat/matrix-client-el")
21189 (synopsis "Matrix client for Emacs")
21190 (description "@code{matrix-client} is a simple chat UI to Matrix.org
21191 rooms. It also provides an API which allows Emacs to seamlessly create
21192 RPC channels with users and other software.")
21193 (license license:gpl3+))))
21194
21195 (define-public emacs-sesman
21196 (package
21197 (name "emacs-sesman")
21198 (version "0.3.4")
21199 (source
21200 (origin
21201 (method git-fetch)
21202 (uri (git-reference
21203 (url "https://github.com/vspinu/sesman")
21204 (commit (string-append "v" version))))
21205 (file-name (git-file-name name version))
21206 (sha256
21207 (base32
21208 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
21209 (build-system emacs-build-system)
21210 (arguments
21211 `(#:phases
21212 (modify-phases %standard-phases
21213 (add-after 'unpack 'set-shell
21214 ;; Setting the SHELL environment variable is required for the tests
21215 ;; to find sh.
21216 (lambda _
21217 (setenv "SHELL" (which "sh"))
21218 #t)))
21219 #:tests? #t
21220 #:test-command '("make" "test")))
21221 (home-page "https://github.com/vspinu/sesman")
21222 (synopsis "Session manager for Emacs based IDEs")
21223 (description "Sesman provides facilities for session management and
21224 interactive session association with the current contexts (project, directory,
21225 buffers). While sesman can be used to manage arbitrary sessions, it primary
21226 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
21227 (license license:gpl3+)))
21228
21229 (define-public emacs-buttercup
21230 (package
21231 (name "emacs-buttercup")
21232 (version "1.24")
21233 (source
21234 (origin
21235 (method git-fetch)
21236 (uri (git-reference
21237 (url "https://github.com/jorgenschaefer/emacs-buttercup")
21238 (commit (string-append "v" version))))
21239 (file-name (git-file-name name version))
21240 (sha256
21241 (base32
21242 "1w02p4bfkyga6sign4flq2kw0hawyvnv63410pyh8nm7acp311gg"))))
21243 (build-system emacs-build-system)
21244 (arguments
21245 `(#:tests? #t
21246 #:test-command '("make" "test")
21247 #:phases
21248 (modify-phases %standard-phases
21249 (add-after 'install 'install-bin
21250 (lambda* (#:key outputs #:allow-other-keys)
21251 (install-file "bin/buttercup"
21252 (string-append (assoc-ref outputs "out") "/bin"))
21253 #t)))))
21254 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
21255 (synopsis "Behavior driven emacs lisp testing framework")
21256 (description "Buttercup is a behavior-driven development framework for
21257 testing Emacs Lisp code. It groups related tests so they can share
21258 common set-up and tear-down code, and allows the programmer to \"spy\" on
21259 functions to ensure they are called with the right arguments during testing.")
21260 (license license:gpl3+)))
21261
21262 (define-public emacs-cort
21263 (package
21264 (name "emacs-cort")
21265 (version "7.1.0")
21266 (source (origin
21267 (method git-fetch)
21268 (uri (git-reference
21269 (url "https://github.com/conao3/cort.el")
21270 (commit (string-append "v" version))))
21271 (file-name (git-file-name name version))
21272 (sha256
21273 (base32
21274 "03c223nczpbdkjmq69panhbsq2a0zj20w329jgj4c0zsj8m1a32a"))))
21275 (build-system emacs-build-system)
21276 (propagated-inputs
21277 `(("emacs-ansi" ,emacs-ansi)))
21278 (arguments
21279 `(#:tests? #t
21280 #:test-command '("emacs" "--batch" "--quick"
21281 "--directory=." "--load=cort-tests.el"
21282 "--funcall=cort-test-run")))
21283 (home-page "https://github.com/conao3/cort.el")
21284 (synopsis "Unit test framework for the Emacs Lisp")
21285 (description "@code{cort} is a lightweight Emacs Lisp unit test library.")
21286 (license license:gpl3+)))
21287
21288 (define-public emacs-wordnut
21289 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
21290 (revision "0"))
21291 (package
21292 (name "emacs-wordnut")
21293 (version (git-version "0.1" revision commit))
21294 (home-page "https://github.com/gromnitsky/wordnut")
21295 (source (origin
21296 (method git-fetch)
21297 (uri (git-reference (url home-page) (commit commit)))
21298 (sha256
21299 (base32
21300 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
21301 (patches
21302 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
21303 (file-name (git-file-name name version))))
21304 (build-system emacs-build-system)
21305 (propagated-inputs
21306 `(("wordnet" ,wordnet)
21307 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
21308 (synopsis "Major mode for WordNet")
21309 (description "This Emacs package provides an interface for
21310 @code{wordnet}. Features include completion, if the query is not found
21311 too ambiguous and navigation in the result buffer.")
21312 (license license:gpl3+))))
21313
21314 (define-public emacs-frame-local
21315 ;; There is no release yet. Version is extracted from the main
21316 ;; file.
21317 (let ((version "0.0.1")
21318 (revision "0")
21319 (commit "7ee1106c3bcd4022f48421f8cb1ef4f995da816e"))
21320 (package
21321 (name "emacs-frame-local")
21322 (version (git-version version revision commit))
21323 (source
21324 (origin
21325 (method git-fetch)
21326 (uri (git-reference
21327 (url "https://github.com/sebastiencs/frame-local")
21328 (commit commit)))
21329 (file-name (git-file-name name version))
21330 (sha256
21331 (base32 "0zfxsxdh3bd3fd566zl0byp13p5b8f4cgkwl637imvarvahczigp"))))
21332 (build-system emacs-build-system)
21333 (home-page "https://github.com/sebastiencs/frame-local")
21334 (synopsis "Access variables local to an Emacs frame")
21335 (description
21336 "This package allows setting and accessing variables local to
21337 an Emacs frame. Note that the variables created with this package do
21338 not have any relation with variables defined by @code{defvar},
21339 @code{defconst}, etc.")
21340 (license license:gpl3+))))
21341
21342 (define-public emacs-frame-purpose
21343 (package
21344 (name "emacs-frame-purpose")
21345 (version "1.0")
21346 (source (origin
21347 (method git-fetch)
21348 (uri (git-reference
21349 (url "https://github.com/alphapapa/frame-purpose.el")
21350 (commit version)))
21351 (sha256
21352 (base32
21353 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
21354 (file-name (git-file-name name version))))
21355 (build-system emacs-build-system)
21356 (inputs
21357 `(("dash" ,emacs-dash)))
21358 (synopsis "Purpose-specific frames for Emacs")
21359 (description "@code{frame-purpose} makes it easy to open purpose-specific
21360 frames that only show certain buffers, e.g. by buffers’ major mode, their
21361 filename or directory, etc, with custom frame/X-window titles, icons, and
21362 other frame parameters.")
21363 (home-page "https://github.com/alphapapa/frame-purpose.el")
21364 (license license:gpl3+)))
21365
21366 (define-public emacs-arduino-mode
21367 (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
21368 (revision "1")) ;no release yet
21369 (package
21370 (name "emacs-arduino-mode")
21371 (version (git-version "0" revision commit))
21372 (source (origin
21373 (method git-fetch)
21374 (uri (git-reference
21375 (url "https://github.com/stardiviner/arduino-mode")
21376 (commit commit)))
21377 (sha256
21378 (base32
21379 "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
21380 (file-name (git-file-name name version))))
21381 (build-system emacs-build-system)
21382 (inputs
21383 `(("spinner" ,emacs-spinner)
21384 ("flycheck" ,emacs-flycheck)))
21385 (arguments
21386 `(#:phases
21387 (modify-phases %standard-phases
21388 ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
21389 ;; macros when compiling. Substitute them with the recommended
21390 ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
21391 (add-after 'unpack 'fix-obsolete
21392 (lambda _
21393 (substitute* "ede-arduino.el"
21394 (("defmethod") "cl-defmethod")
21395 (("defgeneric") "cl-defgeneric"))
21396 #t)))))
21397 (synopsis "Emacs major mode for editing Arduino sketches")
21398 (description "Emacs major mode for editing Arduino sketches.")
21399 (home-page "https://github.com/stardiviner/arduino-mode")
21400 (license license:gpl3+))))
21401
21402 (define-public emacs-annalist
21403 (package
21404 (name "emacs-annalist")
21405 (version "1.0.1")
21406 (source (origin
21407 (method git-fetch)
21408 (uri (git-reference
21409 (url "https://github.com/noctuid/annalist.el")
21410 (commit version)))
21411 (sha256
21412 (base32
21413 "1jlb5w4972l8m2aa18q2l6arfpm65g4nk21dn1yi8c9dbpk2g67c"))
21414 (file-name (git-file-name name version))))
21415 (build-system emacs-build-system)
21416 (native-inputs
21417 `(("emacs-buttercup" ,emacs-buttercup)
21418 ("emacs-lispy" ,emacs-lispy)
21419 ("emacs-evil" ,emacs-evil)))
21420 (arguments
21421 `(#:phases
21422 (modify-phases %standard-phases
21423 (add-before 'check 'fix-makefile
21424 (lambda _
21425 (substitute* "Makefile"
21426 (("cask exec ") ""))
21427 #t)))
21428 #:tests? #t
21429 #:test-command '("make" "test")))
21430 (home-page "https://github.com/noctuid/annalist.el")
21431 (synopsis "Record and display information with Org headings and tables")
21432 (description "This package allows for keybindings, settings, hooks, and
21433 advice to be recorded and displayed.")
21434 (license license:gpl3+)))
21435
21436 (define-public emacs-general
21437 (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c")
21438 (revision "4"))
21439 (package
21440 (name "emacs-general")
21441 (version (git-version "0" revision commit))
21442 (source
21443 (origin
21444 (method git-fetch)
21445 (uri (git-reference
21446 (url "https://github.com/noctuid/general.el")
21447 (commit commit)))
21448 (sha256
21449 (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv"))
21450 (file-name (git-file-name name version))))
21451 (build-system emacs-build-system)
21452 (native-inputs
21453 `(("emacs-buttercup" ,emacs-buttercup)
21454 ("emacs-evil" ,emacs-evil)
21455 ("emacs-which-key" ,emacs-which-key)
21456 ("emacs-use-package" ,emacs-use-package)))
21457 (arguments
21458 `(#:tests? #t
21459 #:test-command '("buttercup" "-L" "test/test-general.el")))
21460 (home-page "https://github.com/noctuid/general.el")
21461 (synopsis "More convenient key definitions in emacs")
21462 (description "@code{general.el} provides a more convenient method for
21463 binding keys in emacs (for both evil and non-evil users). Like
21464 @code{use-package}, which provides a convenient, unified interface for
21465 managing packages, @code{general.el} is intended to provide a convenient,
21466 unified interface for key definitions. While this package does implement some
21467 completely new functionality (such as the ability to make vim-style
21468 keybindings under non-prefix keys with an optional timeout), its primary
21469 purpose is to build on existing functionality to make key definition more
21470 clear and concise. @code{general-define-key} is user-extensible and supports
21471 defining multiple keys in multiple keymaps at once, implicitly wrapping key
21472 strings with (@code{kbd ...}), using named prefix key sequences (like the
21473 leader key in vim), and much more.")
21474 (license license:gpl3+))))
21475
21476 (define-public emacs-tldr
21477 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
21478 (package
21479 (name "emacs-tldr")
21480 (version (git-version "0" "1" commit))
21481 (home-page "https://github.com/kuanyui/tldr.el")
21482 (source (origin
21483 (method git-fetch)
21484 (uri (git-reference
21485 (url (string-append home-page ".git"))
21486 (commit commit)))
21487 (sha256
21488 (base32
21489 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
21490 (file-name (git-file-name name version))))
21491 (build-system emacs-build-system)
21492 (propagated-inputs
21493 `(("emacs-request" ,emacs-request)))
21494 (synopsis "Simplified and community-driven man pages for Emacs")
21495 (description "@code{emacs-tldr} allows the user to access tldr pages
21496 from within emacs. The @code{tldr} pages are a community effort to simplify
21497 the man pages with practical examples.")
21498 (license license:wtfpl2))))
21499
21500 (define-public emacs-window-layout
21501 (package
21502 (name "emacs-window-layout")
21503 (version "1.4")
21504 (home-page "https://github.com/kiwanami/emacs-window-layout")
21505 (source (origin
21506 (method git-fetch)
21507 (uri (git-reference
21508 (url home-page)
21509 (commit (string-append "v" version))))
21510 (sha256
21511 (base32
21512 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
21513 (file-name (git-file-name name version))))
21514 (build-system emacs-build-system)
21515 (synopsis "Simple window layout management framework for emacs")
21516 (description "A window-layout management library that can split a frame
21517 or a window into some windows according to a layout recipe.")
21518 (license license:gpl3+)))
21519
21520 (define-public emacs-e2wm
21521 (package
21522 (name "emacs-e2wm")
21523 (version "1.4")
21524 (home-page "https://github.com/kiwanami/emacs-window-manager")
21525 (source (origin
21526 (method git-fetch)
21527 (uri (git-reference
21528 (url home-page)
21529 (commit (string-append "v" version))))
21530 (sha256
21531 (base32
21532 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
21533 (file-name (git-file-name name version))))
21534 (build-system emacs-build-system)
21535 (propagated-inputs
21536 `(("emacs-window-layout" ,emacs-window-layout)))
21537 (synopsis "Equilibrium Emacs Window Manager")
21538 (description "E2WM is a window manager for Emacs. It enables to
21539 customize the place of pop-up window, how the windows are split, how the
21540 buffers are located in the windows, keybinds to manipulate windows and
21541 buffers, etc. It also has plug-ins to help your Emacs life.")
21542 (license license:gpl3+)))
21543
21544 (define-public emacs-ctable
21545 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
21546 (package
21547 (name "emacs-ctable")
21548 (version (git-version "0.1.2" "1" commit))
21549 (home-page "https://github.com/kiwanami/emacs-ctable")
21550 (source (origin
21551 (method git-fetch)
21552 (uri (git-reference
21553 (url home-page)
21554 (commit commit)))
21555 (sha256
21556 (base32
21557 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
21558 (file-name (git-file-name name version))))
21559 (build-system emacs-build-system)
21560 (synopsis "Table component for Emacs Lisp")
21561 (description "This program is a table component for Emacs Lisp. Other
21562 programs can use this table component for the application UI.")
21563 (license license:gpl3+))))
21564
21565 (define-public emacs-leetcode
21566 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
21567 (revision "1"))
21568 (package
21569 (name "emacs-leetcode")
21570 (version (git-version "0" "1" commit))
21571 (home-page "https://github.com/ginqi7/leetcode-emacs")
21572 (source (origin
21573 (method git-fetch)
21574 (uri (git-reference
21575 (url "https://github.com/ginqi7/leetcode-emacs")
21576 (commit commit)))
21577 (sha256
21578 (base32
21579 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
21580 (file-name (git-file-name name version))))
21581 (build-system emacs-build-system)
21582 (propagated-inputs
21583 `(("emacs-names" ,emacs-names)
21584 ("emacs-ctable" ,emacs-ctable)))
21585 (synopsis "Solve and submit LeetCode problems from within Emacs")
21586 (description "This package provides an Emacs interface to LeetCode
21587 allowing users to log in and solve problems of their choice using Emacs.")
21588 (license license:unlicense))))
21589
21590 (define-public emacs-epc
21591 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
21592 (package
21593 (name "emacs-epc")
21594 (version (git-version "0.1.1" "1" commit))
21595 (home-page "https://github.com/kiwanami/emacs-epc")
21596 (source (origin
21597 (method git-fetch)
21598 (uri (git-reference
21599 (url home-page)
21600 (commit commit)))
21601 (sha256
21602 (base32
21603 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
21604 (file-name (git-file-name name version))))
21605 (build-system emacs-build-system)
21606 (propagated-inputs
21607 `(("emacs-deferred" ,emacs-deferred)
21608 ("emacs-ctable" ,emacs-ctable)))
21609 (synopsis "RPC stack for Emacs Lisp")
21610 (description "This program is an asynchronous RPC stack for Emacs.
21611 Using this RPC stack, Emacs can communicate with the peer process
21612 smoothly. Because the protocol employs S-expression encoding and consists of
21613 asynchronous communications, the RPC response is fairly good.")
21614 (license license:gpl3+))))
21615
21616 (define-public emacs-edbi
21617 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
21618 (package
21619 (name "emacs-edbi")
21620 (version (git-version "0.1.3" "1" commit))
21621 (home-page "https://github.com/kiwanami/emacs-edbi")
21622 (source (origin
21623 (method git-fetch)
21624 (uri (git-reference
21625 (url home-page)
21626 (commit commit)))
21627 (sha256
21628 (base32
21629 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
21630 (file-name (git-file-name name version))))
21631 (build-system emacs-build-system)
21632 (inputs
21633 `(("perl" ,perl)
21634 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
21635 ("perl-dbi" ,perl-dbi)
21636 ;; TODO: Adding support for perl-dbd-mysql and others would
21637 ;; dramatically increase the closure size. Make several packages?
21638 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
21639 (propagated-inputs
21640 `(("emacs-e2wm" ,emacs-e2wm)
21641 ("emacs-epc" ,emacs-epc)))
21642 (arguments
21643 `(#:include '("\\.el$" "\\.pl$")
21644 #:phases
21645 (modify-phases %standard-phases
21646 (add-after 'unpack 'patch-path
21647 (lambda* (#:key inputs #:allow-other-keys)
21648 (let ((perl (assoc-ref inputs "perl")))
21649 (substitute* "edbi.el"
21650 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
21651 #t)))
21652 (add-after 'wrap 'wrap-edbi-bridge
21653 (lambda* (#:key inputs outputs #:allow-other-keys)
21654 (let* ((out (assoc-ref outputs "out"))
21655 (bridge (string-append (elpa-directory out)
21656 "/edbi-bridge.pl")))
21657 (chmod bridge #o555)
21658 (wrap-program bridge
21659 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
21660 #t)))))
21661 (synopsis "Database Interface for Emacs Lisp")
21662 (description "This program connects the database server through Perl's
21663 DBI, and provides DB-accessing API and the simple management UI.")
21664 (license license:gpl3+))))
21665
21666 (define-public emacs-edbi-sqlite
21667 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
21668 (package
21669 (name "emacs-edbi-sqlite")
21670 (version (git-version "0.1.1" "1" commit))
21671 (home-page "https://github.com/proofit404/edbi-sqlite")
21672 (source (origin
21673 (method git-fetch)
21674 (uri (git-reference
21675 (url home-page)
21676 (commit commit)))
21677 (sha256
21678 (base32
21679 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
21680 (file-name (git-file-name name version))))
21681 (build-system emacs-build-system)
21682 (propagated-inputs
21683 `(("emacs-edbi" ,emacs-edbi)))
21684 (synopsis "Open SQLite files in Emacs")
21685 (description "This package is a convenience wrapper for @command{edbi}
21686 to open SQLite databases.")
21687 (license license:gpl3+))))
21688
21689 (define-public emacs-nice-citation
21690 (let ((commit "1013b56d9d1495a335f40a5f76203034dc5fa0ea")
21691 (revision "0"))
21692 (package
21693 (name "emacs-nice-citation")
21694 (version (git-version "0.0.2" revision commit))
21695 (source
21696 (origin
21697 (method git-fetch)
21698 (uri (git-reference
21699 (url "https://github.com/damiencollard/nice-citation")
21700 (commit commit)))
21701 (sha256
21702 (base32 "00xqr7haca5vd0bzd043lc6x4fjb903z96frz9b8cbd7spp63z7q"))
21703 (file-name (git-file-name name version))))
21704 (build-system emacs-build-system)
21705 (home-page "https://github.com/damiencollard/nice-citation")
21706 (synopsis "Depth-colored citations for Gnus")
21707 (description
21708 "This package replaces the traditional chevron citation marks @samp{>}
21709 with a Unicode vertical bar with the same color as the text it is quoting.
21710
21711 It is purely presentation: the underlying text is unchanged. In particular,
21712 if you send a message containing a citation, it will contain the traditional
21713 chevron marks.")
21714 (license license:gpl3+))))
21715
21716 (define-public emacs-nix-mode
21717 (package
21718 (name "emacs-nix-mode")
21719 (version "1.4.5")
21720 (source
21721 (origin
21722 (method git-fetch)
21723 (uri (git-reference
21724 (url "https://github.com/NixOS/nix-mode")
21725 (commit (string-append "v" version))))
21726 (file-name (git-file-name name version))
21727 (sha256
21728 (base32 "1bqlhkxg0faddhvxx909dq46dxdxk4mdyhdpww92dmzgxdpq38sx"))))
21729 (build-system emacs-build-system)
21730 (inputs
21731 `(("emacs-company" ,emacs-company)
21732 ("emacs-json-mode" ,emacs-json-mode)
21733 ("emacs-mmm-mode" ,emacs-mmm-mode)))
21734 (home-page "https://github.com/NixOS/nix-mode")
21735 (synopsis "Emacs major mode for editing Nix expressions")
21736 (description "@code{nixos-mode} provides an Emacs major mode for editing
21737 Nix expressions. It supports syntax highlighting, indenting and refilling of
21738 comments.")
21739 (license license:lgpl2.1+)))
21740
21741 (define-public emacs-libmpdel
21742 (package
21743 (name "emacs-libmpdel")
21744 (version "1.2.0")
21745 (source (origin
21746 (method git-fetch)
21747 (uri (git-reference
21748 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
21749 (commit (string-append "v" version))))
21750 (file-name (git-file-name name version))
21751 (sha256
21752 (base32
21753 "1nzs6g2mg3jhfhhfcxjhd9sbvwzhmr6j6mc80ln2nr4gzjqgaa4k"))))
21754 (build-system emacs-build-system)
21755 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
21756 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
21757 (description
21758 "An Emacs library client to communicate with Music Player Daemon (MPD), a
21759 flexible, powerful, server-side application for playing music.")
21760 (license license:gpl3+)))
21761
21762 (define-public emacs-mpdel
21763 (package
21764 (name "emacs-mpdel")
21765 (version "1.0.0")
21766 (source
21767 (origin
21768 (method git-fetch)
21769 (uri (git-reference
21770 (url "https://gitea.petton.fr/mpdel/mpdel.git")
21771 (commit (string-append "v" version))))
21772 (file-name (git-file-name name version))
21773 (sha256
21774 (base32
21775 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
21776 (build-system emacs-build-system)
21777 (inputs
21778 `(("emacs-libmpdel" ,emacs-libmpdel)))
21779 (home-page "https://gitea.petton.fr/mpdel/mpdel")
21780 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
21781 (description
21782 "MPDel provides an Emacs user interface to control playback (play, pause,
21783 next, volume) and display and control the current playlist as well as your
21784 stored playlists.")
21785 (license license:gpl3+)))
21786
21787 (define-public emacs-vterm
21788 (let ((version "0.0.1")
21789 (revision "0")
21790 (commit "a670b786539d3c8865d8f68fe0c67a2d4afbf1aa"))
21791 (package
21792 (name "emacs-vterm")
21793 (version (git-version version revision commit))
21794 (source (origin
21795 (method git-fetch)
21796 (uri (git-reference
21797 (url "https://github.com/akermu/emacs-libvterm")
21798 (commit commit)))
21799 (file-name (git-file-name name version))
21800 (sha256
21801 (base32
21802 "0s244crjkbzl2jhp9m4sm1xdhbpxwph0m3jg18livirgajvdz6hn"))))
21803 (build-system emacs-build-system)
21804 (arguments
21805 `(#:modules ((guix build emacs-build-system)
21806 ((guix build cmake-build-system) #:prefix cmake:)
21807 (guix build emacs-utils)
21808 (guix build utils))
21809 #:imported-modules (,@%emacs-build-system-modules
21810 (guix build cmake-build-system))
21811 #:phases
21812 (modify-phases %standard-phases
21813 (add-after 'unpack 'substitute-vterm-module-path
21814 (lambda* (#:key outputs #:allow-other-keys)
21815 (chmod "vterm.el" #o644)
21816 (emacs-substitute-sexps "vterm.el"
21817 ("(require 'vterm-module nil t)"
21818 `(module-load
21819 ,(string-append (assoc-ref outputs "out")
21820 "/lib/vterm-module.so"))))
21821 #t))
21822 (add-after 'build 'configure
21823 ;; Run cmake.
21824 (lambda* (#:key outputs #:allow-other-keys)
21825 ((assoc-ref cmake:%standard-phases 'configure)
21826 #:outputs outputs
21827 #:out-of-source? #f
21828 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
21829 #t))
21830 (add-after 'configure 'make
21831 ;; Run make.
21832 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
21833 ;; Compile the shared object file.
21834 (apply invoke "make" "all" make-flags)
21835 ;; Move the file into /lib.
21836 (install-file
21837 "vterm-module.so"
21838 (string-append (assoc-ref outputs "out") "/lib"))
21839 #t)))
21840 #:tests? #f))
21841 (native-inputs
21842 `(("cmake" ,cmake-minimal)
21843 ("libtool" ,libtool)
21844 ("libvterm" ,libvterm)))
21845 (home-page "https://github.com/akermu/emacs-libvterm")
21846 (synopsis "Emacs libvterm integration")
21847 (description "This package implements a bridge to @code{libvterm} to
21848 display a terminal in an Emacs buffer.")
21849 (license license:gpl3+))))
21850
21851 (define-public emacs-vterm-toggle
21852 ;; There have been no releases.
21853 (let ((commit "d10239b7bb89b78dddb82f66ac2286bc0b02747b")
21854 (revision "1"))
21855 (package
21856 (name "emacs-vterm-toggle")
21857 (version (git-version "0.0.4" revision commit))
21858 (source
21859 (origin
21860 (method git-fetch)
21861 (uri (git-reference
21862 (url "https://github.com/jixiuf/vterm-toggle")
21863 (commit commit)))
21864 (file-name (git-file-name name version))
21865 (sha256
21866 (base32 "0r9n23wg9cfy10h5f9zqr8jpkvw34f9rylri3nxq870awjab7rqi"))))
21867 (build-system emacs-build-system)
21868 (propagated-inputs `(("emacs-vterm" ,emacs-vterm)))
21869 (home-page "https://github.com/jixiuf/vterm-toggle")
21870 (synopsis "Toggle between a vterm buffer and other buffers")
21871 (description
21872 "This package provides a DWIM way to switch from an Emacs buffer to
21873 a vterm buffer and back again.")
21874 (license license:gpl3+))))
21875
21876 (define-public emacs-simple-mpc
21877 ;; There have been no releases.
21878 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
21879 (revision "1"))
21880 (package
21881 (name "emacs-simple-mpc")
21882 (version (git-version "0" revision commit))
21883 (source
21884 (origin
21885 (method git-fetch)
21886 (uri (git-reference
21887 (url "https://github.com/jorenvo/simple-mpc")
21888 (commit commit)))
21889 (file-name (git-file-name name version))
21890 (sha256
21891 (base32
21892 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
21893 (build-system emacs-build-system)
21894 (propagated-inputs `(("emacs-s" ,emacs-s)))
21895 (home-page "https://github.com/jorenvo/simple-mpc")
21896 (synopsis "Simple Emacs frontend to mpc")
21897 (description "This package provides an Emacs major mode which acts as a
21898 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
21899 (license license:gpl3+))))
21900
21901 (define-public emacs-mkmcc-gnuplot-mode
21902 (package
21903 (name "emacs-mkmcc-gnuplot-mode")
21904 (version "1.2.0")
21905 (source
21906 (origin
21907 (method git-fetch)
21908 (uri (git-reference
21909 (url "https://github.com/mkmcc/gnuplot-mode")
21910 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
21911 (file-name (git-file-name name version))
21912 (sha256
21913 (base32
21914 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
21915 (build-system emacs-build-system)
21916 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
21917 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
21918 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
21919 mode for editing gnuplot scripts. It provides syntax highlighting,
21920 indentation and a command to plot the file.")
21921 (license license:gpl3+)))
21922
21923 (define-public emacs-cmake-font-lock
21924 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
21925 (revision "1"))
21926 (package
21927 (name "emacs-cmake-font-lock")
21928 (version (git-version "0.1.5" revision commit))
21929 (source (origin
21930 (method git-fetch)
21931 (uri (git-reference
21932 (url "https://github.com/Lindydancer/cmake-font-lock")
21933 (commit commit)))
21934 (file-name (git-file-name name version))
21935 (sha256
21936 (base32
21937 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
21938 (build-system emacs-build-system)
21939 (native-inputs
21940 `(("emacs-faceup" ,emacs-faceup)))
21941 (arguments
21942 `(#:include (cons "^admin\\/" %default-include)))
21943 (home-page "https://github.com/Lindydancer/cmake-font-lock")
21944 (synopsis "Advanced type-aware syntax-highlighting for CMake")
21945 (description "This package highlights function arguments in CMake
21946 according to their use.")
21947 (license license:gpl3+))))
21948
21949 (define-public emacs-dtrt-indent
21950 (package
21951 (name "emacs-dtrt-indent")
21952 (version "1.4")
21953 (source (origin
21954 (method git-fetch)
21955 (uri (git-reference
21956 (url "https://github.com/jscheid/dtrt-indent")
21957 (commit version)))
21958 (file-name (git-file-name name version))
21959 (sha256
21960 (base32
21961 "11r68sh3yrrfib7pixnazispwsffrygmgplffrv8qq57xrqzyxih"))))
21962 (build-system emacs-build-system)
21963 (home-page "https://github.com/jscheid/dtrt-indent")
21964 (synopsis "Minor mode that guesses the indentation offset")
21965 (description "This package provides a minor mode that guesses the
21966 indentation offset originally used for creating source code files and
21967 transparently adjusts the corresponding settings in Emacs, making it more
21968 convenient to edit foreign files.")
21969 (license license:gpl2+)))
21970
21971 (define-public emacs-repo
21972 (package
21973 (name "emacs-repo")
21974 (version "0.2.0")
21975 (source (origin
21976 (method git-fetch)
21977 (uri (git-reference
21978 (url "https://github.com/canatella/repo-el")
21979 (commit version)))
21980 (file-name (git-file-name name version))
21981 (sha256
21982 (base32
21983 "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"))))
21984 (build-system emacs-build-system)
21985 (native-inputs
21986 `(("emacs-el-mock" ,emacs-el-mock)
21987 ("ert-runner" ,emacs-ert-runner)))
21988 (propagated-inputs
21989 `(("emacs-f" ,emacs-f)
21990 ("magit" ,emacs-magit)))
21991 (home-page "https://github.com/canatella/repo-el")
21992 (synopsis "Emacs interface for the Google Repo tool")
21993 (description "This package provides integration of the Google Repo tool
21994 with emacs. It displays the output of the @code{repo status} command in a
21995 buffer and launches Magit from the status buffer for the project at point.")
21996 (license license:gpl3+)))
21997
21998 (define-public emacs-repology
21999 (package
22000 (name "emacs-repology")
22001 (version "1.1.0")
22002 (source
22003 (origin
22004 (method url-fetch)
22005 (uri (string-append "https://elpa.gnu.org/packages/"
22006 "repology-" version ".tar"))
22007 (sha256
22008 (base32 "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90"))))
22009 (build-system emacs-build-system)
22010 (home-page "https://elpa.gnu.org/packages/repology.html")
22011 (synopsis "Repology API access via Elisp")
22012 (description
22013 "This package provides tools to query Repology API (see
22014 @url{https://repology.org/api}), process results, and display them.")
22015 (license license:gpl3+)))
22016
22017 (define-public emacs-alect-themes
22018 (package
22019 (name "emacs-alect-themes")
22020 (version "0.9")
22021 (source (origin
22022 (method git-fetch)
22023 (uri (git-reference
22024 (url "https://github.com/alezost/alect-themes")
22025 (commit (string-append "v" version))))
22026 (file-name (git-file-name name version))
22027 (sha256
22028 (base32
22029 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
22030 (build-system emacs-build-system)
22031 (home-page "https://github.com/alezost/alect-themes")
22032 (synopsis "Low contrast, light, dark and black color theme for Emacs")
22033 (description "@code{emacs-alect-themes} provides configurable light, dark
22034 and black color themes for Emacs. The themes are intended to be used with
22035 GUI.")
22036 (license license:gpl3+)))
22037
22038 (define-public emacs-google-c-style
22039 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
22040 (revision "0"))
22041 (package
22042 (name "emacs-google-c-style")
22043 (version (git-version "0.1" revision commit))
22044 (source (origin
22045 (method git-fetch)
22046 (uri (git-reference
22047 (url "https://github.com/google/styleguide")
22048 (commit commit)))
22049 (file-name (git-file-name name version))
22050 (sha256
22051 (base32
22052 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
22053 (build-system emacs-build-system)
22054 (home-page "https://github.com/google/styleguide")
22055 (synopsis "Emacs settings file for Google C/C++ style")
22056 (description "@code{emacs-google-c-style} provides an Emacs settings
22057 file for Google C and C++ style.")
22058 (license license:gpl1+))))
22059
22060 (define-public emacs-redshank
22061 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
22062 (revision "1"))
22063 (package
22064 (name "emacs-redshank")
22065 (version (git-version "0.1" revision commit))
22066 (source (origin
22067 (method git-fetch)
22068 (uri (git-reference
22069 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
22070 (commit commit)))
22071 (file-name (git-file-name name version))
22072 (sha256
22073 (base32
22074 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
22075 (build-system emacs-build-system)
22076 (propagated-inputs
22077 `(("emacs-paredit" ,emacs-paredit)))
22078 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
22079 (synopsis "Common Lisp Editing Extensions (for Emacs)")
22080 (description "Redshank is a collection of code-wrangling Emacs macros
22081 mostly geared towards Common Lisp, but some are useful for other Lisp
22082 dialects, too. Redshank's code transformations aim to be expression-based (as
22083 opposed to character-based).")
22084 (license license:gpl1+))))
22085
22086 (define-public emacs-disk-usage
22087 (package
22088 (name "emacs-disk-usage")
22089 (version "1.3.3")
22090 (source
22091 (origin
22092 (method git-fetch)
22093 (uri (git-reference
22094 (url "https://gitlab.com/Ambrevar/emacs-disk-usage")
22095 (commit version)))
22096 (file-name (git-file-name name version))
22097 (sha256
22098 (base32
22099 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
22100 (build-system emacs-build-system)
22101 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
22102 (synopsis "Sort and browse disk usage listings with Emacs")
22103 (description "Disk Usage is a file system analyzer: it offers a tabulated
22104 view of file listings sorted by size. Directory sizes are computed
22105 recursively. The results are cached for speed.")
22106 (license license:gpl3+)))
22107
22108 (define-public emacs-orgit
22109 (package
22110 (name "emacs-orgit")
22111 (version "1.6.3")
22112 (home-page "https://github.com/magit/orgit")
22113 (source (origin
22114 (method git-fetch)
22115 (uri (git-reference
22116 (url home-page)
22117 (commit (string-append "v" version))))
22118 (file-name (git-file-name name version))
22119 (sha256
22120 (base32
22121 "08amzcvw483dpfq5r34ysn84wzd538qk0jblc94vgcaidspx6481"))))
22122 (build-system emacs-build-system)
22123 (propagated-inputs
22124 `(("emacs-dash" ,emacs-dash)
22125 ("emacs-magit" ,emacs-magit)))
22126 (synopsis "Support for Org links to Magit buffers")
22127 (description "This package defines several Org link types, which can be
22128 used to link to certain Magit buffers. Use the command
22129 @command{org-store-link} while such a buffer is current to store a link.
22130 Later you can insert it into an Org buffer using the command
22131 @code{org-insert-link}.")
22132 (license license:gpl3+)))
22133
22134 (define-public emacs-amx
22135 (package
22136 (name "emacs-amx")
22137 (version "3.3")
22138 (source
22139 (origin
22140 (method git-fetch)
22141 (uri (git-reference
22142 (url "https://github.com/DarwinAwardWinner/amx")
22143 (commit (string-append "v" version))))
22144 (file-name (git-file-name name version))
22145 (sha256
22146 (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw"))))
22147 (build-system emacs-build-system)
22148 (propagated-inputs
22149 `(("emacs-s" ,emacs-s)))
22150 (home-page "https://github.com/DarwinAwardWinner/amx")
22151 (synopsis "Alternative M-x interface for Emacs")
22152 (description "Amx is an alternative interface for M-x in Emacs. It
22153 provides several enhancements over the ordinary
22154 @code{execute-extended-command}, such as prioritizing your most-used commands
22155 in the completion list and showing keyboard shortcuts, and it supports several
22156 completion systems for selecting commands, such as Ido and Ivy.")
22157 (license license:gpl3+)))
22158
22159 (define-public emacs-lorem-ipsum
22160 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
22161 (package
22162 (name "emacs-lorem-ipsum")
22163 (version (git-version "0.2" "1" commit))
22164 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
22165 (source (origin
22166 (method git-fetch)
22167 (uri (git-reference
22168 (url home-page)
22169 (commit commit)))
22170 (file-name (git-file-name name version))
22171 (sha256
22172 (base32
22173 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
22174 (build-system emacs-build-system)
22175 (synopsis "Insert dummy pseudo Latin text in Emacs")
22176 (description "This package provides convenience functions to insert
22177 dummy Latin text into a buffer. This can be useful if you need to produce
22178 paragraphs or pages of text for testing purposes.")
22179 (license license:gpl3+))))
22180
22181 (define-public emacs-lisp-extra-font-lock
22182 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
22183 (package
22184 (name "emacs-lisp-extra-font-lock")
22185 (version (git-version "0.0.6" "1" commit))
22186 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
22187 (source (origin
22188 (method git-fetch)
22189 (uri (git-reference
22190 (url home-page)
22191 (commit commit)))
22192 (file-name (git-file-name name version))
22193 (sha256
22194 (base32
22195 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
22196 (build-system emacs-build-system)
22197 (synopsis "Highlight bound variables and quoted expressions in Emacs")
22198 (description "This package highlight the location where local variables
22199 is created (bound, for example, by let) as well as quoted and backquoted
22200 constant expressions.")
22201 (license license:gpl3+))))
22202
22203 (define-public emacs-docker-tramp
22204 (package
22205 (name "emacs-docker-tramp")
22206 (version "0.1")
22207 (source
22208 (origin
22209 (method git-fetch)
22210 (uri (git-reference
22211 (url "https://github.com/emacs-pe/docker-tramp.el")
22212 (commit (string-append "v" version))))
22213 (file-name (git-file-name name version))
22214 (sha256
22215 (base32
22216 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
22217 (build-system emacs-build-system)
22218 (home-page "https://github.com/emacs-pe/docker-tramp.el")
22219 (synopsis "TRAMP integration for docker containers")
22220 (description
22221 "This package provides a TRAMP method for Docker containers.")
22222 (license license:gpl3+)))
22223
22224 (define-public emacs-docker
22225 (package
22226 (name "emacs-docker")
22227 (version "1.3.0")
22228 (source (origin
22229 (method git-fetch)
22230 (uri (git-reference
22231 (url "https://github.com/Silex/docker.el")
22232 (commit version)))
22233 (file-name (git-file-name name version))
22234 (sha256
22235 (base32
22236 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
22237 (inputs
22238 `(("emacs-undercover" ,emacs-undercover)))
22239 (propagated-inputs
22240 `(("emacs-dash" ,emacs-dash)
22241 ("emacs-docker-tramp" ,emacs-docker-tramp)
22242 ("emacs-magit-popup" ,emacs-magit-popup)
22243 ("emacs-s" ,emacs-s)
22244 ("emacs-tablist" ,emacs-tablist)
22245 ("emacs-json-mode" ,emacs-json-mode)))
22246 (arguments
22247 `(#:phases
22248 (modify-phases %standard-phases
22249 (delete 'check)))) ;no tests
22250 (build-system emacs-build-system)
22251 (home-page "https://github.com/Silex/docker.el")
22252 (synopsis "Manage docker from Emacs")
22253 (description "This package provides an Emacs interface for Docker.")
22254 (license license:gpl3+)))
22255
22256 (define-public emacs-dockerfile-mode
22257 (package
22258 (name "emacs-dockerfile-mode")
22259 (version "1.3")
22260 (source
22261 (origin
22262 (method git-fetch)
22263 (uri (git-reference
22264 (url "https://github.com/spotify/dockerfile-mode")
22265 (commit (string-append "v" version))))
22266 (file-name (git-file-name name version))
22267 (sha256
22268 (base32
22269 "1br73dsls42fn4rwagljkpa3l4wwj6f7jxfn3gmgl6c54z81av3v"))))
22270 (build-system emacs-build-system)
22271 (propagated-inputs
22272 `(("emacs-s" ,emacs-s)))
22273 (home-page "https://github.com/spotify/dockerfile-mode")
22274 (synopsis "Major mode for editing Dockerfile")
22275 (description
22276 "This package provides a major mode @code{dockerfile-mode} for use with
22277 the standard @code{Dockerfile} file format.")
22278 (license license:asl2.0)))
22279
22280 (define-public emacs-lsp-mode
22281 (package
22282 (name "emacs-lsp-mode")
22283 (version "7.0.1")
22284 (source
22285 (origin
22286 (method git-fetch)
22287 (uri (git-reference
22288 (url "https://github.com/emacs-lsp/lsp-mode")
22289 (commit version)))
22290 (file-name (git-file-name name version))
22291 (sha256
22292 (base32 "1z8zm7qr21hvhl6rnbznv2l9drh1pp5y4zkjrx5ac4x77b8i4aaz"))))
22293 (build-system emacs-build-system)
22294 (propagated-inputs
22295 `(("emacs-dash" ,emacs-dash)
22296 ("emacs-f" ,emacs-f)
22297 ("emacs-ht" ,emacs-ht)
22298 ("emacs-hydra" ,emacs-hydra)
22299 ("emacs-markdown-mode" ,emacs-markdown-mode)
22300 ("emacs-spinner" ,emacs-spinner)))
22301 (home-page "https://emacs-lsp.github.io/lsp-mode/")
22302 (synopsis "Emacs client and library for the Language Server Protocol")
22303 (description
22304 "LSP mode is a client and library implementation for the Language Server
22305 Protocol. This mode creates an IDE-like experience by providing optional
22306 integration with other popular Emacs packages like Company, Flycheck, and
22307 Projectile.")
22308 (license license:gpl3+)))
22309
22310 (define-public emacs-lsp-treemacs
22311 (package
22312 (name "emacs-lsp-treemacs")
22313 (version "0.3")
22314 (source
22315 (origin
22316 (method git-fetch)
22317 (uri (git-reference
22318 (url "https://github.com/emacs-lsp/lsp-treemacs")
22319 (commit version)))
22320 (file-name (git-file-name name version))
22321 (sha256
22322 (base32 "1z9cb7i546pbzvxii6lsj31jq8m70xrzscphl5z71vh93sydyhkb"))))
22323 (build-system emacs-build-system)
22324 (propagated-inputs
22325 `(("emacs-lsp-mode" ,emacs-lsp-mode)
22326 ("emacs-treemacs" ,emacs-treemacs)))
22327 (home-page "https://github.com/emacs-lsp/lsp-treemacs")
22328 (synopsis "Integration between LSP mode and treemacs")
22329 (description
22330 "This package provides integration between LSP mode and treemacs,
22331 and implementation of treeview controls using treemacs as a tree renderer.")
22332 (license license:gpl3+)))
22333
22334 (define-public emacs-dap-mode
22335 (package
22336 (name "emacs-dap-mode")
22337 (version "0.6")
22338 (source
22339 (origin
22340 (method git-fetch)
22341 (uri (git-reference
22342 (url "https://github.com/emacs-lsp/dap-mode")
22343 (commit version)))
22344 (file-name (git-file-name name version))
22345 (sha256
22346 (base32 "1d4hdydfk86d4slibigyhwng8wx3vzyap8hp5iv0h7wr6868m4iv"))))
22347 (build-system emacs-build-system)
22348 (propagated-inputs
22349 `(("emacs-bui" ,emacs-bui)
22350 ("emacs-lsp-mode" ,emacs-lsp-mode)
22351 ("emacs-posframe" ,emacs-posframe)
22352 ("emacs-lsp-treemacs" ,emacs-lsp-treemacs)))
22353 (home-page "https://emacs-lsp.github.io/dap-mode")
22354 (synopsis "Emacs client/library for Debug Adapter Protocol ")
22355 (description
22356 "Dap mode is an Emacs client/library for Debug Adapter
22357 Protocol (DAP), a wire protocol for communication between client and
22358 debug server. It is similar to the LSP but provides integration with
22359 Debug server.")
22360 (license license:gpl3+)))
22361
22362 (define-public emacs-pfuture
22363 (package
22364 (name "emacs-pfuture")
22365 (version "1.9")
22366 (source (origin
22367 (method git-fetch)
22368 (uri (git-reference
22369 (url "https://github.com/Alexander-Miller/pfuture")
22370 (commit version)))
22371 (file-name (git-file-name name version))
22372 (sha256
22373 (base32
22374 "1chpin5277vbl2xvsl04pzzk7a9dbcvclibm2496gz6yvd19pwsf"))))
22375 (build-system emacs-build-system)
22376 (home-page
22377 "https://github.com/Alexander-Miller/pfuture")
22378 (synopsis "Simple wrapper around asynchronous processes for Emacs")
22379 (description "This package provides a simple wrapper around asynchronous
22380 processes for Emacs")
22381 (license license:gpl3+)))
22382
22383 (define-public emacs-treemacs
22384 (package
22385 (name "emacs-treemacs")
22386 (version "2.8")
22387 (source (origin
22388 (method git-fetch)
22389 (uri (git-reference
22390 (url "https://github.com/Alexander-Miller/treemacs")
22391 (commit version)))
22392 (file-name (git-file-name name version))
22393 (sha256
22394 (base32
22395 "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2"))))
22396 (build-system emacs-build-system)
22397 (propagated-inputs
22398 `(("emacs-ace-window" ,emacs-ace-window)
22399 ("emacs-dash" ,emacs-dash)
22400 ("emacs-f" ,emacs-f)
22401 ("emacs-ht" ,emacs-ht)
22402 ("emacs-hydra" ,emacs-hydra)
22403 ("emacs-pfuture" ,emacs-pfuture)
22404 ("emacs-s" ,emacs-s)))
22405 (native-inputs
22406 `(("emacs-buttercup" ,emacs-buttercup)
22407 ("emacs-el-mock" ,emacs-el-mock)))
22408 (inputs
22409 `(("python" ,python)))
22410 (arguments
22411 `(#:tests? #t
22412 #:phases
22413 (modify-phases %standard-phases
22414 (add-after 'unpack 'fix-makefile
22415 (lambda _
22416 (substitute* "Makefile"
22417 (("@\\$\\(CASK\\) exec ") "")
22418 ;; Guix does not need to prepare dependencies before testing.
22419 (("test: prepare") "test:"))
22420 #t))
22421 (add-after 'fix-makefile 'chdir-elisp
22422 ;; Elisp directory is not in root of the source.
22423 (lambda _
22424 (chdir "src/elisp")))
22425 (replace 'check
22426 ;; FIXME: Work around ‘treemacs--parse-collapsed-dirs’ and
22427 ;; `treemacs-collect-child-nodes' test failures.
22428 (lambda _
22429 (with-directory-excursion "../.." ;treemacs root
22430 (chmod "test/test-treemacs.el" #o644)
22431 (emacs-substitute-sexps "test/test-treemacs.el"
22432 ("(describe \"treemacs--parse-collapsed-dirs\"" "")
22433 ("\"Finds only direct childre\"" ""))
22434 (invoke "make" "test"))))
22435 (add-before 'install 'patch-paths
22436 (lambda* (#:key inputs outputs #:allow-other-keys)
22437 (with-directory-excursion "../.." ;treemacs root
22438 (chmod "src/elisp/treemacs-core-utils.el" #o644)
22439 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
22440 ("treemacs-dir"
22441 (string-append (assoc-ref outputs "out") "/")))
22442 (chmod "src/elisp/treemacs-icons.el" #o644)
22443 (substitute* "src/elisp/treemacs-icons.el"
22444 (("icons/default") "share/emacs-treemacs/images"))
22445 (chmod "src/elisp/treemacs-customization.el" #o644)
22446 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
22447 ("treemacs-python-executable"
22448 (string-append (assoc-ref inputs "python") "/bin/python3")))
22449 (chmod "src/elisp/treemacs-async.el" #o644)
22450 (substitute* "src/elisp/treemacs-async.el"
22451 (("src/scripts") (string-append "share/" ,name "/scripts"))))
22452 #t))
22453 (add-after 'install 'install-data
22454 (lambda* (#:key outputs #:allow-other-keys)
22455 (let ((out (assoc-ref outputs "out")))
22456 (with-directory-excursion "../.." ;treemacs root
22457 (copy-recursively "icons/default"
22458 (string-append out "/share/" ,name "/images"))
22459 (copy-recursively
22460 "src/scripts"
22461 (string-append out "/share/" ,name "/scripts"))
22462 #t)))))))
22463 (home-page "https://github.com/Alexander-Miller/treemacs")
22464 (synopsis "Emacs tree style file explorer")
22465 (description
22466 "Treemacs is a file and project explorer similar to NeoTree or Vim's
22467 NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows
22468 the file system outlines of your projects in a simple tree layout allowing
22469 quick navigation and exploration, while also possessing basic file management
22470 utilities.")
22471 (license license:gpl3+)))
22472
22473 (define-public emacs-treemacs-extra
22474 (package
22475 (inherit emacs-treemacs)
22476 (name "emacs-treemacs-extra")
22477 (propagated-inputs
22478 `(,@(package-propagated-inputs emacs-treemacs)
22479 ("emacs-evil" ,emacs-evil)
22480 ("emacs-magit" ,emacs-magit)
22481 ("emacs-projectile" ,emacs-projectile)
22482 ("emacs-persp-mode" ,emacs-persp-mode)))
22483 (arguments
22484 (substitute-keyword-arguments
22485 (package-arguments emacs-treemacs)
22486 ((#:phases phases)
22487 `(modify-phases ,phases
22488 (add-after 'chdir-elisp 'copy-extra
22489 (lambda _
22490 (copy-recursively "../extra" ".")))))))))
22491
22492 (define-public emacs-libyaml
22493 ;; Upstream made no release so far.
22494 (let ((version "0")
22495 (revision "1")
22496 (commit "703e0d448c7ee24e25b513a3c65980c80e166805"))
22497 (package
22498 (name "emacs-libyaml")
22499 (version (git-version version revision commit))
22500 (source
22501 (origin
22502 (method git-fetch)
22503 (uri (git-reference
22504 (url "https://github.com/syohex/emacs-libyaml")
22505 (commit commit)))
22506 (file-name (git-file-name name version))
22507 (sha256
22508 (base32 "08l7pm9v50ykd3fkbm0bh2kcd57cadbc5i9r6rj51vd32w3pl2yl"))))
22509 (build-system emacs-build-system)
22510 (arguments
22511 `(#:tests? #f ;no test
22512 #:modules ((guix build emacs-build-system)
22513 (guix build emacs-utils)
22514 (guix build utils))
22515 #:imported-modules (,@%emacs-build-system-modules
22516 (guix build gnu-build-system))
22517 #:phases
22518 (modify-phases %standard-phases
22519 (add-before 'add-source-to-load-path 'substitute-libyaml-core-path
22520 (lambda* (#:key outputs #:allow-other-keys)
22521 (chmod "libyaml.el" #o644)
22522 (substitute* "libyaml.el"
22523 (("^\\(require 'libyaml-core\\)")
22524 (string-append "(module-load \"" (assoc-ref outputs "out")
22525 "/lib/libyaml-core.so\")")))
22526 #t))
22527 (add-after 'check 'make
22528 ;; Run make.
22529 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
22530 ;; Compile the shared object file.
22531 (apply invoke "make" "all" "CPPFLAGS=" make-flags)
22532 ;; Move the file into /lib.
22533 (install-file "libyaml-core.so"
22534 (string-append (assoc-ref outputs "out") "/lib"))
22535 #t)))))
22536 (native-inputs `(("libyaml" ,libyaml)))
22537 (home-page "https://github.com/syohex/emacs-libyaml")
22538 (synopsis "Libyaml bindings for Emacs")
22539 (description
22540 "This package implements bindings for LibYAML to be able to parse YAML
22541 files in Elisp.")
22542 (license license:gpl3+))))
22543
22544 (define-public emacs-lsp-java
22545 (package
22546 (name "emacs-lsp-java")
22547 (version "3.1")
22548 (source (origin
22549 (method git-fetch)
22550 (uri (git-reference
22551 (url "https://github.com/emacs-lsp/lsp-java")
22552 (commit version)))
22553 (file-name (git-file-name name version))
22554 (sha256
22555 (base32
22556 "1h0hqgjpk5mbylma1fkva0vx45achf0k7ab2c5y8a2449niww90h"))))
22557 (build-system emacs-build-system)
22558 (propagated-inputs
22559 `(("emacs-dap-mode" ,emacs-dap-mode)
22560 ("emacs-lsp-mode" ,emacs-lsp-mode)
22561 ("emacs-markdown-mode" ,emacs-markdown-mode)
22562 ("emacs-dash" ,emacs-dash)
22563 ("emacs-f" ,emacs-f)
22564 ("emacs-ht" ,emacs-ht)
22565 ("emacs-request" ,emacs-request)
22566 ("emacs-treemacs" ,emacs-treemacs)))
22567 (home-page "https://github.com/emacs-lsp/lsp-java/")
22568 (synopsis "Java support for lsp-mode")
22569 (description "Emacs Java IDE using Eclipse JDT Language Server.")
22570 (license license:gpl3+)))
22571
22572 (define-public emacs-lsp-ui
22573 (package
22574 (name "emacs-lsp-ui")
22575 (version "7.0.1")
22576 (source (origin
22577 (method git-fetch)
22578 (uri (git-reference
22579 (url "https://github.com/emacs-lsp/lsp-ui")
22580 (commit version)))
22581 (file-name (git-file-name name version))
22582 (sha256
22583 (base32
22584 "09dmhhxmfjnzdc5kygwsjf8nwqlnq9rbgrca679s2wy93miqj7vc"))))
22585 (build-system emacs-build-system)
22586 (propagated-inputs
22587 `(("emacs-dash" ,emacs-dash)
22588 ("emacs-lsp-mode" ,emacs-lsp-mode)
22589 ("emacs-markdown-mode" ,emacs-markdown-mode)
22590 ("emacs-flycheck" ,emacs-flycheck)))
22591 (home-page "https://github.com/emacs-lsp/lsp-ui")
22592 (synopsis "User interface extensions for @code{lsp-mode}")
22593 (description
22594 "@code{LSP-ui} contains several enhancements and integrations for
22595 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
22596 and code peeking.")
22597 (license license:gpl3+)))
22598
22599 (define-public emacs-lsp-lua-emmy
22600 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
22601 (package
22602 (name "emacs-lsp-lua-emmy")
22603 (version (git-version "0.1.0" "1" commit))
22604 (source (origin
22605 (method git-fetch)
22606 (uri (git-reference
22607 (url "https://github.com/phenix3443/lsp-lua-emmy")
22608 (commit commit)))
22609 (file-name (git-file-name name version))
22610 (sha256
22611 (base32
22612 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
22613 (build-system emacs-build-system)
22614 (propagated-inputs
22615 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
22616 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
22617 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
22618 (description "This package provides a Lua language support in
22619 @code{lsp-mode} client for Emacs.")
22620 (license license:gpl3+))))
22621
22622 (define-public emacs-lsp-ivy
22623 (package
22624 (name "emacs-lsp-ivy")
22625 (version "0.4")
22626 (source
22627 (origin
22628 (method git-fetch)
22629 (uri (git-reference
22630 (url "https://github.com/emacs-lsp/lsp-ivy")
22631 (commit version)))
22632 (file-name (git-file-name name version))
22633 (sha256
22634 (base32 "08dpn0vcfdwwysijwdpnnj91m69yw0q464i0wmp51zpj3dyd4kb1"))))
22635 (build-system emacs-build-system)
22636 (propagated-inputs
22637 `(("emacs-dash" ,emacs-dash)
22638 ("emacs-ivy" ,emacs-ivy)
22639 ("emacs-lsp-mode" ,emacs-lsp-mode)))
22640 (home-page "https://github.com/emacs-lsp/lsp-ivy")
22641 (synopsis "Provide LSP-enhanced completion for symbols")
22642 (description
22643 "This package enhances @code{ivy} with completion for symbols from
22644 workspaces with a LSP-compliant server running.")
22645 (license license:gpl3+)))
22646
22647 (define-public emacs-helm-lsp
22648 (package
22649 (name "emacs-helm-lsp")
22650 (version "0.2")
22651 (source (origin
22652 (method git-fetch)
22653 (uri (git-reference
22654 (url "https://github.com/emacs-lsp/helm-lsp")
22655 (commit version)))
22656 (file-name (git-file-name name version))
22657 (sha256
22658 (base32
22659 "1vq3qpqm3ndqyvf5bk8qhqcr60x9ykc0ipk2a43rr3yjm4z1b6s9"))))
22660 (build-system emacs-build-system)
22661 (propagated-inputs
22662 `(("emacs-helm" ,emacs-helm)
22663 ("emacs-lsp-mode" ,emacs-lsp-mode)
22664 ("emacs-dash" ,emacs-dash)))
22665 (home-page "https://github.com/emacs-lsp/helm-lsp")
22666 (synopsis "Provide LSP-enhanced completion for symbols")
22667 (description
22668 "This package enhances @code{helm} with completion for symbols from
22669 workspaces with a LSP-compliant server running.")
22670 (license license:gpl3+)))
22671
22672 (define-public emacs-helm-notmuch
22673 (package
22674 (name "emacs-helm-notmuch")
22675 (version "1.2")
22676 (home-page "https://github.com/emacs-helm/helm-notmuch/")
22677 (source (origin
22678 (method git-fetch)
22679 (uri (git-reference
22680 (url home-page)
22681 (commit version)))
22682 (file-name (git-file-name name version))
22683 (sha256
22684 (base32
22685 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
22686 (build-system emacs-build-system)
22687 (propagated-inputs
22688 `(("emacs-helm" ,emacs-helm)
22689 ("notmuch" ,notmuch)))
22690 (synopsis "Search emails with Emacs Notmuch and Helm")
22691 (description
22692 "This package can be used to search emails in Emacs, searching result
22693 displays as you type thanks to Helm, though @command{notmuch-search} does the
22694 real search.")
22695 (license license:gpl3+)))
22696
22697 (define-public emacs-notmuch-maildir
22698 (package
22699 (name "emacs-notmuch-maildir")
22700 (version "0.2.0")
22701 (source (origin
22702 (method git-fetch)
22703 (uri (git-reference
22704 (url "https://git.sr.ht/~tarsius/notmuch-maildir")
22705 (commit (string-append "v" version))))
22706 (file-name (git-file-name name version))
22707 (sha256
22708 (base32
22709 "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))
22710 (build-system emacs-build-system)
22711 (propagated-inputs
22712 `(("notmuch" ,notmuch)))
22713 (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
22714 (synopsis "Visualize maildirs as a tree")
22715 (description
22716 "This package can visualize maildirs hierarchically in Notmuch's ``hello
22717 buffer''.")
22718 (license license:gpl3+)))
22719
22720 (define-public emacs-elmacro
22721 (package
22722 (name "emacs-elmacro")
22723 (version "1.1.1")
22724 (home-page "https://github.com/Silex/elmacro")
22725 (source (origin
22726 (method git-fetch)
22727 (uri (git-reference
22728 (url home-page)
22729 (commit version)))
22730 (file-name (git-file-name name version))
22731 (sha256
22732 (base32
22733 "1x4wnsshf9h10mp51x92vs5rxw5had4gmw6zz4f53czx1ymcv16a"))))
22734 (build-system emacs-build-system)
22735 (propagated-inputs
22736 `(("emacs-s" ,emacs-s)
22737 ("emacs-dash" ,emacs-dash)))
22738 (synopsis "Convert keyboard macros to Emacs Lisp")
22739 (description
22740 "This package displays keyboard macros or latest interactive commands
22741 as Emacs Lisp.")
22742 (license license:gpl3+)))
22743
22744 (define-public emacs-transient
22745 (package
22746 (name "emacs-transient")
22747 (version "0.3.2")
22748 (source (origin
22749 (method git-fetch)
22750 (uri (git-reference
22751 (url "https://github.com/magit/transient")
22752 (commit (string-append "v" version))))
22753 (file-name (git-file-name name version))
22754 (sha256
22755 (base32
22756 "1766hdqzg95k62nqhadfv502mpnjlx1l59ppqmc6r0las82dc6a8"))))
22757 (build-system emacs-build-system)
22758 (arguments
22759 `(#:tests? #f ;no test suite
22760 #:phases
22761 (modify-phases %standard-phases
22762 (add-after 'unpack 'build-info-manual
22763 (lambda _
22764 (invoke "make" "info")
22765 ;; Move the info file to lisp so that it gets installed by the
22766 ;; emacs-build-system.
22767 (rename-file "docs/transient.info" "lisp/transient.info")
22768 #t))
22769 (add-after 'build-info-manual 'enter-lisp-directory
22770 (lambda _
22771 (chdir "lisp")
22772 #t)))))
22773 (native-inputs
22774 `(("texinfo" ,texinfo)))
22775 (propagated-inputs
22776 `(("dash" ,emacs-dash)))
22777 (home-page "https://magit.vc/manual/transient")
22778 (synopsis "Transient commands in Emacs")
22779 (description "Taking inspiration from prefix keys and prefix arguments
22780 in Emacs, Transient implements a similar abstraction involving a prefix
22781 command, infix arguments and suffix commands. We could call this abstraction
22782 a \"transient command\", but because it always involves at least two
22783 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
22784 (license license:gpl3+)))
22785
22786 (define-public emacs-forge
22787 (let ((commit "05ef02913004826165c383bd6d2ff6574542b76c"))
22788 (package
22789 (name "emacs-forge")
22790 (version (git-version "0.1.0" "5" commit))
22791 (source
22792 (origin
22793 (method git-fetch)
22794 (uri (git-reference
22795 (url "https://github.com/magit/forge")
22796 (commit commit)))
22797 (file-name (git-file-name name version))
22798 (sha256
22799 (base32
22800 "1vv7xlawj2zmwqk69qlsqflhh0lbyqm5xf4x8l4v2069g0k8mmx1"))))
22801 (build-system emacs-build-system)
22802 (native-inputs
22803 `(("texinfo" ,texinfo)))
22804 (propagated-inputs
22805 `(("emacs-closql" ,emacs-closql)
22806 ("emacs-dash" ,emacs-dash)
22807 ("emacs-emacsql-sqlite" ,emacs-emacsql)
22808 ("emacs-ghub" ,emacs-ghub)
22809 ("emacs-let-alist" ,emacs-let-alist)
22810 ("emacs-magit" ,emacs-magit)
22811 ("emacs-markdown-mode" ,emacs-markdown-mode)
22812 ("emacs-transient" ,emacs-transient)))
22813 (arguments
22814 `(#:tests? #f ;no tests
22815 #:phases
22816 (modify-phases %standard-phases
22817 (add-after 'unpack 'build-info-manual
22818 (lambda _
22819 (invoke "make" "info")
22820 ;; Move the info file to lisp so that it gets installed by the
22821 ;; emacs-build-system.
22822 (rename-file "docs/forge.info" "lisp/forge.info")))
22823 (add-after 'build-info-manual 'chdir-lisp
22824 (lambda _
22825 (chdir "lisp")
22826 #t)))))
22827 (home-page "https://github.com/magit/forge/")
22828 (synopsis "Access Git forges from Magit")
22829 (description "Work with Git forges, such as Github and Gitlab, from the
22830 comfort of Magit and the rest of Emacs.")
22831 (license license:gpl3+))))
22832
22833 (define-public emacs-matcha
22834 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
22835 (package
22836 (name "emacs-matcha")
22837 (version (git-version "0.0.1" "1" commit)) ;no upstream release
22838 (source (origin
22839 (method git-fetch)
22840 (uri (git-reference
22841 (url "https://github.com/jojojames/matcha")
22842 (commit commit)))
22843 (file-name (git-file-name name version))
22844 (sha256
22845 (base32
22846 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
22847 (propagated-inputs
22848 `(("emacs-hydra" ,emacs-hydra)
22849 ("emacs-transient" ,emacs-transient)))
22850 (build-system emacs-build-system)
22851 (home-page "https://github.com/jojojames/matcha/")
22852 (synopsis "Collection of hydras with a generic interface to launch them")
22853 (description "Matcha provides a collection of transients for various
22854 packages with a consistent way to use them.")
22855 (license license:gpl3+))))
22856
22857 (define-public emacs-undo-propose-el
22858 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
22859 (revision "3"))
22860 (package
22861 (name "emacs-undo-propose-el")
22862 (version (git-version "3.0.0" revision commit))
22863 (source
22864 (origin
22865 (method git-fetch)
22866 (uri (git-reference
22867 (url "https://github.com/jackkamm/undo-propose-el")
22868 (commit commit)))
22869 (file-name (git-file-name name version))
22870 (sha256
22871 (base32
22872 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
22873 (build-system emacs-build-system)
22874 (arguments
22875 `(#:tests? #t
22876 #:test-command '("make" "test")))
22877 (home-page "https://github.com/jackkamm/undo-propose-el")
22878 (synopsis "Simple and safe navigation of @code{undo} history")
22879 (description "This package permits navigation of @code{undo} history in a
22880 temporary buffer, which is read-only save for @code{undo} commands, and
22881 subsequent committal of a chain of @code{undo} commands as a single edit in
22882 the @code{undo} history.")
22883 (license license:gpl3+))))
22884
22885 (define-public emacs-elisp-docstring-mode
22886 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
22887 (version "0.0.1")
22888 (revision "1"))
22889 (package
22890 (name "emacs-elisp-docstring-mode")
22891 (version (git-version version revision commit))
22892 (source
22893 (origin
22894 (method git-fetch)
22895 (uri (git-reference
22896 (url "https://github.com/Fuco1/elisp-docstring-mode")
22897 (commit commit)))
22898 (file-name (git-file-name name version))
22899 (sha256
22900 (base32
22901 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
22902 (build-system emacs-build-system)
22903 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
22904 (synopsis "Major mode for editing Emacs Lisp docstrings")
22905 (description "This package provides font lock and automatic escaping and
22906 unescaping of quotes.")
22907 (license license:gpl3+))))
22908
22909 (define-public emacs-vimrc-mode
22910 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
22911 (version "0.3.1")
22912 (revision "1"))
22913 (package
22914 (name "emacs-vimrc-mode")
22915 (version (git-version version revision commit))
22916 (source
22917 (origin
22918 (method git-fetch)
22919 (uri (git-reference
22920 (url "https://github.com/mcandre/vimrc-mode")
22921 (commit commit)))
22922 (file-name (git-file-name name version))
22923 (sha256
22924 (base32
22925 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
22926 (build-system emacs-build-system)
22927 (home-page "https://github.com/mcandre/vimrc-mode")
22928 (synopsis "Major mode for Vimscript")
22929 (description "This package provides font lock and @code{beginning-} and
22930 @code{end-of-defun} functions for Vimscript files.")
22931 (license license:gpl3+))))
22932
22933 (define-public emacs-flycheck-elm
22934 (let ((revision "0")
22935 (commit "1b60050efd4729bfba548f3e5adbcb58436667cb"))
22936 (package
22937 (name "emacs-flycheck-elm")
22938 (version (git-version "0" revision commit))
22939 (source
22940 (origin
22941 (method git-fetch)
22942 (uri
22943 (git-reference
22944 (url "https://github.com/bsermons/flycheck-elm")
22945 (commit commit)))
22946 (file-name (git-file-name name version))
22947 (sha256
22948 (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms"))))
22949 (build-system emacs-build-system)
22950 (propagated-inputs
22951 `(("emacs-flycheck" ,emacs-flycheck)
22952 ("emacs-let-alist" ,emacs-let-alist)))
22953 (home-page "https://github.com/bsermons/flycheck-elm")
22954 (synopsis "Flycheck support for the Elm language")
22955 (description "Flycheck Elm adds Flycheck support for Elm language.")
22956 (license license:gpl3+))))
22957
22958 (define-public emacs-flycheck-haskell
22959 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
22960 (revision "2"))
22961 (package
22962 (name "emacs-flycheck-haskell")
22963 (version (git-version "0.8" revision commit))
22964 (source
22965 (origin
22966 (method git-fetch)
22967 (uri (git-reference
22968 (url "https://github.com/flycheck/flycheck-haskell")
22969 (commit commit)))
22970 (file-name (git-file-name name version))
22971 (sha256
22972 (base32
22973 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
22974 (build-system emacs-build-system)
22975 (propagated-inputs
22976 `(("emacs-dash" ,emacs-dash)
22977 ("emacs-flycheck" ,emacs-flycheck)
22978 ("emacs-haskell-mode" ,emacs-haskell-mode)
22979 ("emacs-let-alist" ,emacs-let-alist)))
22980 (arguments
22981 `(#:include '("\\.el$" "\\.hs$")))
22982 (home-page "https://github.com/flycheck/flycheck-haskell")
22983 (synopsis "Flycheck for Haskell")
22984 (description "This package configures syntax-checking for Haskell
22985 buffers.")
22986 (license license:gpl3+))))
22987
22988 (define-public emacs-js2-refactor-el
22989 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
22990 (revision "2"))
22991 (package
22992 (name "emacs-js2-refactor-el")
22993 (version (git-version "0.9.0" revision commit))
22994 (source
22995 (origin
22996 (method git-fetch)
22997 (uri (git-reference
22998 (url "https://github.com/magnars/js2-refactor.el")
22999 (commit commit)))
23000 (file-name (git-file-name name version))
23001 (sha256
23002 (base32
23003 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
23004 (build-system emacs-build-system)
23005 (propagated-inputs
23006 `(("emacs-dash" ,emacs-dash)
23007 ("emacs-s" ,emacs-s)
23008 ("emacs-js2-mode" ,emacs-js2-mode)
23009 ("emacs-yasnippet" ,emacs-yasnippet)
23010 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
23011 (native-inputs
23012 `(("emacs-buttercup" ,emacs-buttercup)
23013 ("emacs-espuds" ,emacs-espuds)))
23014 (home-page "https://github.com/magnars/js2-refactor.el")
23015 (synopsis "JavaScript refactoring in Emacs")
23016 (description "This package provides various refactoring functions for
23017 JavaScript.")
23018 (license license:gpl3+))))
23019
23020 (define-public emacs-prettier
23021 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
23022 (version "0.1.0")
23023 (revision "1"))
23024 (package
23025 (name "emacs-prettier")
23026 (version (git-version version revision commit))
23027 (source
23028 (origin
23029 (method git-fetch)
23030 (uri (git-reference
23031 (url "https://github.com/prettier/prettier-emacs")
23032 (commit commit)))
23033 (file-name (git-file-name name version))
23034 (sha256
23035 (base32
23036 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
23037 (build-system emacs-build-system)
23038 (home-page "https://github.com/prettier/prettier-emacs")
23039 (synopsis "Automatic formatting of JavaScript code")
23040 (description "This package integrates Prettier with Emacs, and
23041 provides a minor mode that autoformats the buffer upon saving.")
23042 (license license:expat))))
23043
23044 (define-public emacs-fish-mode
23045 (package
23046 (name "emacs-fish-mode")
23047 (version "0.1.6")
23048 (source
23049 (origin
23050 (method git-fetch)
23051 (uri (git-reference
23052 (url "https://github.com/wwwjfy/emacs-fish")
23053 (commit version)))
23054 (file-name (git-file-name name version))
23055 (sha256
23056 (base32
23057 "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"))))
23058 (build-system emacs-build-system)
23059 (home-page "https://github.com/wwwjfy/emacs-fish")
23060 (synopsis "Major mode for Fish shell scripts")
23061 (description "This package provides syntax highlighting and indentation
23062 functions for Fish shell scripts.")
23063 (license license:gpl3+)))
23064
23065 (define-public emacs-eshell-up
23066 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
23067 (version "0.0.3")
23068 (revision "12"))
23069 (package
23070 (name "emacs-eshell-up")
23071 (version (git-version version revision commit))
23072 (source
23073 (origin
23074 (method git-fetch)
23075 (uri (git-reference
23076 (url "https://github.com/peterwvj/eshell-up")
23077 (commit commit)))
23078 (file-name (git-file-name name version))
23079 (sha256
23080 (base32
23081 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
23082 (build-system emacs-build-system)
23083 (home-page "https://github.com/peterwvj/eshell-up")
23084 (synopsis "Quickly go to a parent directory in @code{Eshell}")
23085 (description "This package provides quick navigation to a specific
23086 parent directory using @code{Eshell}.")
23087 (license license:gpl3+))))
23088
23089 (define-public emacs-springboard
23090 ;; Upstream provides no tag. Using the latest commit. Version is extracted
23091 ;; from "Version:" keyword.
23092 (let ((commit "687d1e5898a880878995dc9bffe93b4598366203")
23093 (version "1.0")
23094 (revision "1"))
23095 (package
23096 (name "emacs-springboard")
23097 (version (git-version version revision commit))
23098 (source
23099 (origin
23100 (method git-fetch)
23101 (uri (git-reference
23102 (url "https://github.com/jwiegley/springboard")
23103 (commit commit)))
23104 (file-name (git-file-name name version))
23105 (sha256
23106 (base32 "0fn8c4hqblfjvcpg68kj2dmdjqsdnxddqbzgvakl43zckjg8pi01"))))
23107 (build-system emacs-build-system)
23108 (propagated-inputs
23109 `(("emacs-helm" ,emacs-helm)
23110 ("emacs-ivy" ,emacs-ivy)))
23111 (home-page "https://github.com/jwiegley/springboard")
23112 (synopsis "Change the Emacs default directory quickly")
23113 (description
23114 "This Emacs package provides a quick way to change the default
23115 directory for only the next invoked command. The directory selection can be
23116 done using Helm, Ido or Ivy.")
23117 (license license:gpl2+))))
23118
23119 (define-public emacs-tco-el
23120 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
23121 (revision "1"))
23122 (package
23123 (name "emacs-tco-el")
23124 (version (git-version "0.3" revision commit))
23125 (source
23126 (origin
23127 (method git-fetch)
23128 (uri (git-reference
23129 (url "https://github.com/Wilfred/tco.el")
23130 (commit commit)))
23131 (file-name (git-file-name name version))
23132 (sha256
23133 (base32
23134 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
23135 (build-system emacs-build-system)
23136 (propagated-inputs
23137 `(("emacs-dash" ,emacs-dash)))
23138 (native-inputs
23139 `(("emacs-ert-runner" ,emacs-ert-runner)
23140 ("emacs-undercover" ,emacs-undercover)))
23141 (arguments
23142 `(#:tests? #t
23143 #:test-command '("ert-runner")))
23144 (home-page "https://github.com/Wilfred/tco.el")
23145 (synopsis "Tail-call optimization for Emacs Lisp")
23146 (description "This package provides tail-call optimization for Emacs
23147 Lisp functions that call themselves in tail position.")
23148 (license license:gpl3+))))
23149
23150 (define-public emacs-equake
23151 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
23152 (revision "2"))
23153 (package
23154 (name "emacs-equake")
23155 (version (git-version "0.85" revision commit))
23156 (source
23157 (origin
23158 (method git-fetch)
23159 (uri (git-reference
23160 (url "https://gitlab.com/emacsomancer/equake/")
23161 (commit commit)))
23162 (file-name (git-file-name name version))
23163 (sha256
23164 (base32
23165 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
23166 (build-system emacs-build-system)
23167 (propagated-inputs
23168 `(("emacs-dash" ,emacs-dash)
23169 ("emacs-tco-el" ,emacs-tco-el)))
23170 (home-page "https://gitlab.com/emacsomancer/equake/")
23171 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
23172 (description "This package provides a Quake-style drop-down console
23173 compatible with Emacs' shell modes.")
23174 (license license:gpl3+))))
23175
23176 (define-public emacs-vdiff
23177 ;; There is no proper tag, but the commit below matches the version bump.
23178 (let ((commit "007e44be19d068fd6b49874b6e9b8df8b1f552bd"))
23179 (package
23180 (name "emacs-vdiff")
23181 (version "0.2.4")
23182 (source
23183 (origin
23184 (method git-fetch)
23185 (uri (git-reference
23186 (url "https://github.com/justbur/emacs-vdiff")
23187 (commit commit)))
23188 (file-name (git-file-name name version))
23189 (sha256
23190 (base32 "197xrwph1llrzjgkhlvagiwdgfp68pb45w5afg89ndahpqc2725s"))))
23191 (build-system emacs-build-system)
23192 (propagated-inputs
23193 `(("emacs-hydra" ,emacs-hydra)))
23194 (arguments
23195 `(#:tests? #t
23196 #:test-command '("emacs" "-Q" "-batch" "-L" "."
23197 "-l" "vdiff-test.el"
23198 "-f" "ert-run-tests-batch-and-exit")))
23199 (home-page "https://github.com/justbur/emacs-vdiff/")
23200 (synopsis "Frontend for diffing based on vimdiff")
23201 (description
23202 "This package permits comparisons of two or three buffers based on diff
23203 output.")
23204 (license license:gpl3+))))
23205
23206 (define-public emacs-vdiff-magit
23207 ;; Need to use a more recent commit than the latest release version because
23208 ;; of Magit and Transient
23209 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
23210 (version "0.3.2")
23211 (revision "8"))
23212 (package
23213 (name "emacs-vdiff-magit")
23214 (version (git-version version revision commit))
23215 (source
23216 (origin
23217 (method git-fetch)
23218 (uri (git-reference
23219 (url "https://github.com/justbur/emacs-vdiff-magit/")
23220 (commit commit)))
23221 (file-name (git-file-name name version))
23222 (sha256
23223 (base32
23224 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
23225 (build-system emacs-build-system)
23226 (propagated-inputs
23227 `(("emacs-vdiff" ,emacs-vdiff)
23228 ("emacs-magit" ,emacs-magit)
23229 ("emacs-transient" ,emacs-transient)))
23230 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
23231 (synopsis "Frontend for diffing based on vimdiff")
23232 (description "This package permits comparisons of two or three buffers
23233 based on diff output.")
23234 (license license:gpl3+))))
23235
23236 (define-public emacs-all-the-icons-dired
23237 (let ((commit "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5")
23238 (version "1.0")
23239 (revision "2"))
23240 (package
23241 (name "emacs-all-the-icons-dired")
23242 (version (git-version version revision commit))
23243 (source
23244 (origin
23245 (method git-fetch)
23246 (uri (git-reference
23247 (url "https://github.com/jtbm37/all-the-icons-dired/")
23248 (commit commit)))
23249 (file-name (git-file-name name version))
23250 (sha256
23251 (base32
23252 "0zhyhz4lhx0d8wwh1xxxf7ck4s621fk9757ql2ypxbr4iqh7sjlp"))))
23253 (build-system emacs-build-system)
23254 (propagated-inputs
23255 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
23256 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
23257 (synopsis "Show icons for each file in @code{dired-mode}")
23258 (description "This package allows icons from @file{all-the-icons.el} to
23259 be used in @code{dired-mode}.")
23260 (license license:gpl3+))))
23261
23262 (define-public emacs-exwm-edit
23263 (let ((commit "e1291e311840f1049106fe98cec032a1c75efd2b")
23264 (version "0.0.1")
23265 (revision "3"))
23266 (package
23267 (name "emacs-exwm-edit")
23268 (version (git-version version revision commit))
23269 (source
23270 (origin
23271 (method git-fetch)
23272 (uri (git-reference
23273 (url "https://github.com/agzam/exwm-edit/")
23274 (commit commit)))
23275 (file-name (git-file-name name version))
23276 (sha256
23277 (base32
23278 "031cb8fvv5n30djr9lpl6vz3rl15zykfvjlgkjc8l33a3l5mw8j0"))))
23279 (build-system emacs-build-system)
23280 (propagated-inputs
23281 `(("emacs-exwm" ,emacs-exwm)))
23282 (home-page "https://github.com/agzam/exwm-edit/")
23283 (synopsis "Open temp buffers for editing text from EXWM buffers")
23284 (description "This package facilitates editing text from EXWM buffers by
23285 generating a temp buffer in which any useful Emacs utilities and modes can be
23286 invoked.")
23287 (license license:gpl3+))))
23288
23289 (define-public emacs-ert-async
23290 (package
23291 (name "emacs-ert-async")
23292 (version "0.1.2")
23293 (source
23294 (origin
23295 (method git-fetch)
23296 (uri (git-reference
23297 (url "https://github.com/rejeep/ert-async.el")
23298 (commit (string-append "v" version))))
23299 (file-name (git-file-name name version))
23300 (sha256
23301 (base32
23302 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
23303 (build-system emacs-build-system)
23304 (home-page "https://github.com/rejeep/ert-async.el")
23305 (synopsis "Async support for ERT")
23306 (description "This package allows ERT to work with asynchronous tests.")
23307 (license license:gpl3+)))
23308
23309 (define-public emacs-prodigy-el
23310 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
23311 (revision "2"))
23312 (package
23313 (name "emacs-prodigy-el")
23314 (version (git-version "0.7.0" revision commit))
23315 (source
23316 (origin
23317 (method git-fetch)
23318 (uri (git-reference
23319 (url "https://github.com/rejeep/prodigy.el")
23320 (commit commit)))
23321 (file-name (git-file-name name version))
23322 (sha256
23323 (base32
23324 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
23325 (build-system emacs-build-system)
23326 (propagated-inputs
23327 `(("emacs-dash" ,emacs-dash)
23328 ("emacs-s" ,emacs-s)
23329 ("emacs-f" ,emacs-f)))
23330 (native-inputs
23331 `(("emacs-el-mock" ,emacs-el-mock)
23332 ("emacs-ert-async" ,emacs-ert-async)))
23333 (home-page "https://github.com/rejeep/prodigy.el")
23334 (synopsis "Manage external services from within Emacs")
23335 (description "This package provides a GUI for defining and monitoring services.")
23336 (license license:gpl3+))))
23337
23338 (define-public emacs-web-server
23339 (package
23340 (name "emacs-web-server")
23341 (version "0.1.2")
23342 (source
23343 (origin
23344 (method url-fetch)
23345 (uri (string-append "https://elpa.gnu.org/packages/"
23346 "web-server-" version ".tar"))
23347 (sha256
23348 (base32 "10lcsl4dg2yr9zjd99gq9jz150wvvh6r5y9pd88l8y9vz16f2lim"))))
23349 (build-system emacs-build-system)
23350 (home-page "https://github.com/eschulte/emacs-web-server/")
23351 (synopsis "Web server with handlers in Emacs Lisp")
23352 (description "This package supports HTTP GET and POST requests with
23353 url-encoded parameters, as well as web sockets.")
23354 (license license:gpl3+)))
23355
23356 (define-public emacs-markdown-preview-mode
23357 (package
23358 (name "emacs-markdown-preview-mode")
23359 (version "0.9.2")
23360 (source
23361 (origin
23362 (method git-fetch)
23363 (uri (git-reference
23364 (url "https://github.com/ancane/markdown-preview-mode")
23365 (commit (string-append "v" version))))
23366 (file-name (git-file-name name version))
23367 (sha256
23368 (base32
23369 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
23370 (build-system emacs-build-system)
23371 (propagated-inputs
23372 `(("emacs-markdown-mode" ,emacs-markdown-mode)
23373 ("emacs-websocket" ,emacs-websocket)
23374 ("emacs-web-server" ,emacs-web-server)))
23375 (arguments '(#:include '("\\.el$" "\\.html$")))
23376 (home-page "https://github.com/ancane/markdown-preview-mode")
23377 (synopsis "Preview Markdown files")
23378 (description "This package provides a minor mode for preview of Markdown
23379 files, and sends rendered Markdown to a web browser.")
23380 (license license:gpl3+)))
23381
23382 (define-public emacs-dotenv-mode
23383 (package
23384 (name "emacs-dotenv-mode")
23385 (version "0.2.5")
23386 (source
23387 (origin
23388 (method git-fetch)
23389 (uri (git-reference
23390 (url "https://github.com/preetpalS/emacs-dotenv-mode")
23391 (commit (string-append "v" version))))
23392 (file-name (git-file-name name version))
23393 (sha256
23394 (base32
23395 "0ys1czramj3c8zbnxxc599bqc0nqp3nnn3n45ac9cjglx5iaydq3"))))
23396 (build-system emacs-build-system)
23397 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
23398 (synopsis "Major mode for @file{.env} files")
23399 (description "This package provides syntax highlighting for @file{.env}
23400 files.")
23401 (license license:gpl3+)))
23402
23403 (define-public emacs-add-node-modules-path
23404 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
23405 (version "1.2.0")
23406 (revision "10"))
23407 (package
23408 (name "emacs-add-node-modules-path")
23409 (version (git-version version revision commit))
23410 (source
23411 (origin
23412 (method git-fetch)
23413 (uri (git-reference
23414 (url "https://github.com/codesuki/add-node-modules-path")
23415 (commit commit)))
23416 (file-name (git-file-name name version))
23417 (sha256
23418 (base32
23419 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
23420 (build-system emacs-build-system)
23421 (home-page "https://github.com/codesuki/add-node-modules-path")
23422 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
23423 (description "This package searches the parent directories of the
23424 current file for the project's @file{node_modules/.bin/} directory, allowing
23425 Emacs to find project-specific installations of packages.")
23426 (license license:expat))))
23427
23428 (define-public emacs-flow-minor-mode
23429 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
23430 (version "0.3")
23431 (revision "4"))
23432 (package
23433 (name "emacs-flow-minor-mode")
23434 (version (git-version version revision commit))
23435 (source
23436 (origin
23437 (method git-fetch)
23438 (uri (git-reference
23439 (url "https://github.com/an-sh/flow-minor-mode")
23440 (commit commit)))
23441 (file-name (git-file-name name version))
23442 (sha256
23443 (base32
23444 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
23445 (build-system emacs-build-system)
23446 (home-page "https://github.com/an-sh/flow-minor-mode")
23447 (synopsis "Minor mode for JavaScript Flow files")
23448 (description "This package integrates Flow with Emacs, allowing for
23449 definition-jumping and type-checking on demand.")
23450 (license license:bsd-3))))
23451
23452 (define-public emacs-rjsx-mode
23453 (package
23454 (name "emacs-rjsx-mode")
23455 (version "0.5.0")
23456 (source
23457 (origin
23458 (method git-fetch)
23459 (uri (git-reference
23460 (url "https://github.com/felipeochoa/rjsx-mode")
23461 (commit (string-append "v" version))))
23462 (file-name (git-file-name name version))
23463 (sha256
23464 (base32
23465 "08b4hdgq4hc1yfd9pvyir2j3cqqdqa3j5svgaba97x5fzhsz7y8i"))))
23466 (build-system emacs-build-system)
23467 (propagated-inputs
23468 `(("emacs-js2-mode" ,emacs-js2-mode)))
23469 (arguments
23470 `(#:tests? #t
23471 #:test-command '("make" "test")))
23472 (home-page "https://github.com/felipeochoa/rjsx-mode")
23473 (synopsis "Major mode for JSX files")
23474 (description "This package extends the parser of @code{js2-mode} to
23475 support JSX syntax.")
23476 (license license:expat)))
23477
23478 (define-public emacs-origami-el
23479 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
23480 (version "1.0")
23481 (revision "1"))
23482 (package
23483 (name "emacs-origami-el")
23484 (version (git-version version revision commit))
23485 (source
23486 (origin
23487 (method git-fetch)
23488 (uri (git-reference
23489 (url "https://github.com/gregsexton/origami.el")
23490 (commit commit)))
23491 (file-name (git-file-name name version))
23492 (sha256
23493 (base32
23494 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
23495 (build-system emacs-build-system)
23496 (propagated-inputs
23497 `(("emacs-dash" ,emacs-dash)
23498 ("emacs-s" ,emacs-s)))
23499 (home-page "https://github.com/gregsexton/origami.el")
23500 (synopsis "Flexible text-folding")
23501 (description "This package provides a minor mode for collapsing and
23502 expanding regions of text without modifying the actual contents.")
23503 (license license:expat))))
23504
23505 (define-public emacs-peep-dired
23506 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
23507 (version "0")
23508 (revision "1"))
23509 (package
23510 (name "emacs-peep-dired")
23511 (version (git-version version revision commit))
23512 (source
23513 (origin
23514 (method git-fetch)
23515 (uri (git-reference
23516 (url "https://github.com/asok/peep-dired")
23517 (commit commit)))
23518 (file-name (git-file-name name version))
23519 (sha256
23520 (base32
23521 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
23522 (build-system emacs-build-system)
23523 (home-page "https://github.com/asok/peep-dired")
23524 (synopsis "Preview files in another window")
23525 (description "This package provides a minor mode that allows files to be
23526 previewed by scrolling up and down within a @code{dired} buffer.")
23527 (license license:gpl3+))))
23528
23529 (define-public emacs-counsel-etags
23530 (package
23531 (name "emacs-counsel-etags")
23532 (version "1.9.16")
23533 (source
23534 (origin
23535 (method git-fetch)
23536 (uri (git-reference
23537 (url "https://github.com/redguardtoo/counsel-etags")
23538 (commit version)))
23539 (file-name (git-file-name name version))
23540 (sha256
23541 (base32 "01si554r0s6m7ypx1m2n0z6j6q6yihifz76dha6q6v56ixdlv626"))))
23542 (build-system emacs-build-system)
23543 (propagated-inputs
23544 `(("emacs-counsel" ,emacs-counsel)))
23545 (arguments
23546 `(#:tests? #t
23547 #:test-command '("make" "test")))
23548 (home-page "https://github.com/redguardtoo/counsel-etags")
23549 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
23550 (description "This package uses @code{ivy-mode} to facilitate navigating
23551 and searching through @code{Ctags} files.")
23552 (license license:gpl3+)))
23553
23554 (define-public emacs-ivy-clipmenu
23555 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
23556 (package
23557 (name "emacs-ivy-clipmenu")
23558 (version (git-version "0.0.1" "1" commit))
23559 (source (origin
23560 (method git-fetch)
23561 (uri (git-reference
23562 (url "https://github.com/wpcarro/ivy-clipmenu.el")
23563 (commit commit)))
23564 (file-name (git-file-name name version))
23565 (sha256
23566 (base32
23567 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
23568 (propagated-inputs
23569 `(("emacs-f" ,emacs-f)
23570 ("emacs-ivy" ,emacs-ivy)))
23571 (build-system emacs-build-system)
23572 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
23573 (synopsis "Ivy integration with clipmenu")
23574 (description "Ivy integration with the clipboard manager, clipmenu.")
23575 (license license:expat))))
23576
23577 (define-public emacs-org-download
23578 (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4")
23579 (revision "3"))
23580 (package
23581 (name "emacs-org-download")
23582 (version (git-version "0.1.0" revision commit))
23583 (source (origin
23584 (method git-fetch)
23585 (uri (git-reference
23586 (url "https://github.com/abo-abo/org-download")
23587 (commit commit)))
23588 (file-name (git-file-name name version))
23589 (sha256
23590 (base32 "0cg4y7hy7xbq4vrbdicfzgvyaf3cjbx2zkqd4yl0y2garz71j99l"))))
23591 (build-system emacs-build-system)
23592 (propagated-inputs
23593 `(("emacs-org" ,emacs-org)
23594 ("emacs-async" ,emacs-async)))
23595 (home-page "https://github.com/abo-abo/org-download")
23596 (synopsis "Facilitate moving images")
23597 (description "This package provides utilities for managing image files
23598 copied into @code{org-mode} buffers.")
23599 (license license:gpl3+))))
23600
23601 (define-public emacs-org-drill-table
23602 ;; No releases or tags.
23603 (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759")
23604 (revision "0"))
23605 (package
23606 (name "emacs-org-drill-table")
23607 (version (git-version "0.1" revision commit))
23608 (source
23609 (origin
23610 (method git-fetch)
23611 (uri (git-reference
23612 (url "https://github.com/chrisbarrett/org-drill-table.git")
23613 (commit commit)))
23614 (file-name (git-file-name name version))
23615 (sha256
23616 (base32 "1a8ygrcag8i9hdpy2vsn0sh8lwhl9b56rv91j3rddy1jv5qx1ipb"))))
23617 (build-system emacs-build-system)
23618 (propagated-inputs
23619 `(("emacs-dash" ,emacs-dash)
23620 ("emacs-org" ,emacs-org)
23621 ("emacs-s" ,emacs-s)))
23622 (home-page "https://github.com/chrisbarrett/org-drill-table")
23623 (synopsis "Generate Org drill cards using Org mode tables")
23624 (description
23625 "This package generates drill cards based on an Org mode table in the
23626 current subtree. The cards are inserted under a new ``Cards'' heading in the
23627 current tree.")
23628 (license license:gpl3+))))
23629
23630 (define-public emacs-dash-docs
23631 (let ((commit "dafc8fc9f1ddb2e4e39e0b8d066c42d5d7ce8d06")
23632 (revision "2"))
23633 (package
23634 (name "emacs-dash-docs")
23635 (version (git-version "1.4.0" revision commit))
23636 (source
23637 (origin
23638 (method git-fetch)
23639 (uri (git-reference
23640 (url "https://github.com/dash-docs-el/dash-docs")
23641 (commit commit)))
23642 (file-name (git-file-name name version))
23643 (sha256
23644 (base32
23645 "0n6d3mm43gj16v8kjjradcfik93wb89dsqnfcbskb28bvcamafid"))))
23646 (build-system emacs-build-system)
23647 (propagated-inputs
23648 `(("emacs-async" ,emacs-async)))
23649 (native-inputs
23650 `(("emacs-undercover" ,emacs-undercover)
23651 ("emacs-ert-runner" ,emacs-ert-runner)))
23652 (arguments
23653 `(#:tests? #t
23654 #:test-command '("ert-runner")
23655 #:phases
23656 ;; this test requires network access, so remove it
23657 (modify-phases %standard-phases
23658 (add-before 'check 'make-tests-writable
23659 (lambda _
23660 (make-file-writable "test/dash-docs-test.el")
23661 #t))
23662 (add-before 'check 'delete-test
23663 (lambda _
23664 (emacs-batch-edit-file "test/dash-docs-test.el"
23665 `(progn (progn
23666 (goto-char (point-min))
23667 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
23668 (beginning-of-line)
23669 (kill-sexp))
23670 (basic-save-buffer)))
23671 #t)))))
23672 (home-page "https://github.com/dash-docs-el/dash-docs")
23673 (synopsis "Offline documentation browser for APIs using Dash docsets")
23674 (description "This package exposes functionality to work with Dash docsets.")
23675 (license license:gpl3+))))
23676
23677 (define-public emacs-helm-dash
23678 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
23679 (revision "2"))
23680 (package
23681 (name "emacs-helm-dash")
23682 (version (git-version "1.3.0" revision commit))
23683 (source
23684 (origin
23685 (method git-fetch)
23686 (uri (git-reference
23687 (url "https://github.com/areina/helm-dash")
23688 (commit commit)))
23689 (file-name (git-file-name name version))
23690 (sha256
23691 (base32
23692 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
23693 (build-system emacs-build-system)
23694 (propagated-inputs
23695 `(("emacs-helm" ,emacs-helm)
23696 ("emacs-dash-docs" ,emacs-dash-docs)))
23697 (home-page "https://github.com/areina/helm-dash")
23698 (synopsis "Offline documentation browser for APIs using Dash docsets")
23699 (description "This package uses Helm to install and navigate through
23700 Dash docsets.")
23701 (license license:gpl3+))))
23702
23703 (define-public emacs-counsel-dash
23704 (let ((commit "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24")
23705 (revision "4"))
23706 (package
23707 (name "emacs-counsel-dash")
23708 (version (git-version "0.1.3" revision commit))
23709 (source
23710 (origin
23711 (method git-fetch)
23712 (uri (git-reference
23713 (url "https://github.com/dash-docs-el/counsel-dash")
23714 (commit commit)))
23715 (file-name (git-file-name name version))
23716 (sha256
23717 (base32 "1fn38vbz46ijarjvhgw7iy7dj9s2a2miy95fyy9f8b5sj8nrdfvz"))))
23718 (build-system emacs-build-system)
23719 (propagated-inputs
23720 `(("emacs-counsel" ,emacs-counsel)
23721 ("emacs-dash-docs" ,emacs-dash-docs)))
23722 (home-page "https://github.com/dash-docs-el/counsel-dash")
23723 (synopsis "Offline documentation browser for APIs using Dash docsets")
23724 (description "This package uses @code{ivy-mode} to install and navigate
23725 through Dash docsets.")
23726 (license license:expat))))
23727
23728 (define-public emacs-cascading-dir-locals
23729 (let ((release "0.1")
23730 (revision "0")
23731 (commit "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0"))
23732 (package
23733 (name "emacs-cascading-dir-locals")
23734 (version (git-version release revision commit))
23735 (home-page "https://github.com/fritzgrabo/cascading-dir-locals")
23736 (source
23737 (origin
23738 (method git-fetch)
23739 (uri (git-reference
23740 (url home-page)
23741 (commit commit)))
23742 (file-name (git-file-name name version))
23743 (sha256
23744 (base32 "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8"))))
23745 (build-system emacs-build-system)
23746 (synopsis "Apply all @file{.dir-locals.el} from root to current directory")
23747 (description
23748 "This package provides a global minor mode that changes how Emacs
23749 handles the lookup of applicable dir-locals files (@file{.dir-locals.el}):
23750 instead of starting at the directory of the visited file and moving up the
23751 directory tree only until a first dir-locals file is found, collect and apply
23752 all (!) dir-locals files found from the current directory up to the root one.
23753
23754 Values specified in files nearer to the current directory take precedence over
23755 values in files farther away from it.
23756
23757 You might want to use this to globally set dir-local variables that apply to
23758 all of your projects, then override or add variables on a per-project basis.")
23759 (license license:gpl3+))))
23760
23761 (define-public emacs-calibredb
23762 (package
23763 (name "emacs-calibredb")
23764 (version "2.8.0")
23765 (source
23766 (origin
23767 (method git-fetch)
23768 (uri (git-reference
23769 (url "https://github.com/chenyanming/calibredb.el")
23770 (commit version)))
23771 (file-name (git-file-name name version))
23772 (sha256
23773 (base32 "19gc05k2p1l8wlkrqij9cw6d61hzknd6a9n64kzlpi87cpbav3lv"))))
23774 (build-system emacs-build-system)
23775 (arguments
23776 '(#:phases
23777 (modify-phases %standard-phases
23778 (add-after 'unpack 'patch-paths
23779 (lambda* (#:key inputs #:allow-other-keys)
23780 (let ((calibre (assoc-ref inputs "calibre")))
23781 (make-file-writable "calibredb-core.el")
23782 (emacs-substitute-variables "calibredb-core.el"
23783 ("calibredb-program"
23784 (string-append calibre "/bin/calibredb"))
23785 ("calibredb-fetch-metadata-program"
23786 (string-append calibre "/bin/fetch-ebook-metadata"))))
23787 #t)))))
23788 (inputs
23789 `(("calibre" ,calibre)))
23790 (propagated-inputs
23791 `(("emacs-dash" ,emacs-dash)
23792 ("emacs-s" ,emacs-s)
23793 ("emacs-transient" ,emacs-transient)))
23794 (home-page "https://github.com/chenyanming/calibredb.el")
23795 (synopsis "Yet another calibre client for Emacs")
23796 (description "This package integrates calibre into Emacs.
23797 @enumerate
23798 @item Powerful ebook dashboard.
23799 @item Manage ebooks, actually not only ebooks!
23800 @item Manage Ebook libraries.
23801 @item Another bookmarks solution, by setting the tags and comments.
23802 @item Quick search, filter, make actions on items with ivy and helm.
23803 @item Org-ref support.
23804 @end enumerate")
23805 (license license:gpl3)))
23806
23807 (define-public emacs-el-patch
23808 (package
23809 (name "emacs-el-patch")
23810 (version "2.2.3")
23811 (source
23812 (origin
23813 (method git-fetch)
23814 (uri (git-reference
23815 (url "https://github.com/raxod502/el-patch")
23816 (commit version)))
23817 (file-name (git-file-name name version))
23818 (sha256
23819 (base32
23820 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
23821 (build-system emacs-build-system)
23822 (home-page "https://github.com/raxod502/el-patch")
23823 (synopsis "Future-proof your Emacs customizations")
23824 (description "This package allows for an alternate definition of an Elisp
23825 function to be specified and for any differences from the original definition
23826 to be examined using Ediff.")
23827 (license license:expat)))
23828
23829 (define-public emacs-info-plus
23830 (let ((commit "29811edf7a71764ac343631facc00268d9483146")
23831 (revision "3"))
23832 (package
23833 (name "emacs-info-plus")
23834 (version (git-version "0" revision commit))
23835 (source
23836 (origin
23837 (method git-fetch)
23838 (uri (git-reference
23839 (url "https://github.com/emacsmirror/info-plus")
23840 (commit commit)))
23841 (file-name (git-file-name name version))
23842 (sha256
23843 (base32
23844 "0ayq7z6dbf43vczbkjm1l976hxcfrmw45nfywbf1kjpzl3viy4gy"))))
23845 (build-system emacs-build-system)
23846 (home-page "https://github.com/emacsmirror/info-plus")
23847 (synopsis "Extensions to @file{info.el}")
23848 (description "This package extends Emacs' @file{info.el} by allowing
23849 outline-enabled table of contents, additional metadata association for Info
23850 nodes, and more.")
23851 (license license:gpl2+))))
23852
23853 (define-public emacs-eval-sexp-fu-el
23854 (package
23855 (name "emacs-eval-sexp-fu-el")
23856 (version "0.6.0")
23857 (source
23858 (origin
23859 (method git-fetch)
23860 (uri (git-reference
23861 (url "https://github.com/hchbaw/eval-sexp-fu.el")
23862 (commit (string-append "v" version))))
23863 (file-name (git-file-name name version))
23864 (sha256
23865 (base32
23866 "19rv0kwajq0j8inglp84sml23ci74wdcvp5bl6zxbw5skqpf6phr"))))
23867 (build-system emacs-build-system)
23868 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
23869 (synopsis "Enhancements for evaluating s-expressions")
23870 (description "This package provides provides variants of
23871 @code{eval-last-sexp} that work on the containing list or s-expression, as
23872 well as an option for visually flashing evaluated s-expressions.")
23873 (license license:gpl3+)))
23874
23875 (define-public emacs-counsel-tramp
23876 (package
23877 (name "emacs-counsel-tramp")
23878 (version "0.7.5")
23879 (source
23880 (origin
23881 (method git-fetch)
23882 (uri (git-reference
23883 (url "https://github.com/masasam/emacs-counsel-tramp")
23884 (commit version)))
23885 (file-name (git-file-name name version))
23886 (sha256
23887 (base32 "18qlwyjqxap2qfbz14ma6yqp4p3v4q2y8idc355s4szjdd2as2lr"))))
23888 (build-system emacs-build-system)
23889 (propagated-inputs
23890 `(("emacs-counsel" ,emacs-counsel)))
23891 (home-page "https://github.com/masasam/emacs-counsel-tramp")
23892 (synopsis "Ivy interface for TRAMP")
23893 (description
23894 "This package allows @code{ivy-mode} to display and filter SSH servers.")
23895 (license license:gpl3+)))
23896
23897 (define-public emacs-tramp
23898 (package
23899 (name "emacs-tramp")
23900 (version "2.5.0.4")
23901 (source
23902 (origin
23903 (method url-fetch)
23904 (uri (string-append "https://elpa.gnu.org/packages/"
23905 "tramp-" version ".tar"))
23906 (sha256
23907 (base32 "0yk4ckk45gkjp24nfywz49j8pazq33m6pga3lirb5h6zc8an5z24"))))
23908 (build-system emacs-build-system)
23909 (arguments
23910 `(#:emacs ,emacs ;need D-Bus
23911 #:phases
23912 (modify-phases %standard-phases
23913 ;; All but one "/bin/" directory refer to remote
23914 ;; environments, which may not be Guix. Do not patch them
23915 ;; blindly. However, local encoding shell has to be patched.
23916 (replace 'patch-el-files
23917 (lambda* (#:key inputs #:allow-other-keys)
23918 (let ((sh (assoc-ref inputs "bash"))
23919 (file "tramp.el"))
23920 (emacs-substitute-variables file
23921 ("tramp-encoding-shell" (string-append sh "/bin/sh"))))
23922 #t)))))
23923 (inputs
23924 `(("bash" ,bash)))
23925 (home-page "https://savannah.gnu.org/projects/tramp")
23926 (synopsis "Remote file editing package for Emacs")
23927 (description
23928 "Tramp stands for ``Transparent Remote (file) Access, Multiple
23929 Protocol''. This package provides remote file editing, using
23930 a combination of @command{rsh} and @command{rcp} or other work-alike
23931 programs, such as @command{ssh} and @command{scp}.")
23932 (license license:gpl3+)))
23933
23934 (define-public emacs-tramp-auto-auth
23935 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
23936 (package
23937 (name "emacs-tramp-auto-auth")
23938 (version (git-version "20191027" "1" commit))
23939 (source
23940 (origin
23941 (method git-fetch)
23942 (uri (git-reference
23943 (url "https://github.com/oitofelix/tramp-auto-auth")
23944 (commit commit)))
23945 (file-name (git-file-name name version))
23946 (sha256
23947 (base32
23948 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
23949 (build-system emacs-build-system)
23950 (home-page "https://github.com/oitofelix/tramp-auto-auth")
23951 (synopsis "TRAMP automatic authentication library")
23952 (description "This package provides @code{tramp-auto-auth-mode} Emacs
23953 global minor mode whose purpose is to automatically feed TRAMP sub-processes
23954 with passwords for paths matching regexps.")
23955 (license license:gpl3+))))
23956
23957 (define-public emacs-eacl
23958 (package
23959 (name "emacs-eacl")
23960 (version "2.0.4")
23961 (source
23962 (origin
23963 (method git-fetch)
23964 (uri (git-reference
23965 (url "https://github.com/redguardtoo/eacl")
23966 (commit version)))
23967 (file-name (git-file-name name version))
23968 (sha256
23969 (base32
23970 "0fxb2lv4cqdjxarqhzjgfc43sncc1c6m96n0aflm8l4gdmm090kq"))))
23971 (build-system emacs-build-system)
23972 (propagated-inputs
23973 `(("emacs-ivy" ,emacs-ivy)))
23974 (home-page "https://github.com/redguardtoo/eacl")
23975 (synopsis "Auto-complete lines by using @code{grep} on a project")
23976 (description "This package provides auto-completion commands for single
23977 and multiple lines of code in a project.")
23978 (license license:gpl3+)))
23979
23980 (define-public emacs-semantic-refactor
23981 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
23982 ;; commits since then.
23983 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
23984 (package
23985 (name "emacs-semantic-refactor")
23986 (version (git-version "0.5" "1" commit))
23987 (source
23988 (origin
23989 (method git-fetch)
23990 (uri (git-reference
23991 (url "https://github.com/tuhdo/semantic-refactor")
23992 (commit commit)))
23993 (file-name (git-file-name name version))
23994 (sha256
23995 (base32
23996 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
23997 (build-system emacs-build-system)
23998 (home-page "https://github.com/tuhdo/semantic-refactor")
23999 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
24000 (description "This package provides a refactoring tool based on the
24001 Emacs Semantic parser framework. For C and C++ it supports operations such as:
24002
24003 @enumerate
24004 @item Generating class implementations
24005 @item Generating function prototypes
24006 @item Converting functions to function pointers
24007 @item Moving semantic units
24008 @item etc...
24009 @end enumerate
24010
24011 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
24012 as:
24013
24014 @enumerate
24015 @item Formatting the whole buffer
24016 @item Converting sexpressions to one or multiple lines
24017 @item etc...
24018 @end enumerate\n")
24019 (license license:gpl3+))))
24020
24021 (define-public emacs-nhexl-mode
24022 (package
24023 (name "emacs-nhexl-mode")
24024 (version "1.5")
24025 (source
24026 (origin
24027 (method url-fetch)
24028 (uri (string-append "https://elpa.gnu.org/packages/"
24029 "nhexl-mode-" version ".el"))
24030 (sha256
24031 (base32 "0qvxfg7sv4iqyjxzaim6b4v9k5hav36qd4vkf9jwzw6p5fri8w8d"))))
24032 (build-system emacs-build-system)
24033 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
24034 (synopsis "Minor mode to edit files via hex-dump format")
24035 (description
24036 "This package implements NHexl mode, a minor mode for editing files
24037 in hex dump format. The mode command is called @command{nhexl-mode}.
24038
24039 This minor mode implements similar functionality to @command{hexl-mode},
24040 but using a different implementation technique, which makes it
24041 usable as a \"plain\" minor mode. It works on any buffer, and does
24042 not mess with the undo log or with the major mode.
24043
24044 It also comes with:
24045
24046 @itemize
24047 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
24048 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
24049 (which only work for hex-digits) will only modify the nibble under point.
24050 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
24051 moving text. In this minor mode, not only self-inserting keys overwrite
24052 existing text, but commands like `yank' and @command{kill-region} as well.
24053 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
24054 C-f} to advance by #xa4 characters.
24055 @end itemize")
24056 (license license:gpl3+)))
24057
24058 (define-public emacs-helm-wikipedia
24059 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
24060 (package
24061 (name "emacs-helm-wikipedia")
24062 (version (git-version "0.0.0" "1" commit))
24063 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
24064 (source
24065 (origin
24066 (method git-fetch)
24067 (uri (git-reference
24068 (url home-page)
24069 (commit commit)))
24070 (file-name (git-file-name name version))
24071 (sha256
24072 (base32
24073 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
24074 (build-system emacs-build-system)
24075 (inputs
24076 `(("helm" ,emacs-helm)))
24077 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
24078 (description
24079 "This package provides an Emacs Helm interface for search suggestions
24080 and article extracts for Wikipedia.")
24081 (license license:gpl3+))))
24082
24083 (define-public emacs-webfeeder
24084 (package
24085 (name "emacs-webfeeder")
24086 (version "1.1.1")
24087 (source
24088 (origin
24089 (method url-fetch)
24090 (uri (string-append
24091 "https://elpa.gnu.org/packages/webfeeder-"
24092 version
24093 ".tar"))
24094 (sha256
24095 (base32
24096 "09caj12hfdfhlbcsmjyhw728w1f7yq13hdslh793yvfqv83ipvc4"))))
24097 (build-system emacs-build-system)
24098 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
24099 (synopsis "Build RSS and Atom webfeeds from HTML files")
24100 (description
24101 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
24102 files. The various elements of the HTML input are parsed with customizable
24103 functions (e.g. @code{webfeeder-title-function}).")
24104 (license license:gpl3+)))
24105
24106 (define-public emacs-evil-numbers
24107 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
24108 (package
24109 (name "emacs-evil-numbers")
24110 (version (git-version "0.4" "1" commit))
24111 (source (origin
24112 (method git-fetch)
24113 (uri (git-reference
24114 (url "https://github.com/dieggsy/evil-numbers")
24115 (commit commit)))
24116 (file-name (git-file-name name version))
24117 (sha256
24118 (base32
24119 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
24120 (build-system emacs-build-system)
24121 (home-page "https://github.com/dieggsy/evil-numbers")
24122 (synopsis "Increment and decrement numbers in Emacs")
24123 (description "This package increments and decrements binary, octal,
24124 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
24125 number up to EOL and then increments or decrements and keeps zero padding up
24126 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
24127 numbers within that region will be incremented/decremented (unlike in Vim).
24128
24129 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
24130 (license license:gpl3+))))
24131
24132 (define-public emacs-rotate-text
24133 (package
24134 (name "emacs-rotate-text")
24135 (version "0.1")
24136 (source (origin
24137 (method git-fetch)
24138 (uri (git-reference
24139 (url "https://github.com/nschum/rotate-text.el")
24140 (commit version)))
24141 (file-name (git-file-name name version))
24142 (sha256
24143 (base32
24144 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
24145 (build-system emacs-build-system)
24146 (home-page "https://nschum.de/src/emacs/rotate-text/")
24147 (synopsis "Cycle through words, symbols and patterns in Emacs")
24148 (description "@code{rotate-text} allows you rotate to commonly
24149 interchanged text with a single keystroke. For example, you can toggle
24150 between \"frame-width\" and \"frame-height\", between \"public\",
24151 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
24152 \"variableN\".")
24153 (license license:gpl2+)))
24154
24155 (define-public emacs-ediprolog
24156 (package
24157 (name "emacs-ediprolog")
24158 (version "2.1")
24159 (source
24160 (origin
24161 (method url-fetch)
24162 (uri (string-append
24163 "https://elpa.gnu.org/packages/ediprolog-"
24164 version
24165 ".el"))
24166 (sha256
24167 (base32 "1piimsmzpirw8plrpy79xbpnvynzzhcxi31g6lg6is8gridiv3md"))))
24168 (build-system emacs-build-system)
24169 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
24170 (synopsis "Emacs Does Interactive Prolog")
24171 (description "This package provides a major mode that let the user
24172 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
24173 programs and evaluate embedded queries. This mode is focused on the command
24174 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
24175 context, carry out the appropriate action.")
24176 (license license:gpl3+)))
24177
24178 (define-public emacs-evil-cleverparens
24179 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
24180 (revision "1"))
24181 (package
24182 (name "emacs-evil-cleverparens")
24183 (version (git-version "2017-07-17" revision commit))
24184 (source (origin
24185 (method git-fetch)
24186 (uri (git-reference
24187 (url "https://github.com/luxbock/evil-cleverparens")
24188 (commit commit)))
24189 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
24190 (file-name (git-file-name name version))))
24191 (build-system emacs-build-system)
24192 (propagated-inputs
24193 `(("emacs-evil" ,emacs-evil)
24194 ("emacs-paredit" ,emacs-paredit)
24195 ("emacs-smartparens" ,emacs-smartparens)))
24196 (home-page "https://github.com/luxbock/evil-cleverparens")
24197 (synopsis "Emacs modal editing optimized for editing Lisp")
24198 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
24199 modal editing with screwing up the structure of Lisp code. Alternatives for
24200 verb commands which would are normally destructive (such as deletion) are
24201 provided. Those alternative commands are and bound by default to their
24202 corresponding Evil keys.")
24203 (license license:expat))))
24204
24205 (define-public emacs-evil-traces
24206 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
24207 (revision "2"))
24208 (package
24209 (name "emacs-evil-traces")
24210 (version (git-version "0.0.1" revision commit))
24211 (source (origin
24212 (method git-fetch)
24213 (uri (git-reference
24214 (url "https://github.com/mamapanda/evil-traces")
24215 (commit commit)))
24216 (file-name (git-file-name name version))
24217 (sha256
24218 (base32
24219 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
24220 (build-system emacs-build-system)
24221 (propagated-inputs
24222 `(("emacs-evil" ,emacs-evil)))
24223 (arguments
24224 `(#:phases
24225 (modify-phases %standard-phases
24226 (add-after 'unpack 'set-shell
24227 ;; Setting the SHELL environment variable is required for the tests
24228 ;; to find sh.
24229 (lambda _
24230 (setenv "SHELL" (which "sh"))
24231 #t)))
24232 #:tests? #t
24233 #:test-command '("make" "test")))
24234 (home-page "https://github.com/mamapanda/evil-traces")
24235 (synopsis "Visual hints for @code{evil-ex}")
24236 (description "This package adds visual hints to certain @code{ex}
24237 commands in @code{evil-mode}.")
24238 (license license:gpl3+))))
24239
24240 (define-public emacs-evil-tmux-navigator
24241 (package
24242 (name "emacs-evil-tmux-navigator")
24243 (version "0.1.5")
24244 (source
24245 (origin
24246 (method git-fetch)
24247 (uri
24248 (git-reference
24249 (url "https://github.com/keith/evil-tmux-navigator")
24250 (commit version)))
24251 (file-name (git-file-name name version))
24252 (sha256
24253 (base32
24254 "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx"))))
24255 (propagated-inputs
24256 `(("emacs-evil" ,emacs-evil)))
24257 (build-system emacs-build-system)
24258 (home-page "https://github.com/keith/evil-tmux-navigator")
24259 (synopsis
24260 "Navigate seamlessly between emacs windows and tmux panes")
24261 (description
24262 "This package lets you use C-h, C-j, C-k and C-l to navigate between
24263 Emacs windows and tmux panes.")
24264 (license license:expat)))
24265
24266 (define-public emacs-xclip
24267 (package
24268 (name "emacs-xclip")
24269 (version "1.10")
24270 (source
24271 (origin
24272 (method url-fetch)
24273 (uri (string-append "https://elpa.gnu.org/packages/"
24274 "xclip-" version ".el"))
24275 (sha256
24276 (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i"))))
24277 (build-system emacs-build-system)
24278 (home-page "http://elpa.gnu.org/packages/xclip.html")
24279 (synopsis "Copy and paste GUI clipboard from Emacs in text terminal")
24280 (description
24281 "This package allows Emacs to copy to and paste from the GUI clipboard
24282 when running in text terminal.
24283
24284 It can use external command-line tools for that, e.g., @command{xclip} or
24285 @command{xsel}, which you may need to install in order for the package to
24286 work.")
24287 (license license:gpl3+)))
24288
24289 (define-public emacs-xterm-color
24290 (package
24291 (name "emacs-xterm-color")
24292 (version "2.0")
24293 (source
24294 (origin
24295 (method git-fetch)
24296 (uri (git-reference
24297 (url "https://github.com/atomontage/xterm-color")
24298 (commit version)))
24299 (file-name (git-file-name name version))
24300 (sha256
24301 (base32 "127lq50q62x06kd1xrf8lyc4rkqbfhfy86gsx1x4x169am2xk397"))))
24302 (build-system emacs-build-system)
24303 (home-page "https://github.com/atomontage/xterm-color")
24304 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
24305 (description "@code{xterm-color.el} is an ANSI control sequence to
24306 text-property translator.")
24307 (license license:bsd-2)))
24308
24309 (define-public emacs-org-noter
24310 (package
24311 (name "emacs-org-noter")
24312 (version "1.4.1")
24313 (source
24314 (origin
24315 (method git-fetch)
24316 (uri (git-reference
24317 (url "https://github.com/weirdNox/org-noter")
24318 (commit version)))
24319 (file-name (git-file-name name version))
24320 (sha256
24321 (base32
24322 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
24323 (build-system emacs-build-system)
24324 (propagated-inputs `(("emacs-org" ,emacs-org)))
24325 (home-page "https://github.com/weirdNox/org-noter")
24326 (synopsis "Synchronized, Org-mode, document annotator")
24327 (description
24328 "This package lets you create notes that are kept in sync when you
24329 scroll through the document, but that are external to it---the notes
24330 themselves live in an Org-mode file. As such, this leverages the power of
24331 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
24332 acting like notes that are made @emph{in} the document.")
24333 (license license:gpl3+)))
24334
24335 (define-public emacs-org-redmine
24336 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
24337 (package
24338 (name "emacs-org-redmine")
24339 (version (git-version "0.1" "1" commit))
24340 (source (origin
24341 (method git-fetch)
24342 (uri (git-reference
24343 (url "https://github.com/gongo/org-redmine")
24344 (commit commit)))
24345 (file-name (git-file-name name version))
24346 (sha256
24347 (base32
24348 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
24349 (build-system emacs-build-system)
24350 (home-page "https://github.com/gongo/org-redmine/")
24351 (synopsis "Redmine tools using Emacs")
24352 (description "This program provides an Emacs client for Redmine.")
24353 (license license:gpl3+))))
24354
24355 (define-public emacs-multi-term
24356 ;; No upstream release. Extract version from main file.
24357 (let ((commit "017c77c550115936860e2ea71b88e585371475d5")
24358 (revision "0"))
24359 (package
24360 (name "emacs-multi-term")
24361 (version (git-version "1.5" revision commit))
24362 (source
24363 (origin
24364 (method git-fetch)
24365 (uri (git-reference
24366 (url "https://github.com/manateelazycat/multi-term")
24367 (commit commit)))
24368 (file-name (git-file-name name version))
24369 (sha256
24370 (base32 "043dqd8i8h6hbcg11rzprxin2yq5lb902zlrb7mxah44vyp8wrdi"))))
24371 (build-system emacs-build-system)
24372 (inputs
24373 `(("zsh" ,zsh)))
24374 (home-page "https://github.com/manateelazycat/multi-term")
24375 (synopsis "Manage multiple terminal buffers in Emacs")
24376 (description
24377 "This package enhances @code{term.el} with the following features:
24378
24379 @enumerate
24380 @item Functions to switch between multiple terminal buffers
24381 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
24382 the underlying terminal
24383 @item Kills the unused buffer left after exiting the terminal
24384 @item Kills the running sub-processes along with the terminal when killing the
24385 it forcibly
24386 @item Dedicated window for debugging program.
24387 @end enumerate")
24388 (license license:gpl3+))))
24389
24390 (define-public emacs-elpher
24391 (package
24392 (name "emacs-elpher")
24393 (version "2.10.2")
24394 (source
24395 (origin
24396 (method git-fetch)
24397 (uri (git-reference
24398 (url "git://thelambdalab.xyz/elpher.git")
24399 (commit (string-append "v" version))))
24400 (file-name (git-file-name name version))
24401 (sha256
24402 (base32 "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd"))))
24403 (build-system emacs-build-system)
24404 (native-inputs
24405 `(("texinfo" ,texinfo)))
24406 (arguments
24407 `(#:phases
24408 (modify-phases %standard-phases
24409 (add-before 'install 'build-doc
24410 (lambda _
24411 (invoke "makeinfo" "elpher.texi"))))))
24412 (home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
24413 (synopsis "Gopher and gemini client for Emacs")
24414 (description "Elpher is a full-featured gopher and gemini client for
24415 Emacs. Its features include intuitive keyboard and mouse-driven browsing,
24416 out-of-the-box compatibility with evil-mode, clickable links in plain text,
24417 caching of visited sites, pleasant and configurable visualization of Gopher
24418 directories, direct visualisation of image files, jumping directly to links by
24419 name (with autocompletion), a simple bookmark management system and
24420 connections using TLS encryption.")
24421 (license license:gpl3+)))
24422
24423 (define-public emacs-zerodark-theme
24424 (package
24425 (name "emacs-zerodark-theme")
24426 (version "4.7")
24427 (source
24428 (origin
24429 (method git-fetch)
24430 (uri (git-reference
24431 (url "https://github.com/NicolasPetton/zerodark-theme")
24432 (commit version)))
24433 (file-name (git-file-name name version))
24434 (sha256
24435 (base32
24436 "1r5s4mvwlxsb9ylr6dkfxpm1l0pbqkmn5gwjdcfk762cnxlam8cm"))))
24437 (build-system emacs-build-system)
24438 (propagated-inputs
24439 `(("emacs-flycheck" ,emacs-flycheck)
24440 ("emacs-all-the-icons" ,emacs-all-the-icons)))
24441 (home-page
24442 "https://gitlab.petton.fr/nico/zerodark-theme")
24443 (synopsis
24444 "Dark, medium contrast theme for Emacs")
24445 (description
24446 "Zerodark is a dark theme inspired from One Dark and Niflheim.
24447 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
24448 (license license:gpl3+)))
24449
24450 (define-public emacs-gnus-alias
24451 (package
24452 (name "emacs-gnus-alias")
24453 (version "20150316")
24454 (source (origin
24455 (method git-fetch)
24456 (uri (git-reference
24457 (url "https://github.com/hexmode/gnus-alias")
24458 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
24459 (file-name (git-file-name name version))
24460 (sha256
24461 (base32
24462 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
24463 (build-system emacs-build-system)
24464 (home-page "https://melpa.org/#/gnus-alias")
24465 (synopsis "Alternative to @code{gnus-posting-styles}")
24466 (description "This Emacs add-on provides a simple mechanism to switch
24467 Identities when using a @code{message-mode} or a @code{message-mode} derived
24468 mode. Identities can include @code{From} and @code{Organisation} headers,
24469 extra headers, body and signature. Other features include:
24470
24471 @itemize
24472 @item Switch Identities in a message buffer.
24473 @item Access original message to help determine Identity of the followup/reply
24474 message.
24475 @item Act on a forwarded message as if it were a message being replied to.
24476 @item Start a new message with a given Identity pre-selected.
24477 @end itemize")
24478 (license license:gpl2+)))
24479
24480 (define-public emacs-ox-epub
24481 (package
24482 (name "emacs-ox-epub")
24483 (version "0.3")
24484 (source (origin
24485 (method git-fetch)
24486 (uri (git-reference
24487 (url "https://github.com/ofosos/ox-epub")
24488 (commit (string-append "v" version))))
24489 (file-name (git-file-name name version))
24490 (sha256
24491 (base32
24492 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
24493 (build-system emacs-build-system)
24494 (home-page "https://github.com/ofosos/ox-epub")
24495 (synopsis "Export org mode projects to EPUB")
24496 (description "@code{ox-epub} extends the (X)HTML exporter to generate
24497 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
24498 which should give broad compatibility. It should also be relatiely easy to
24499 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
24500 zip utility (default is @code{zip}).")
24501 (license license:gpl3+)))
24502
24503 (define-public emacs-ox-gemini
24504 ;; No releases yet
24505 (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0")
24506 (revision "0"))
24507 (package
24508 (name "emacs-ox-gemini")
24509 (version (git-version "0" revision commit))
24510 (source
24511 (origin
24512 (method git-fetch)
24513 (uri (git-reference
24514 (url "https://git.sr.ht/~abrahms/ox-gemini")
24515 (commit commit)))
24516 (file-name (git-file-name name version))
24517 (sha256
24518 (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29"))))
24519 (build-system emacs-build-system)
24520 (home-page "https://sr.ht/~abrahms/ox-gemini")
24521 (synopsis "Export Org files in Gemini format")
24522 (description
24523 "@code{ox-gemini} adds support for exporting Org files in Gemini
24524 format. Many things were taken from the ASCII exporter, from which
24525 @code{ox-gemini} derives.")
24526 (license license:gpl3+))))
24527
24528 (define-public emacs-ox-haunt
24529 (package
24530 (name "emacs-ox-haunt")
24531 (version "0.2")
24532 (source
24533 (origin
24534 (method git-fetch)
24535 (uri (git-reference
24536 (url "https://git.sr.ht/~jakob/ox-haunt")
24537 (commit (string-append "v" version))))
24538 (file-name (git-file-name name version))
24539 (sha256
24540 (base32 "1rs1n228c2fmpvirc57bqgf2616ijpphkgf4w9ln5j46snmkam25"))))
24541 (build-system emacs-build-system)
24542 (home-page "https://git.sr.ht/~jakob/ox-haunt")
24543 (synopsis "Export Org files to HTML appropriate for Haunt")
24544 (description
24545 "This library implements an HTML back-end for the Org generic exporter,
24546 producing output appropriate for Haunt's @code{html-reader}.")
24547 (license license:gpl3+)))
24548
24549 (define-public emacs-ox-hugo
24550 (package
24551 (name "emacs-ox-hugo")
24552 (version "0.8")
24553 (source
24554 (origin
24555 (method git-fetch)
24556 (uri (git-reference
24557 (url "https://github.com/kaushalmodi/ox-hugo")
24558 (commit (string-append "v" version))))
24559 (file-name (git-file-name name version))
24560 (sha256
24561 (base32
24562 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
24563 (build-system emacs-build-system)
24564 (home-page "https://ox-hugo.scripter.co")
24565 (synopsis "Hugo markdown back-end for Org export engine")
24566 (description
24567 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
24568 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
24569 format.")
24570 (license license:gpl3+)))
24571
24572 (define-public emacs-ox-pandoc
24573 (package
24574 (name "emacs-ox-pandoc")
24575 (version "20180510")
24576 (source (origin
24577 (method git-fetch)
24578 (uri (git-reference
24579 (url "https://github.com/kawabata/ox-pandoc")
24580 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
24581 (file-name (git-file-name name version))
24582 (sha256
24583 (base32
24584 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
24585 (build-system emacs-build-system)
24586 (inputs
24587 `(("pandoc" ,pandoc)))
24588 (propagated-inputs
24589 `(("emacs-dash" ,emacs-dash)
24590 ("emacs-ht" ,emacs-ht)))
24591 (home-page "https://github.com/kawabata/ox-pandoc")
24592 (synopsis "Org exporter for Pandoc")
24593 (description "@code{ox-pandoc} is an exporter for converting Org-mode
24594 files to numerous other formats via Pandoc.")
24595 (license license:gpl3+)))
24596
24597 (define-public emacs-wc-mode
24598 (package
24599 (name "emacs-wc-mode")
24600 (version "1.4")
24601 (source (origin
24602 (method git-fetch)
24603 (uri (git-reference
24604 (url "https://github.com/bnbeckwith/wc-mode")
24605 (commit (string-append "v" version))))
24606 (file-name (git-file-name name version))
24607 (sha256
24608 (base32
24609 "01icd63mb2hg1bgbmkq3jm8kc3ic8whfy2awcgx53zqkmyz87qxc"))))
24610 (build-system emacs-build-system)
24611 (home-page "https://github.com/bnbeckwith/wc-mode")
24612 (synopsis "Running word count with goals (minor mode)")
24613 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
24614 for Emacs buffers as well as a modeline addition with live word, line and
24615 character counts. Additionally, a user can set specific goals for adding or
24616 deleting words. These goals were partly inspired by 750words.com where the
24617 goal of the site is to encourage writing by setting a goal of 750 words at a
24618 time.")
24619 (license license:gpl3+)))
24620
24621 (define-public emacs-mastodon
24622 (package
24623 (name "emacs-mastodon")
24624 (version "0.9.0")
24625 (source (origin
24626 (method git-fetch)
24627 (uri (git-reference
24628 (url "https://github.com/jdenen/mastodon.el")
24629 (commit version)))
24630 (file-name (git-file-name name version))
24631 (sha256
24632 (base32
24633 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
24634 (build-system emacs-build-system)
24635 (arguments
24636 `(#:phases
24637 (modify-phases %standard-phases
24638 ;; Move the source files to the top level, which is included in
24639 ;; the EMACSLOADPATH.
24640 (add-after 'unpack 'move-source-files
24641 (lambda _
24642 (let ((el-files (find-files "./lisp" ".*\\.el$")))
24643 (for-each (lambda (f)
24644 (rename-file f (basename f)))
24645 el-files))
24646 #t)))))
24647 (home-page "https://github.com/jdenen/mastodon.el")
24648 (synopsis "Emacs client for Mastodon")
24649 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
24650 federated microblogging social network.")
24651 (license license:gpl3+)))
24652
24653 (define-public emacs-ebdb
24654 (package
24655 (name "emacs-ebdb")
24656 (version "0.6.22")
24657 (source
24658 (origin
24659 (method url-fetch)
24660 (uri (string-append "https://elpa.gnu.org/packages/"
24661 "ebdb-" version ".tar"))
24662 (sha256
24663 (base32 "0dljl21n6508c7ash7l6zgxhpn2wdfzga0va63d4k9nwnqmkvsgz"))))
24664 (build-system emacs-build-system)
24665 (home-page "https://github.com/girzel/ebdb")
24666 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
24667 (description
24668 "EBDB is a contact management/addressbook package for Emacs. It's
24669 a re-write of the Insidious Big Brother Database (BBDB) using Emacs
24670 Lisp's (relatively new) EIEIO object oriented libraries.")
24671 (license license:gpl3+)))
24672
24673 (define-public emacs-refactor
24674 (package
24675 (name "emacs-refactor")
24676 (version "0.4")
24677 (source (origin
24678 (method git-fetch)
24679 (uri (git-reference
24680 (url "https://github.com/Wilfred/emacs-refactor")
24681 (commit version)))
24682 (file-name (git-file-name name version))
24683 (sha256
24684 (base32
24685 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
24686 (build-system emacs-build-system)
24687 (propagated-inputs
24688 `(("emacs-dash" ,emacs-dash)
24689 ("emacs-s" ,emacs-s)
24690 ("emacs-popup" ,emacs-popup)
24691 ("emacs-list-utils" ,emacs-list-utils)
24692 ("emacs-iedit" ,emacs-iedit)))
24693 (home-page "https://github.com/Wilfred/emacs-refactor/")
24694 (synopsis "Language-specific refactoring in Emacs")
24695 (description "Emacs Refactor (EMR) is a framework for providing
24696 language-specific refactoring in Emacs. It includes refactoring commands for
24697 a variety of languages, including elisp itself.")
24698 (license license:gpl3+)))
24699
24700 (define-public emacs-flyspell-correct
24701 (package
24702 (name "emacs-flyspell-correct")
24703 (version "0.6.1")
24704 (source
24705 (origin
24706 (method git-fetch)
24707 (uri (git-reference
24708 (url "https://github.com/d12frosted/flyspell-correct")
24709 (commit (string-append "v" version))))
24710 (file-name (git-file-name name version))
24711 (sha256
24712 (base32 "1m5da6r82hk0c2x3lw03qnkk79sx67875afw0ybblj3cmfk6szd1"))))
24713 (build-system emacs-build-system)
24714 ;; XXX: emacs-avy-menu is not packaged, so we ignore the file below.
24715 (arguments
24716 `(#:exclude '("flyspell-correct-avy-menu\\.el")))
24717 (propagated-inputs
24718 `(("emacs-helm" ,emacs-helm)
24719 ("emacs-ivy" ,emacs-ivy)
24720 ("emacs-popup" ,emacs-popup)))
24721 (home-page "https://github.com/d12frosted/flyspell-correct")
24722 (synopsis "Correcting words with flyspell via custom interfaces")
24723 (description
24724 "This package provides functionality for correcting words via custom
24725 interfaces. Several interfaces are supported beside the classic Ido: Popup,
24726 Helm and Ivy.")
24727 (license license:gpl3+)))
24728
24729 (define-public emacs-org-emms
24730 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
24731 (revision "1"))
24732 (package
24733 (name "emacs-org-emms")
24734 (version
24735 (git-version "0.1" revision commit))
24736 (source
24737 (origin
24738 (method git-fetch)
24739 (uri (git-reference
24740 (url "https://gitlab.com/jagrg/org-emms.git")
24741 (commit commit)))
24742 (file-name (git-file-name name commit))
24743 (sha256
24744 (base32
24745 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
24746 (build-system emacs-build-system)
24747 (propagated-inputs
24748 `(("emms" ,emacs-emms)
24749 ("emacs-org" ,emacs-org)))
24750 (home-page "https://gitlab.com/jagrg/org-emms")
24751 (synopsis "Play multimedia files from org-mode")
24752 (description
24753 "This package provides a new org link type for playing back multimedia
24754 files from org-mode using EMMS, The Emacs Multimedia System. If the link
24755 contains a track position, playback will start at the specified position.")
24756 (license license:gpl3+))))
24757
24758 (define-public emacs-org-jira
24759 (package
24760 (name "emacs-org-jira")
24761 (version "4.3.2")
24762 (source
24763 (origin
24764 (method git-fetch)
24765 (uri (git-reference
24766 (url "https://github.com/ahungry/org-jira")
24767 (commit version)))
24768 (file-name (git-file-name name version))
24769 (sha256
24770 (base32
24771 "1hsfkkm3ykdf7n8a6k0mpzilhjpy7vllwrl2s4rfb9mhnaq5yb8y"))))
24772 (build-system emacs-build-system)
24773 (propagated-inputs
24774 `(("emacs-request" ,emacs-request)
24775 ("emacs-s" ,emacs-s)
24776 ("emacs-dash" ,emacs-dash)
24777 ("emacs-org" ,emacs-org)))
24778 (home-page "https://github.com/ahungry/org-jira")
24779 (synopsis "Syncing between Jira and Org-mode")
24780 (description
24781 "This package provides an extension to org-mode for syncing issues with
24782 JIRA issue servers.")
24783 (license license:gpl3+)))
24784
24785 (define-public emacs-slime-volleyball
24786 (package
24787 (name "emacs-slime-volleyball")
24788 (version "1.1.7")
24789 (source
24790 (origin
24791 (method url-fetch)
24792 (uri (string-append "https://elpa.gnu.org/packages/"
24793 "slime-volleyball-" version ".tar"))
24794 (sha256
24795 (base32 "0dl1x0ghfwg4vv2asz3g4plghjxpzd56fyw09vsa3s3k9xsmy3yy"))))
24796 (build-system emacs-build-system)
24797 (arguments '(#:include '("\\.el$" "\\.svg$" "\\.b64$" "slime\\.el\\.gz$")))
24798 (home-page "http://elpa.gnu.org/packages/slime-volleyball.html")
24799 (synopsis "SVG slime volleyball game")
24800 (description
24801 "Emacs Slime Volleyball is a volleyball game. Win points by
24802 making the ball land on your opponent's side of the court. The first
24803 player to five points wins! You can play against a friend, or
24804 challenge the three computer opponents in one player mode. You can
24805 even train opponent slimes.")
24806 (license license:gpl3+)))
24807
24808 (define-public emacs-systemd-mode
24809 (package
24810 (name "emacs-systemd-mode")
24811 (version "1.6")
24812 (source (origin
24813 (method git-fetch)
24814 (uri (git-reference
24815 (url "https://github.com/holomorph/systemd-mode")
24816 (commit (string-append "v" version))))
24817 (file-name (git-file-name name version))
24818 (sha256
24819 (base32
24820 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
24821 (build-system emacs-build-system)
24822 (arguments '(#:include '("\\.el$" "\\.txt$")))
24823 (home-page "https://github.com/holomorph/systemd-mode")
24824 (synopsis
24825 "Major mode for editing systemd units")
24826 (description
24827 "Major mode for editing systemd units in GNU Emacs.")
24828 (license license:gpl3+)))
24829
24830 (define-public emacs-ssh-config-mode
24831 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
24832 (revision "1"))
24833 (package
24834 (name "emacs-ssh-config-mode")
24835 (version (git-version "8.0" revision commit))
24836 (source
24837 (origin
24838 (method git-fetch)
24839 (uri
24840 (git-reference
24841 (url "https://github.com/jhgorrell/ssh-config-mode-el")
24842 (commit commit)))
24843 (file-name (git-file-name name commit))
24844 (sha256
24845 (base32
24846 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
24847 (build-system emacs-build-system)
24848 (arguments '(#:include '("\\.el$" "\\.txt$")))
24849 (home-page
24850 "https://github.com/jhgorrell/ssh-config-mode-el")
24851 (synopsis
24852 "Mode for fontification of ~/.ssh/config")
24853 (description
24854 "This package fontifies the ssh config keywords and creates
24855 keybindings for skipping from host section to host section.")
24856 (license license:gpl3+))))
24857
24858 (define-public emacs-ssh-agency
24859 (package
24860 (name "emacs-ssh-agency")
24861 (version "0.4.1")
24862 (source (origin
24863 (method git-fetch)
24864 (uri (git-reference
24865 (url "https://github.com/magit/ssh-agency")
24866 (commit version)))
24867 (file-name (git-file-name name version))
24868 (sha256
24869 (base32
24870 "1i3zmsn0w2k7p2hlzssibckm32kf05l56mkhg96x4sf06g3pwq1d"))))
24871 (build-system emacs-build-system)
24872 (propagated-inputs
24873 `(("dash" ,emacs-dash)))
24874 (home-page "https://github.com/magit/ssh-agency")
24875 (synopsis "Manage @code{ssh-agent} from Emacs")
24876 (description
24877 "This package provides functions to startup @code{ssh-agent}, set the
24878 needed environment variables in Emacs, and prompt for passphrases from within
24879 Emacs so that pushes and pulls from @code{magit} will not require entering any
24880 passphrase.
24881
24882 It can also be useful on Unix-like platforms to delay having to enter your
24883 passphrase until the first time you push to a remote.")
24884 (license license:gpl3+)))
24885
24886 (define-public emacs-tao-theme
24887 (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408")
24888 (revision "1"))
24889 (package
24890 (name "emacs-tao-theme")
24891 (version (git-version "1.1.1" revision commit))
24892 (source
24893 (origin
24894 (method git-fetch)
24895 (uri (git-reference
24896 (url "https://github.com/11111000000/tao-theme-emacs")
24897 (commit commit)))
24898 (file-name (git-file-name name version))
24899 (sha256
24900 (base32
24901 "0yqibx6wcdsj5k6130c3qp0hmj6zwhfjrrvw98lny23ksw6k0s3s"))))
24902 (build-system emacs-build-system)
24903 (home-page "https://github.com/11111000000/tao-theme-emacs")
24904 (synopsis "Parameterized uncolored color themes for Emacs")
24905 (description
24906 "This package provides two parameterized uncolored color themes for
24907 Emacs: @code{tao-yin} and @code{tao-yang}. The default
24908 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
24909
24910 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
24911 @code{tao-theme-scale-filter-fn}, for edge filter; and
24912 @code{tao-theme-use-height}.")
24913 (license license:gpl3+))))
24914
24915 (define-public emacs-almost-mono-themes
24916 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
24917 (revision "0"))
24918 (package
24919 (name "emacs-almost-mono-themes")
24920 (version (git-version "0" revision commit))
24921 (source
24922 (origin
24923 (method git-fetch)
24924 (uri (git-reference
24925 (url "https://github.com/cryon/almost-mono-themes")
24926 (commit commit)))
24927 (file-name (git-file-name name version))
24928 (sha256
24929 (base32
24930 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
24931 (build-system emacs-build-system)
24932 (home-page "https://github.com/cryon/almost-mono-themes")
24933 (synopsis "Almost monochromatic themes for emacs in a few variants")
24934 (description
24935 "This package provides a collection of almost monochrome Emacs themes:
24936 @code{almost-mono-black} and @code{almost-mono-white}.")
24937 (license license:gpl3+))))
24938
24939 (define-public emacs-quasi-monochrome
24940 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
24941 (revision "0"))
24942 (package
24943 (name "emacs-quasi-monochrome")
24944 (version (git-version "1.2" revision commit))
24945 (source
24946 (origin
24947 (method git-fetch)
24948 (uri (git-reference
24949 (url "https://github.com/lbolla/emacs-quasi-monochrome")
24950 (commit commit)))
24951 (file-name (git-file-name name version))
24952 (sha256
24953 (base32
24954 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
24955 (build-system emacs-build-system)
24956 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
24957 (synopsis "Dark color theme for Emacs")
24958 (description
24959 "This package provides a dark color theme with a black background, high
24960 contrast and few colors.")
24961 (license license:gpl3+))))
24962
24963 (define-public emacs-doom-themes
24964 (let ((commit "e803fc4ac8cf7118e2d1544d8241b848b5e79e9f")
24965 (revision "5")
24966 (version "2.1.6"))
24967 (package
24968 (name "emacs-doom-themes")
24969 (version (git-version version revision commit))
24970 (source (origin
24971 (method git-fetch)
24972 (uri (git-reference
24973 (url "https://github.com/hlissner/emacs-doom-themes")
24974 (commit commit)))
24975 (file-name (git-file-name name version))
24976 (sha256
24977 (base32 "128hdmf0jkzr12fv2r6z349qiwba6q97hsb6b1n2qlhi0v5v3mfh"))))
24978 (build-system emacs-build-system)
24979 (native-inputs
24980 `(("emacs-ert-runner" ,emacs-ert-runner)))
24981 (arguments
24982 `(#:tests? #t
24983 #:test-command '("ert-runner")
24984 #:modules ((guix build emacs-build-system)
24985 (guix build utils)
24986 (guix build emacs-utils)
24987 (srfi srfi-1))
24988 #:phases
24989 (modify-phases %standard-phases
24990 (add-after 'unpack 'move-themes
24991 (lambda _
24992 ;; Move the source files to the top level, which is in the
24993 ;; EMACSLOADPATH.
24994 (for-each (lambda (f)
24995 (rename-file f (basename f)))
24996 (find-files "./themes" ".*\\.el$"))
24997 #t)))))
24998 (synopsis "Wide collection of color themes for Emacs")
24999 (description "Emacs-doom-themes contains numerous popular color themes for
25000 Emacs that integrate with major modes like Org-mode.")
25001 (home-page "https://github.com/hlissner/emacs-doom-themes")
25002 (license license:expat))))
25003
25004 (define-public emacs-modus-themes
25005 (package
25006 (name "emacs-modus-themes")
25007 (version "1.3.0")
25008 (source
25009 (origin
25010 (method git-fetch)
25011 (uri (git-reference
25012 (url "https://gitlab.com/protesilaos/modus-themes")
25013 (commit version)))
25014 (file-name (git-file-name name version))
25015 (sha256
25016 (base32 "0dw33kvs6k1a933d64fnrckzhs12d8m03a31cwblm39vmirgmf6y"))))
25017 (build-system emacs-build-system)
25018 (home-page "https://protesilaos.com/modus-themes/")
25019 (synopsis "Accessible themes (WCAG AAA)")
25020 (description
25021 "The Modus themes are designed for accessible readability. They conform
25022 with the highest standard for color contrast between any given combination of
25023 background and foreground values. This corresponds to the WCAG AAA standard,
25024 which specifies a minimum rate of distance in relative luminance of 7:1.
25025
25026 Modus Operandi (modus-operandi) is a light theme, while Modus
25027 Vivendi (modus-vivendi) is dark. Each theme’s color palette is designed to
25028 meet the needs of the numerous interfaces that are possible in the Emacs
25029 computing environment.")
25030 (license license:gpl3+)))
25031
25032 (define-public emacs-modus-operandi-theme
25033 (deprecated-package "emacs-modus-operandi-theme" emacs-modus-themes))
25034
25035 (define-public emacs-modus-vivendi-theme
25036 (deprecated-package "emacs-modus-vivendi-theme" emacs-modus-themes))
25037
25038 (define-public emacs-punpun-theme
25039 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
25040 (revision "0"))
25041 (package
25042 (name "emacs-punpun-theme")
25043 (version (git-version "0" revision commit))
25044 (source
25045 (origin
25046 (method git-fetch)
25047 (uri (git-reference
25048 (url "https://github.com/wasamasa/punpun-theme")
25049 (commit commit)))
25050 (file-name (git-file-name name version))
25051 (sha256
25052 (base32
25053 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
25054 (build-system emacs-build-system)
25055 (home-page "https://github.com/wasamasa/punpun-theme")
25056 (synopsis "Bleak Emacs theme")
25057 (description
25058 "A bleak theme. Uses shades of gray and the occasional splash of
25059 color. Designed for 256-color terminals. Comes in light and dark!")
25060 (license license:gpl3+))))
25061
25062 (define-public emacs-spacemacs-theme
25063 (let ((commit "f79c40fb241e204539fde97200abae91e828e585")
25064 (revision "1"))
25065 (package
25066 (name "emacs-spacemacs-theme")
25067 (version (git-version "0" revision commit)) ;no release yet
25068 (source
25069 (origin
25070 (method git-fetch)
25071 (uri (git-reference
25072 (url "https://github.com/nashamri/spacemacs-theme")
25073 (commit commit)))
25074 (file-name (git-file-name name version))
25075 (sha256
25076 (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n"))))
25077 (build-system emacs-build-system)
25078 (home-page "https://github.com/nashamri/spacemacs-theme")
25079 (synopsis
25080 "Light and dark theme for spacemacs that supports GUI and terminal")
25081 (description
25082 "Spacemacs theme is an Emacs color theme that started as
25083 a theme for Spacemacs. The theme comes with dark and light variants
25084 and it should work well with 256 color terminals.")
25085 (license license:gpl3+))))
25086
25087 (define-public emacs-elixir-mode
25088 (package
25089 (name "emacs-elixir-mode")
25090 (version "2.3.2")
25091 (source
25092 (origin
25093 (method git-fetch)
25094 (uri (git-reference
25095 (url "https://github.com/elixir-editors/emacs-elixir")
25096 (commit (string-append "v" version))))
25097 (file-name (git-file-name name version))
25098 (sha256
25099 (base32 "0f2a360h8bizvqk6bmgxm59g8n7id5rzwlbv6d383h15w298mcga"))))
25100 (build-system emacs-build-system)
25101 (propagated-inputs
25102 `(("emacs-pkg-info" ,emacs-pkg-info)))
25103 (home-page
25104 "https://github.com/elixir-editors/emacs-elixir")
25105 (synopsis "Major mode for editing Elixir files")
25106 (description
25107 "Elixir-Mode provides font-locking, indentation and navigation support
25108 for the Elixir programming language.")
25109 (license license:gpl3+)))
25110
25111 (define-public emacs-dimmer
25112 (package
25113 (name "emacs-dimmer")
25114 (version "0.4.2")
25115 (source
25116 (origin
25117 (method git-fetch)
25118 (uri (git-reference
25119 (url "https://github.com/gonewest818/dimmer.el")
25120 (commit version)))
25121 (file-name (git-file-name name version))
25122 (sha256
25123 (base32
25124 "0dw0qh5hm1x76s5cqxvylvmjgy0jwy11xm258g6kmx6w1k6r1d2l"))))
25125 (build-system emacs-build-system)
25126 (home-page "https://github.com/gonewest818/dimmer.el")
25127 (synopsis "Visually highlights the selected buffer in Emacs")
25128 (description "Dimmer provides a minor mode that indicates which buffer is
25129 currently active by dimming the faces in the other buffers. It does this
25130 nondestructively, and computes the dimmed faces dynamically such that your
25131 overall color scheme is shown in a muted form without requiring you to define
25132 what is a \"dim\" version of every face.")
25133 (license license:gpl3+)))
25134
25135 (define-public emacs-minibuffer-line
25136 (package
25137 (name "emacs-minibuffer-line")
25138 (version "0.1")
25139 (source
25140 (origin
25141 (method url-fetch)
25142 (uri (string-append
25143 "https://elpa.gnu.org/packages/minibuffer-line-"
25144 version
25145 ".el"))
25146 (sha256
25147 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
25148 (build-system emacs-build-system)
25149 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
25150 (synopsis "Display status info in the minibuffer window")
25151 (description
25152 "This package lets you display various status information in the
25153 minibuffer window instead of the mode-line. Of course, this is only displayed
25154 when the minibuffer window is not already used for other things (e.g. a
25155 minibuffer or an each area message).
25156
25157 The contents and aspect is controlled by the @code{minibuffer-line-format}
25158 variable and the @code{minibuffer-line} face.")
25159 (license license:gpl3+)))
25160
25161 (define-public emacs-eshell-prompt-extras
25162 (package
25163 (name "emacs-eshell-prompt-extras")
25164 (version "1.0")
25165 (home-page "https://github.com/zwild/eshell-prompt-extras")
25166 (source
25167 (origin
25168 (method git-fetch)
25169 (uri (git-reference
25170 (url home-page)
25171 (commit version)))
25172 (file-name (git-file-name name version))
25173 (sha256
25174 (base32
25175 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
25176 (build-system emacs-build-system)
25177 (synopsis "Display extra information and color for your Eshell prompt")
25178 (description "This library displays various customizable elements for
25179 @code{eshell} prompts: remote user, remote host, python virtual environment
25180 info, git branch, git dirty info and git unpushed number. Multiple themes are
25181 available.")
25182 (license license:gpl3+)))
25183
25184 (define-public emacs-eshell-did-you-mean
25185 (package
25186 (name "emacs-eshell-did-you-mean")
25187 (version "0.1")
25188 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
25189 (source
25190 (origin
25191 (method git-fetch)
25192 (uri (git-reference
25193 (url home-page)
25194 (commit (string-append "v" version))))
25195 (file-name (git-file-name name version))
25196 (sha256
25197 (base32
25198 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
25199 (build-system emacs-build-system)
25200 (synopsis "Display suggestions on 'command not found' in Eshell")
25201 (description "This library adds a list of 'Did you mean...' suggestions
25202 when the command was not found in Eshell. The suggestions are found after the
25203 commands that bear resemblance to the input command.")
25204 (license license:gpl3+)))
25205
25206 (define-public emacs-unfill
25207 (package
25208 (name "emacs-unfill")
25209 (version "0.3")
25210 (home-page "https://github.com/purcell/unfill")
25211 (source
25212 (origin
25213 (method git-fetch)
25214 (uri (git-reference
25215 (url home-page)
25216 (commit version)))
25217 (file-name (git-file-name name version))
25218 (sha256
25219 (base32 "0pg64nza2mp4xyr69pjq51jsq1aaym0g38g4jzaxr0hh3w0ris1n"))))
25220 (build-system emacs-build-system)
25221 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
25222 (description
25223 "The functions in this package provide the inverse of Emacs'
25224 @code{fill-paragraph} and @code{fill-region}.")
25225 (license license:gpl3+)))
25226
25227 (define-public emacs-windower
25228 (package
25229 (name "emacs-windower")
25230 (version "0.0.1")
25231 (home-page "https://gitlab.com/ambrevar/emacs-windower")
25232 (source
25233 (origin
25234 (method git-fetch)
25235 (uri (git-reference
25236 (url home-page)
25237 (commit version)))
25238 (file-name (git-file-name name version))
25239 (sha256
25240 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
25241 (build-system emacs-build-system)
25242 (synopsis "Helper functions for window manipulation in Emacs")
25243 (description
25244 "This package provides helper functions for window manipulation in Emacs,
25245 such as:
25246
25247 @itemize
25248 @item switch to last buffer,
25249 @item toggle single window display,
25250 @item toggle between horizontal and vertical splits,
25251 @item move borders more naturally,
25252 @item swap windows à-la @code{windmove}.
25253 @end itemize")
25254 (license license:gpl3+)))
25255
25256 (define-public emacs-flycheck-cpplint
25257 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
25258 (revision "1"))
25259 (package
25260 (name "emacs-flycheck-cpplint")
25261 (version (git-version "0.1" revision commit))
25262 (source
25263 (origin
25264 (method git-fetch)
25265 (uri (git-reference
25266 (url "https://github.com/flycheck/flycheck-google-cpplint")
25267 (commit commit)))
25268 (file-name (git-file-name name version))
25269 (sha256
25270 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
25271 (build-system emacs-build-system)
25272 (arguments
25273 `(#:phases
25274 (modify-phases %standard-phases
25275 (add-after 'unpack 'set-cpplint-path
25276 (lambda _
25277 (substitute* "flycheck-google-cpplint.el"
25278 (("\"cpplint.py\"")
25279 (string-append "\"" (which "cpplint") "\"")))
25280 #t)))))
25281 (inputs
25282 `(("cpplint" ,cpplint)))
25283 (propagated-inputs
25284 `(("flycheck-mode" ,emacs-flycheck)))
25285 (synopsis "Google C++ checker for Flycheck")
25286 (description "This package provides a interface for @code{cpplint} over
25287 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
25288 Google guidelines.")
25289 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
25290 (license license:gpl3+))))
25291
25292 (define-public emacs-helm-fish-completion
25293 (package
25294 (name "emacs-helm-fish-completion")
25295 (version "0.6")
25296 (home-page "https://github.com/emacs-helm/helm-fish-completion")
25297 (source
25298 (origin
25299 (method git-fetch)
25300 (uri (git-reference
25301 (url home-page)
25302 (commit version)))
25303 (file-name (git-file-name name version))
25304 (sha256
25305 (base32 "1j2vfngq3512naaayv9kx0d1q2zg1xgs69l8afc7swg72h0l0imw"))))
25306 (build-system emacs-build-system)
25307 (propagated-inputs
25308 `(("helm" ,emacs-helm)
25309 ("fish-completion" ,emacs-fish-completion)))
25310 (synopsis "Helm interface for Emacs fish-completion")
25311 (description "Helm Fish Completion is a Helm interface for Emacs
25312 fish-completion. It can be used in both Eshell and M-x shell.")
25313 (license license:gpl3+)))
25314
25315 (define-public emacs-helm-switch-to-repl
25316 (package
25317 (name "emacs-helm-switch-to-repl")
25318 (version "0.1.2")
25319 (home-page "https://github.com/emacs-helm/helm-switch-to-repl")
25320 (source
25321 (origin
25322 (method git-fetch)
25323 (uri (git-reference
25324 (url home-page)
25325 (commit version)))
25326 (file-name (git-file-name name version))
25327 (sha256
25328 (base32 "0n8qa549c5syvgqw1h2zrakjjbygddpxzaifaq5irscgdcajrads"))))
25329 (build-system emacs-build-system)
25330 (propagated-inputs
25331 `(("helm" ,emacs-helm)))
25332 (synopsis "Helm action to switch directory in Emacs REPLs")
25333 (description "Helm \"Switch-to-REPL\" offers the
25334 @code{helm-switch-to-repl} action, a generalized and extensible version of
25335 @code{helm-ff-switch-to-shell}. It can be added to @code{helm-find-files} and
25336 other @code{helm-type-file} sources such as @code{helm-locate}.")
25337 (license license:gpl3+)))
25338
25339 (define-public emacs-telega
25340 ;; This package has versions newer than indicated on MELPA.
25341 ;; Get the current version from `telega-version` in telega.el.
25342 ;; or by running M-x telega-version.
25343 (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9")
25344 (revision "1")
25345 (version "0.7.1"))
25346 (package
25347 (name "emacs-telega")
25348 (version (git-version version revision commit))
25349 (source
25350 (origin
25351 (method git-fetch)
25352 (uri (git-reference
25353 (url "https://github.com/zevlg/telega.el")
25354 (commit commit)))
25355 (sha256
25356 (base32
25357 "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7"))
25358 (patches (search-patches
25359 "emacs-telega-patch-server-functions.patch"
25360 "emacs-telega-test-env.patch"))
25361 (file-name (git-file-name name version))))
25362 (build-system gnu-build-system)
25363 (arguments
25364 `(#:modules ((guix build gnu-build-system)
25365 ((guix build emacs-build-system) #:prefix emacs:)
25366 (guix build utils)
25367 (guix build emacs-utils))
25368 #:imported-modules (,@%gnu-build-system-modules
25369 (guix build emacs-build-system)
25370 (guix build emacs-utils))
25371 #:test-target "test"
25372 ;; TODO: Currently tgVOIP is not functional, thus we have disabled it
25373 ;; temporarily.
25374 ;; #:make-flags (list "WITH_VOIP=t")
25375 #:phases
25376 (modify-phases %standard-phases
25377 (add-after 'unpack 'prefix-patch
25378 (lambda _
25379 (substitute* "server/Makefile"
25380 (("CC=cc")
25381 "CC=gcc")
25382 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
25383 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
25384 "/bin"))
25385 ;; Manually invoke `run_tests.py` after install phase.
25386 (("python3 run_tests.py")
25387 ""))
25388 #t))
25389 (add-after 'unpack 'expand-load-path
25390 (assoc-ref emacs:%standard-phases 'expand-load-path))
25391 (add-after 'unpack 'patch-sources
25392 (lambda* (#:key inputs #:allow-other-keys)
25393 ;; Hard-code paths to `ffplay` and `ffmpeg`.
25394 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
25395 "/bin/ffplay"))
25396 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
25397 "/bin/ffmpeg")))
25398 (substitute* "telega-ffplay.el"
25399 (("\\(executable-find \"ffplay\"\\)")
25400 (string-append
25401 "(and (file-executable-p \"" ffplay-bin "\")"
25402 "\"" ffplay-bin "\")"))
25403 (("\\(executable-find \"ffmpeg\"\\)")
25404 (string-append
25405 "(and (file-executable-p \"" ffmpeg-bin "\")"
25406 "\"" ffmpeg-bin "\")"))))
25407 ;; This would push the "contrib" sources to the load path,
25408 ;; but as contrib is not installed alongside telega, it does
25409 ;; nothing.
25410 (substitute* "telega.el"
25411 (("\\(push .* load-path\\)") ""))
25412 #t))
25413 ;; The server test suite has a hardcoded path.
25414 ;; Reset this behavior to use the proper path.
25415 (add-after 'unpack 'patch-test-suite
25416 (lambda _
25417 (substitute* "server/run_tests.py"
25418 (("~/.telega/telega-server")
25419 (string-append (assoc-ref %outputs "out")
25420 "/bin/telega-server")))
25421 #t))
25422 (add-after 'install 'run-server-suite
25423 (lambda _
25424 (invoke "python3" "server/run_tests.py")
25425 #t))
25426 (delete 'configure)
25427 (add-after 'expand-load-path 'emacs-install
25428 (lambda args
25429 (apply (assoc-ref emacs:%standard-phases 'install)
25430 #:include `("etc" ,@emacs:%default-include)
25431 args)))
25432 (add-after 'emacs-install 'emacs-build
25433 (assoc-ref emacs:%standard-phases 'build))
25434 (add-after 'emacs-install 'emacs-make-autoloads
25435 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
25436 (inputs
25437 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
25438 (propagated-inputs
25439 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
25440 ("emacs-company" ,emacs-company)
25441 ("emacs-rainbow-identifiers"
25442 ,emacs-rainbow-identifiers)
25443 ("libwebp" ,libwebp))) ; sticker support.
25444 (native-inputs
25445 `(("tdlib" ,tdlib)
25446 ;; Use Emacs with wide ints on 32-bit architectures.
25447 ("emacs" ,(match (%current-system)
25448 ((or "i686-linux" "armhf-linux")
25449 emacs-wide-int)
25450 (_
25451 emacs)))
25452 ("python" ,python)))
25453 (synopsis "GNU Emacs client for the Telegram messenger")
25454 (description
25455 "Telega is a full-featured, unofficial GNU Emacs-based client for the
25456 Telegram messaging platform.")
25457 (home-page "https://zevlg.github.io/telega.el/")
25458 (license license:gpl3+))))
25459
25460 (define-public emacs-telega-contrib
25461 (package/inherit emacs-telega
25462 (name "emacs-telega-contrib")
25463 (build-system emacs-build-system)
25464 (arguments
25465 `(#:exclude '("telega-live-location.el")
25466 #:phases
25467 (modify-phases %standard-phases
25468 (add-after 'unpack 'chdir
25469 (lambda _ (chdir "contrib") #t)))))
25470 (propagated-inputs
25471 `(("emacs-telega" ,emacs-telega)
25472 ("emacs-alert" ,emacs-alert)
25473 ("emacs-all-the-icons" ,emacs-all-the-icons)))))
25474
25475 (define-public emacs-doom-modeline
25476 (package
25477 (name "emacs-doom-modeline")
25478 (version "3.0.0")
25479 (source (origin
25480 (method git-fetch)
25481 (uri (git-reference
25482 (url "https://github.com/seagle0128/doom-modeline")
25483 (commit (string-append "v" version))))
25484 (sha256
25485 (base32
25486 "08m75rl5i812pa87zcsjvb4mm3jjhpwzgx9mf2m7sxj807airz5d"))
25487 (file-name (git-file-name name version))))
25488 (build-system emacs-build-system)
25489 (arguments
25490 `(#:test-command '("ert-runner")))
25491 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
25492 (propagated-inputs
25493 `(("emacs-all-the-icons" ,emacs-all-the-icons)
25494 ("emacs-dash" ,emacs-dash)
25495 ("emacs-shrink-path" ,emacs-shrink-path)))
25496 (synopsis "Fancy and fast mode-line inspired by minimalism design")
25497 (description "Doom modeline is a complete modeline for GNU Emacs inspired
25498 by the Doom theme collection. This modeline features support for mode-specific
25499 icon support, git integration, and several other utilities.")
25500 (home-page "https://github.com/seagle0128/doom-modeline/")
25501 (license license:gpl3+)))
25502
25503 (define-public emacs-mood-line
25504 (package
25505 (name "emacs-mood-line")
25506 (version "1.2.4")
25507 (source
25508 (origin
25509 (method git-fetch)
25510 (uri (git-reference
25511 (url "https://gitlab.com/jessieh/mood-line")
25512 (commit version)))
25513 (file-name (git-file-name name version))
25514 (sha256
25515 (base32 "0fh9j9fkgl433nykfzjnzap5labi4sdndfk1nv4f904ij69pmvxb"))))
25516 (build-system emacs-build-system)
25517 (home-page "https://gitlab.com/jessieh/mood-line")
25518 (synopsis "Minimal mode-line for Emacs")
25519 (description
25520 "Mood-line is a minimal Emacs mode-line configuration that aims to
25521 replicate some of the features of the Doom modeline package.")
25522 (license license:gpl2+)))
25523
25524 (define-public emacs-simple-modeline
25525 (let ((commit "38973dec2912e2136d8fde5f2667063863fee15a")
25526 (revision "1"))
25527 (package
25528 (name "emacs-simple-modeline")
25529 (version (git-version"1.2" revision commit))
25530 (source
25531 (origin
25532 (method git-fetch)
25533 (uri (git-reference
25534 (url "https://github.com/gexplorer/simple-modeline")
25535 (commit commit)))
25536 (file-name (git-file-name name version))
25537 (sha256
25538 (base32
25539 "0y70hc3x8rxr8b5x8d0a23gpcadzrn43wmrsvqqxmmkqqp45n7gj"))))
25540 (build-system emacs-build-system)
25541 (home-page "https://github.com/gexplorer/simple-modeline")
25542 (synopsis "Simple mode-line configuration for Emacs")
25543 (description
25544 "This package provides a simple mode-line configuration for Emacs.")
25545 (license license:gpl3+))))
25546
25547 (define-public emacs-frames-only-mode
25548 (package
25549 (name "emacs-frames-only-mode")
25550 (version "1.0.0")
25551 (source
25552 (origin
25553 (method git-fetch)
25554 (uri (git-reference
25555 (url "https://github.com/davidshepherd7/frames-only-mode")
25556 (commit version)))
25557 (file-name (git-file-name name version))
25558 (sha256
25559 (base32 "0y0sdjixaxvywrlp2sw51wnczhk51q1svl5aghbk9rkxpwv9ys9v"))))
25560 (build-system emacs-build-system)
25561 (propagated-inputs
25562 `(("emacs-dash" ,emacs-dash)
25563 ("emacs-s" ,emacs-s)))
25564 (home-page "https://github.com/davidshepherd7/frames-only-mode")
25565 (synopsis "Use frames instead of Emacs windows")
25566 (description
25567 "This is an Emacs global minor mode to use Emacs frames instead of Emacs'
25568 internal windowing system. This combines particularly well with tiling window
25569 managers such as XMonad.")
25570 (license license:gpl3+)))
25571
25572 (define-public emacs-modalka
25573 (package
25574 (name "emacs-modalka")
25575 (version "0.1.5")
25576 (source
25577 (origin
25578 (method git-fetch)
25579 (uri (git-reference
25580 (url "https://github.com/mrkkrp/modalka")
25581 (commit version)))
25582 (file-name (git-file-name name version))
25583 (sha256
25584 (base32 "0ggj8q92sb6wp3hs1vhpmy56id0p3i9zwnw24g2v7xa7w8ac9s7l"))))
25585 (build-system emacs-build-system)
25586 (home-page "https://github.com/mrkkrp/modalka")
25587 (synopsis "Minor mode to easily define native custom modal editing")
25588 (description
25589 "This is a building kit to help switch to modal editing in Emacs. The
25590 main goal of the package is to make modal editing in Emacs as natural and
25591 native as possible. Modalka lets you define your own keys and does not come
25592 with a preconfigured set of keys.")
25593 (license license:gpl3+)))
25594
25595 (define-public emacs-shrink-path
25596 (package
25597 (name "emacs-shrink-path")
25598 (version "0.3.1")
25599 (source
25600 (origin
25601 (method git-fetch)
25602 (uri (git-reference
25603 (url "https://gitlab.com/bennya/shrink-path.el.git")
25604 (commit (string-append "v" version))))
25605 (sha256
25606 (base32
25607 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
25608 (file-name (git-file-name name version))))
25609 (build-system emacs-build-system)
25610 (propagated-inputs
25611 `(("emacs-s" ,emacs-s)
25612 ("emacs-dash" ,emacs-dash)
25613 ("emacs-f" ,emacs-f)))
25614 (home-page "https://gitlab.com/bennya/shrink-path.el")
25615 (synopsis "Fish-style path truncation in emacs-lisp")
25616 (description "This package provides utility functions that allow for
25617 Fish-style truncated directories in eshell and various modelines.")
25618 (license license:gpl3+)))
25619
25620 (define-public emacs-org-present
25621 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
25622 (package
25623 (name "emacs-org-present")
25624 (version "0.0.1")
25625 (source
25626 (origin
25627 (method git-fetch)
25628 (uri (git-reference
25629 (url "https://github.com/rlister/org-present")
25630 (commit commit)))
25631 (file-name (git-file-name name version))
25632 (sha256
25633 (base32
25634 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
25635 (build-system emacs-build-system)
25636 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
25637 (description "Org-present is an extremely minimalist presentation tool
25638 for Emacs org-mode. Simply layout your presentation with each slide under a
25639 top-level header, start the minor mode with @code{org-present}, and page through
25640 each slide with left/right keys.")
25641 (home-page "https://github.com/rlister/org-present")
25642 (license license:gpl2))))
25643
25644 (define-public emacs-fullframe
25645 (package
25646 (name "emacs-fullframe")
25647 (version "0.5.0")
25648 (source
25649 (origin
25650 (method git-fetch)
25651 (uri (git-reference
25652 (url "https://github.com/tomterl/fullframe")
25653 (commit version)))
25654 (sha256
25655 (base32
25656 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
25657 (file-name (git-file-name name version))))
25658 (build-system emacs-build-system)
25659 (home-page "https://github.com/tomterl/fullframe")
25660 (synopsis "Generalized automatic execution in a single frame")
25661 (description "This library provides helpers for single-window-per-frame
25662 execution of buffer-exposing commands.")
25663 (license license:gpl3+)))
25664
25665 (define-public emacs-eshell-toggle
25666 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
25667 (revision "1"))
25668 (package
25669 (name "emacs-eshell-toggle")
25670 (version (git-version "0.10.0" revision commit))
25671 (source
25672 (origin
25673 (method git-fetch)
25674 (uri (git-reference
25675 (url "https://github.com/4DA/eshell-toggle")
25676 (commit commit)))
25677 (sha256
25678 (base32
25679 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
25680 (file-name (git-file-name name version))))
25681 (build-system emacs-build-system)
25682 (propagated-inputs
25683 `(("emacs-dash" ,emacs-dash)))
25684 (home-page "https://github.com/4DA/eshell-toggle")
25685 (synopsis "Show and hide an @code{eshell} instance")
25686 (description "This package toggles an @code{eshell} instance for the
25687 current buffer.")
25688 (license license:gpl3+))))
25689
25690 (define-public emacs-repl-toggle
25691 (package
25692 (name "emacs-repl-toggle")
25693 (version "0.7.1")
25694 (source
25695 (origin
25696 (method git-fetch)
25697 (uri (git-reference
25698 (url "https://git.sr.ht/~tomterl/repl-toggle")
25699 (commit version)))
25700 (sha256
25701 (base32
25702 "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
25703 (file-name (git-file-name name version))))
25704 (build-system emacs-build-system)
25705 (propagated-inputs
25706 `(("emacs-fullframe" ,emacs-fullframe)))
25707 (home-page "https://git.sr.ht/~tomterl/repl-toggle")
25708 (synopsis "Switch to and from current major mode's REPL")
25709 (description "This package provides a function to switch to and from a
25710 REPL appropriate to the current major mode.")
25711 (license license:gpl3+)))
25712
25713 (define-public emacs-rime
25714 (package
25715 (name "emacs-rime")
25716 (version "1.0.4")
25717 (source
25718 (origin
25719 (method git-fetch)
25720 (uri (git-reference
25721 (url "https://github.com/DogLooksGood/emacs-rime")
25722 (commit (string-append "v" version))))
25723 (file-name (git-file-name name version))
25724 (sha256
25725 (base32 "1a50cziwg7lpgh26yvwxs46jfyfq1m0l6igbg5g5m288mz4d3an9"))))
25726 (build-system emacs-build-system)
25727 (arguments
25728 '(#:phases
25729 (modify-phases %standard-phases
25730 (add-after 'unpack 'patch-rime-data-path
25731 (lambda* (#:key inputs #:allow-other-keys)
25732 (make-file-writable "rime.el")
25733 (emacs-substitute-variables "rime.el"
25734 ("rime-share-data-dir"
25735 (string-append (assoc-ref inputs "rime-data")
25736 "/share/rime-data")))
25737 #t))
25738 (add-before 'install 'build-emacs-module
25739 (lambda _
25740 (invoke "make" "lib")))
25741 (add-after 'install 'install-emacs-module
25742 (lambda* (#:key outputs #:allow-other-keys)
25743 (install-file "librime-emacs.so"
25744 (string-append (assoc-ref outputs "out")
25745 "/share/emacs/site-lisp"))
25746 #t)))))
25747 (inputs
25748 `(("librime" ,librime)
25749 ("rime-data" ,rime-data)))
25750 (propagated-inputs
25751 `(("emacs-dash" ,emacs-dash)
25752 ("emacs-popup" ,emacs-popup)
25753 ("emacs-posframe" ,emacs-posframe)))
25754 (home-page "https://github.com/DogLooksGood/emacs-rime")
25755 (synopsis "Rime input method in Emacs")
25756 (description
25757 "Rime is an Emacs input method built upon Rime input method engine.")
25758 (license license:gpl3+)))
25759
25760 (define-public emacs-blackout
25761 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
25762 (revision "1"))
25763 (package
25764 (name "emacs-blackout")
25765 (version (git-version "1.0" revision commit))
25766 (source
25767 (origin
25768 (method git-fetch)
25769 (uri (git-reference
25770 (url "https://github.com/raxod502/blackout")
25771 (commit commit)))
25772 (sha256
25773 (base32
25774 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
25775 (file-name (git-file-name name version))))
25776 (build-system emacs-build-system)
25777 (home-page "https://github.com/raxod502/blackout")
25778 (synopsis "Clean up mode lighters")
25779 (description "This package provides a function for hiding and customizing
25780 display of major and minor modes in the mode line.")
25781 (license license:gpl3+))))
25782
25783 (define-public emacs-ivy-omni-org
25784 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
25785 (revision "1"))
25786 (package
25787 (name "emacs-ivy-omni-org")
25788 (version (git-version "0.2.1" revision commit))
25789 (source
25790 (origin
25791 (method git-fetch)
25792 (uri (git-reference
25793 (url "https://github.com/akirak/ivy-omni-org")
25794 (commit commit)))
25795 (file-name (git-file-name name version))
25796 (sha256
25797 (base32
25798 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
25799 (build-system emacs-build-system)
25800 (propagated-inputs
25801 `(("emacs-ivy" ,emacs-ivy)
25802 ("emacs-dash" ,emacs-dash)))
25803 (synopsis "Browse anything in Org mode")
25804 (description "This package allows Org items to be accessed via the Ivy
25805 interface.")
25806 (home-page "https://github.com/akirak/ivy-omni-org")
25807 (license license:gpl3+))))
25808
25809 (define-public emacs-ivy-posframe
25810 (package
25811 (name "emacs-ivy-posframe")
25812 (version "0.6.0")
25813 (source
25814 (origin
25815 (method url-fetch)
25816 (uri (string-append "https://elpa.gnu.org/packages/"
25817 "ivy-posframe-" version ".tar"))
25818 (sha256
25819 (base32 "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf"))))
25820 (build-system emacs-build-system)
25821 (propagated-inputs
25822 `(("emacs-ivy" ,emacs-ivy)
25823 ("emacs-posframe" ,emacs-posframe)))
25824 (home-page "https://github.com/tumashu/ivy-posframe")
25825 (synopsis "Pop a posframe (a child frame) to show Ivy candidates")
25826 (description
25827 "This package provides an Emacs Ivy extension, which let Ivy use
25828 posframe to show its candidate menu.")
25829 (license license:gpl3+)))
25830
25831 (define-public emacs-shackle
25832 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
25833 (revision "1"))
25834 (package
25835 (name "emacs-shackle")
25836 (version (git-version "1.0.3" revision commit))
25837 (source
25838 (origin
25839 (method git-fetch)
25840 (uri (git-reference
25841 (url "https://github.com/wasamasa/shackle")
25842 (commit commit)))
25843 (file-name (git-file-name name version))
25844 (sha256
25845 (base32
25846 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
25847 (build-system emacs-build-system)
25848 (synopsis "Enforce rules for popups")
25849 (description "This package provides a global minor mode in which users
25850 can specify how popup-displaying functions occupy the screen.")
25851 (home-page "https://github.com/wasamasa/shackle")
25852 (license license:gpl3+))))
25853
25854 (define-public emacs-showtip
25855 (let ((commit "930da302809a4257e8d69425455b29e1cc91949b")
25856 (revision "0"))
25857 (package
25858 (name "emacs-showtip")
25859 (version (git-version "0.01" revision commit))
25860 (source
25861 (origin
25862 (method git-fetch)
25863 (uri (git-reference
25864 (url "https://github.com/emacsorphanage/showtip")
25865 (commit commit)))
25866 (file-name (git-file-name name version))
25867 (sha256
25868 (base32 "01zak0zhha6dp7a2hm28d065gjnc462iwpsfyxhbxgfzcdlicqc7"))))
25869 (build-system emacs-build-system)
25870 (home-page "https://github.com/emacsorphanage/showtip")
25871 (synopsis "Show tip at cursor")
25872 (description
25873 "This library provide one function to show tooltip near the cursor.")
25874 (license license:gpl2+))))
25875
25876 (define-public emacs-sdcv
25877 ;; No tagged version upstream.
25878 (let ((commit "943ae3e90cc9a0a88a37cc710acd7424fd4defc4" )
25879 (revision "0"))
25880 (package
25881 (name "emacs-sdcv")
25882 (version (git-version "1.5.2" revision commit))
25883 (source
25884 (origin
25885 (method git-fetch)
25886 (uri (git-reference
25887 (url "https://github.com/stardiviner/sdcv.el")
25888 (commit commit)))
25889 (file-name (git-file-name name version))
25890 (sha256
25891 (base32 "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh"))))
25892 (build-system emacs-build-system)
25893 (propagated-inputs
25894 `(("emacs-popup" ,emacs-popup)
25895 ("emacs-pos-tip" ,emacs-pos-tip)
25896 ("emacs-showtip" ,emacs-showtip)))
25897 (home-page "https://www.emacswiki.org/emacs/download/sdcv.el")
25898 (synopsis "Emacs interface for @code{sdcv}")
25899 (description
25900 "This plugin translates words with @code{sdcv}, and displays
25901 translation using a tooltip or in a dedicated buffer.")
25902 (license license:gpl3+))))
25903
25904 (define-public emacs-helm-lacarte
25905 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
25906 (revision "1"))
25907 (package
25908 (name "emacs-helm-lacarte")
25909 (version (git-version "0" revision commit))
25910 (source
25911 (origin
25912 (method git-fetch)
25913 (uri (git-reference
25914 (url "https://github.com/emacs-helm/helm-lacarte")
25915 (commit commit)))
25916 (file-name (git-file-name name version))
25917 (sha256
25918 (base32
25919 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
25920 (build-system emacs-build-system)
25921 (propagated-inputs
25922 `(("emacs-helm" ,emacs-helm)
25923 ("emacs-lacarte" ,emacs-lacarte)))
25924 (synopsis "Helm interface to @code{lacarte.el}")
25925 (description "This package provides a Helm interface to
25926 @code{lacarte.el}, a package that displays mode-specific commands as menu
25927 items.")
25928 (home-page "https://github.com/emacs-helm/helm-lacarte")
25929 (license license:gpl3+))))
25930
25931 (define-public emacs-esh-help
25932 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
25933 (revision "1"))
25934 (package
25935 (name "emacs-esh-help")
25936 (version (git-version "1.0.1" revision commit))
25937 (source
25938 (origin
25939 (method git-fetch)
25940 (uri (git-reference
25941 (url "https://github.com/tom-tan/esh-help")
25942 (commit commit)))
25943 (file-name (git-file-name name version))
25944 (sha256
25945 (base32
25946 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
25947 (build-system emacs-build-system)
25948 (propagated-inputs
25949 `(("emacs-dash" ,emacs-dash)))
25950 (synopsis "Help functions for Eshell")
25951 (description "This package provides a @code{run-help} function inspired
25952 by @code{zsh} as well as @code{eldoc} support.")
25953 (home-page "https://github.com/tom-tan/esh-help")
25954 (license license:gpl3+))))
25955
25956 (define-public emacs-isearch-dabbrev
25957 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
25958 (revision "1"))
25959 (package
25960 (name "emacs-isearch-dabbrev")
25961 (version (git-version "0.1" revision commit))
25962 (source
25963 (origin
25964 (method git-fetch)
25965 (uri (git-reference
25966 (url "https://github.com/Dewdrops/isearch-dabbrev")
25967 (commit commit)))
25968 (file-name (git-file-name name version))
25969 (sha256
25970 (base32
25971 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
25972 (build-system emacs-build-system)
25973 (synopsis "Use @code{dabbrev} within @code{isearch}")
25974 (description "This package allows @code{dabbrev-expand} to be used
25975 within @code{isearch-mode}.")
25976 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
25977 (license license:gpl3+))))
25978
25979 (define-public emacs-helm-linux-disks
25980 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
25981 (revision "1"))
25982 (package
25983 (name "emacs-helm-linux-disks")
25984 (version (git-version "0.1" revision commit))
25985 (source
25986 (origin
25987 (method git-fetch)
25988 (uri (git-reference
25989 (url "https://github.com/Akirak/helm-linux-disks")
25990 (commit commit)))
25991 (file-name (git-file-name name version))
25992 (sha256
25993 (base32
25994 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
25995 (build-system emacs-build-system)
25996 (propagated-inputs
25997 `(("emacs-helm" ,emacs-helm)))
25998 (synopsis "Mount/unmount volumes in Linux via Helm")
25999 (description "This package provides a Helm interface to run operations
26000 on removable volumes in Linux.")
26001 (home-page "https://github.com/Akirak/helm-linux-disks")
26002 (license license:gpl3+))))
26003
26004 (define-public emacs-psession
26005 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
26006 (revision "1"))
26007 (package
26008 (name "emacs-psession")
26009 (version (git-version "1.5" revision commit))
26010 (source
26011 (origin
26012 (method git-fetch)
26013 (uri (git-reference
26014 (url "https://github.com/thierryvolpiatto/psession")
26015 (commit commit)))
26016 (file-name (git-file-name name version))
26017 (sha256
26018 (base32
26019 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
26020 (build-system emacs-build-system)
26021 (propagated-inputs
26022 `(("emacs-async" ,emacs-async)))
26023 (synopsis "Persistent save of @code{elisp} objects.")
26024 (description "This package provides minor modes for saving Emacs session
26025 data, including buffers, window configuration, variables, and more.")
26026 (home-page "https://github.com/thierryvolpiatto/psession")
26027 (license license:gpl3+))))
26028
26029 (define-public emacs-parseedn
26030 (package
26031 (name "emacs-parseedn")
26032 (version "0.2.0")
26033 (source
26034 (origin
26035 (method git-fetch)
26036 (uri (git-reference
26037 (url "https://github.com/clojure-emacs/parseedn")
26038 (commit (string-append "v" version))))
26039 (file-name (git-file-name name version))
26040 (sha256
26041 (base32
26042 "0271amhw63650rrzikcyqxa8sb42npnk7q3yrsay2v79wbqkdaw9"))))
26043 (build-system emacs-build-system)
26044 (propagated-inputs
26045 `(("emacs-a" ,emacs-a)
26046 ("emacs-parseclj" ,emacs-parseclj)))
26047 (home-page "https://cider.mx")
26048 (synopsis "EDN parser for Emacs Lisp")
26049 (description
26050 "Parseedn is an Emacs Lisp library for parsing EDN (Clojure) data.
26051 It uses parseclj's shift-reduce parser internally.")
26052 (license license:gpl3+)))
26053
26054 (define-public emacs-parseclj
26055 (package
26056 (name "emacs-parseclj")
26057 (version "0.2.0")
26058 (source
26059 (origin
26060 (method git-fetch)
26061 (uri (git-reference
26062 (url "https://github.com/clojure-emacs/parseclj")
26063 (commit (string-append "v" version))))
26064 (file-name (git-file-name name version))
26065 (sha256
26066 (base32
26067 "0894vhyx1phq8mdynnnqflcgi2a54hi926f4dk8slawzx1cb9xxb"))))
26068 (build-system emacs-build-system)
26069 (propagated-inputs `(("emacs-a" ,emacs-a)))
26070 (home-page "https://cider.mx")
26071 (synopsis "Clojure parser for Emacs Lisp")
26072 (description
26073 "Parseclj is an Emacs Lisp library for parsing Clojure code and EDN data.
26074 It supports several input and output formats, all powered by the same
26075 shift-reduce parser function.")
26076 (license license:gpl3+)))
26077
26078 (define-public emacs-hide-mode-line
26079 (package
26080 (name "emacs-hide-mode-line")
26081 (version "1.0.2")
26082 (source (origin
26083 (method git-fetch)
26084 (uri (git-reference
26085 (url "https://github.com/hlissner/emacs-hide-mode-line")
26086 (commit (string-append "v" version))))
26087 (file-name (git-file-name name version))
26088 (sha256
26089 (base32
26090 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
26091 (build-system emacs-build-system)
26092 (synopsis "Emacs plugin that hides the mode-line")
26093 (description "A minor mode that hides the mode-line in your current
26094 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
26095 or simply disable the mode-line in buffers where it is not very useful.")
26096 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
26097 (license license:expat)))
26098
26099 (define-public emacs-helm-cider
26100 ;; No new release since March 2018.
26101 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
26102 (package
26103 (name "emacs-helm-cider")
26104 (version (git-version "0.4.0" "1" commit))
26105 (home-page "https://github.com/clojure-emacs/helm-cider")
26106 (source (origin
26107 (method git-fetch)
26108 (uri (git-reference
26109 (url home-page)
26110 (commit commit)))
26111 (file-name (git-file-name name version))
26112 (sha256
26113 (base32
26114 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
26115 (build-system emacs-build-system)
26116 (propagated-inputs
26117 `(("emacs-helm" ,emacs-helm)
26118 ("emacs-cider" ,emacs-cider)))
26119 (synopsis "Helm interface to Clojure's CIDER")
26120 (description "Helm-CIDER adds Helm interfaces to
26121 @command{cider-apropos}, @command{cider-apropos-documentation},
26122 @command{cider-browse-ns} (namespaces).
26123
26124 It also provides original Helm commands: @command{helm-cider-spec},
26125 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
26126 @command{helm-cider-cheatsheet}.")
26127 (license license:gpl3+))))
26128
26129 (define-public emacs-edn
26130 ;; No release since February 2016
26131 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
26132 (package
26133 (name "emacs-edn")
26134 (version (git-version "1.1.2" "1" commit))
26135 (home-page "https://github.com/expez/edn.el")
26136 (source (origin
26137 (method git-fetch)
26138 (uri (git-reference
26139 (url home-page)
26140 (commit commit)))
26141 (file-name (git-file-name name version))
26142 (sha256
26143 (base32
26144 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
26145 (build-system emacs-build-system)
26146 (propagated-inputs
26147 `(("emacs-peg" ,emacs-peg)))
26148 (synopsis "Read and write EDN from Elisp")
26149 (description "This is an Emacs Lisp library for reading and writing the
26150 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
26151 (license license:gpl3+))))
26152
26153 (define-public emacs-helm-clojuredocs
26154 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
26155 (package
26156 (name "emacs-helm-clojuredocs")
26157 (version (git-version "0.3" "1" commit))
26158 (home-page "https://github.com/mbuczko/helm-clojuredocs")
26159 (source (origin
26160 (method git-fetch)
26161 (uri (git-reference
26162 (url home-page)
26163 (commit commit)))
26164 (file-name (git-file-name name version))
26165 (sha256
26166 (base32
26167 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
26168 (build-system emacs-build-system)
26169 (propagated-inputs
26170 `(("emacs-helm" ,emacs-helm)
26171 ("emacs-edn" ,emacs-edn)))
26172 (synopsis "Search help on clojuredocs.org with Helm")
26173 (description "This package provides a Helm interface to lookup Clojure
26174 documentation on @url{https://clojuredocs.org} with Helm.
26175
26176 Two function are exposed:
26177 @itemize
26178 @item @command{helm-clojuredocs}: opens a Helm session with no initial
26179 pattern. Searching starts with minimal 3 characters entered.
26180 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
26181 pattern guessed from thing under current cursor position.
26182 @end itemize\n")
26183 (license license:gpl3+))))
26184
26185 (define-public emacs-helm-selector
26186 (package
26187 (name "emacs-helm-selector")
26188 (version "0.6.1")
26189 (home-page "https://github.com/emacs-helm/helm-selector")
26190 (source
26191 (origin
26192 (method git-fetch)
26193 (uri (git-reference
26194 (url home-page)
26195 (commit version)))
26196 (file-name (git-file-name name version))
26197 (sha256
26198 (base32
26199 "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v"))))
26200 (build-system emacs-build-system)
26201 (propagated-inputs
26202 `(("emacs-helm" ,emacs-helm)))
26203 (synopsis "Convenient related-buffer selection for Emacs Helm")
26204 (description "Helm Selector is a collection of Helm helper functions for
26205 convenient buffer selection.
26206
26207 It is especially helpful to create Helm sessions to navigate buffers of a
26208 given mode in a “do what I mean” fashion:
26209
26210 If current buffer is not of mode X, switch to last buffer of mode X. If
26211 current buffer is of mode X, show a Helm session of all buffers in mode X. In
26212 the Helm session, it’s also possible to input an arbitrary name which will be
26213 used for the creation of a new buffer of mode X.")
26214 (license license:gpl3+)))
26215
26216 (define-public emacs-helm-wordnut
26217 (let ((commit "9681a9535a839cd5d042c302945ae595852fe7bf"))
26218 (package
26219 (name "emacs-helm-wordnut")
26220 (version (git-version "0.1" "1" commit))
26221 (home-page "https://github.com/emacs-helm/helm-wordnut")
26222 (source
26223 (origin
26224 (method git-fetch)
26225 (uri (git-reference
26226 (url home-page)
26227 (commit commit)))
26228 (file-name (git-file-name name version))
26229 (sha256
26230 (base32
26231 "0msj7nbsb363pxamxi7n2z08cp5jizkpjbwia8f5a161wjglrihs"))))
26232 (build-system emacs-build-system)
26233 (inputs
26234 `(("wordnet" ,wordnet)))
26235 (propagated-inputs
26236 `(("emacs-helm" ,emacs-helm)))
26237 (arguments
26238 `(#:phases
26239 (modify-phases %standard-phases
26240 (add-after 'unpack 'configure
26241 (lambda* (#:key inputs #:allow-other-keys)
26242 (let ((wn (assoc-ref inputs "wordnet")))
26243 ;; .el is read-only in git.
26244 (chmod "helm-wordnut.el" #o644)
26245 ;; Specify the absolute file names of the various
26246 ;; programs so that everything works out-of-the-box.
26247 (emacs-substitute-variables "helm-wordnut.el"
26248 ("helm-wordnut-prog" (string-append wn "/bin/wn"))
26249 ("helm-wordnut-wordnet-location"
26250 (string-append wn "/dict")))))))))
26251 (synopsis "Emacs Helm interface for Wordnet")
26252 (description "This package is merely a combination of two other Emacs
26253 packages: @code{helm-wordnet} and @code{wordnut}. It features word completion
26254 with Helm and displays a buffer of all the different result types available to
26255 Wordnet.")
26256 (license license:gpl3+))))
26257
26258 (define-public emacs-metal-mercury-mode
26259 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
26260 (revision "1")
26261 (version "0.0.0"))
26262 (package
26263 (name "emacs-metal-mercury-mode")
26264 (version (git-version version revision commit))
26265 (source
26266 (origin
26267 (method git-fetch)
26268 (uri (git-reference
26269 (url "https://github.com/ahungry/metal-mercury-mode")
26270 (commit commit)))
26271 (sha256
26272 (base32
26273 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
26274 (file-name (git-file-name name version))))
26275 (build-system emacs-build-system)
26276 (propagated-inputs
26277 `(("emacs-dash" ,emacs-dash)))
26278 (synopsis "Major mode for editing Mercury files")
26279 (description
26280 "Major mode for editing Mercury files. This is a rewrite of the original
26281 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
26282 (home-page "https://github.com/ahungry/metal-mercury-mode")
26283 (license license:gpl3+))))
26284
26285 (define-public emacs-boxquote
26286 (package
26287 (name "emacs-boxquote")
26288 (version "2.2")
26289 (source
26290 (origin
26291 (method git-fetch)
26292 (uri (git-reference
26293 (url "https://github.com/davep/boxquote.el")
26294 (commit (string-append "v" version))))
26295 (file-name (git-file-name name version))
26296 (sha256
26297 (base32 "0wwjawgylaaifdsszqxcfsyhfzgxbjkzqhzrnxnr9b16wghb7xf7"))))
26298 (build-system emacs-build-system)
26299 (home-page "https://github.com/davep/boxquote.el")
26300 (synopsis "Quote text with different kinds of boxes")
26301 (description "@code{boxquote} provides a set of functions for using
26302 a text quoting style that partially boxes in the left hand side of an area of
26303 text, such a marking style might be used to show externally included text or
26304 example code.")
26305 (license license:gpl3+)))
26306
26307 (define-public emacs-buffer-move
26308 (package
26309 (name "emacs-buffer-move")
26310 (version "0.6.2")
26311 (source
26312 (origin
26313 (method git-fetch)
26314 (uri (git-reference
26315 (url "https://github.com/lukhas/buffer-move")
26316 (commit version)))
26317 (file-name (git-file-name name version))
26318 (sha256
26319 (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c"))))
26320 (build-system emacs-build-system)
26321 (home-page "https://github.com/lukhas/buffer-move")
26322 (synopsis "Functions for moving Emacs' buffers around")
26323 (description
26324 "This package define functions for swapping buffers between windows
26325 contained in the same frame. An alternate behavior is to have the current
26326 window switch to the previous buffer instead of swapping with the other
26327 window.")
26328 (license license:gpl3+)))
26329
26330 (define-public emacs-company-ebdb
26331 (package
26332 (name "emacs-company-ebdb")
26333 (version "1.1")
26334 (source
26335 (origin
26336 (method url-fetch)
26337 (uri (string-append "https://elpa.gnu.org/packages/"
26338 "company-ebdb-" version ".el"))
26339 (sha256
26340 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
26341 (build-system emacs-build-system)
26342 (propagated-inputs
26343 `(("emacs-company" ,emacs-company)))
26344 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
26345 (synopsis "Company completion backend for EBDB in Message mode")
26346 (description "@code{company-ebdb} provides Company mode integration for
26347 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
26348 by Jan Tatarik.")
26349 (license license:gpl3+)))
26350
26351 (define-public emacs-mwim
26352 ;; Use the latest commit not in a release version as of yet, since it
26353 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
26354 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
26355 (revision "0"))
26356 (package
26357 (name "emacs-mwim")
26358 (version (git-version "0.4" revision commit))
26359 (source
26360 (origin
26361 (method git-fetch)
26362 (uri (git-reference
26363 (url "https://github.com/alezost/mwim.el")
26364 (commit commit)))
26365 (file-name (git-file-name name version))
26366 (sha256
26367 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
26368 (build-system emacs-build-system)
26369 (home-page "https://github.com/alezost/mwim.el")
26370 (synopsis "Move to the beginning/end of line, code or comment")
26371 (description "@code{mwim} provides several commands to switch between
26372 various line positions, like moving to the beginning/end of code, line, or
26373 comment.")
26374 (license license:gpl3+))))
26375
26376 (define-public emacs-delight
26377 (package
26378 (name "emacs-delight")
26379 (version "1.7")
26380 (source
26381 (origin
26382 (method url-fetch)
26383 (uri (string-append "https://elpa.gnu.org/packages/"
26384 "delight-" version ".el"))
26385 (sha256
26386 (base32 "0pihsghrf9xnd1kqlq48qmjcmp5ra95wwwgrb3l8m1wagmmc0bi1"))))
26387 (build-system emacs-build-system)
26388 (home-page "https://elpa.gnu.org/packages/delight.html")
26389 (synopsis "Dimmer switch for your mode-line lighter text")
26390 (description "@code{delight} enables customizing or hiding the
26391 mode-line text (lighter) of major and minor modes.")
26392 (license license:gpl3+)))
26393
26394 (define-public emacs-unkillable-scratch
26395 ;; Use the latest (unreleased) commit as of now, since it contains a handy
26396 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
26397 ;; repopulate the scratch buffer with `initial-scratch-message'.
26398 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
26399 (revision "0"))
26400 (package
26401 (name "emacs-unkillable-scratch")
26402 (version (git-version "1.0.0" revision commit))
26403 (source
26404 (origin
26405 (method git-fetch)
26406 (uri (git-reference
26407 (url "https://github.com/EricCrosson/unkillable-scratch")
26408 (commit commit)))
26409 (file-name (git-file-name name version))
26410 (sha256
26411 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
26412 (build-system emacs-build-system)
26413 (home-page "https://github.com/EricCrosson/unkillable-scratch")
26414 (synopsis "Prevents the *scratch* buffer from being killed")
26415 (description "@code{unkillable-scratch} helps prevent killing buffers
26416 matching a given regexp.")
26417 (license license:gpl2+))))
26418
26419 (define-public emacs-switch-buffer-functions
26420 (package
26421 (name "emacs-switch-buffer-functions")
26422 (version "0.0.1")
26423 (source
26424 (origin
26425 (method git-fetch)
26426 (uri (git-reference
26427 (url "https://github.com/10sr/switch-buffer-functions-el")
26428 (commit (string-append "v" version))))
26429 (file-name (git-file-name name version))
26430 (sha256
26431 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
26432 (build-system emacs-build-system)
26433 (home-page "https://github.com/10sr/switch-buffer-functions-el")
26434 (synopsis "Hooks run when switching current buffer")
26435 (description "This package provides a hook variable
26436 @code{switch-buffer-functions}. The hooks will be run when the current buffer
26437 is changed after an interactive command, i.e., when @code{post-command-hook}
26438 hooks are run. The hooked functions will be called with both the previous and
26439 the current buffer.")
26440 (license license:unlicense)))
26441
26442 (define-public emacs-erc-scrolltoplace
26443 (package
26444 (name "emacs-erc-scrolltoplace")
26445 (version "0.1.0")
26446 (source
26447 (origin
26448 (method git-fetch)
26449 (uri (git-reference
26450 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
26451 (commit version)))
26452 (file-name (git-file-name name version))
26453 (sha256
26454 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
26455 (build-system emacs-build-system)
26456 (propagated-inputs
26457 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
26458 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
26459 (synopsis "ERC module to replace scrolltobottom while using keep-place")
26460 (description "@code{erc-scrolltoplace} is an ERC module to try
26461 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
26462 (license license:gpl3+)))
26463
26464 (define-public emacs-dmenu
26465 ;; Use the latest commit, as there are no tagged releases.
26466 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
26467 (revision "0"))
26468 (package
26469 (name "emacs-dmenu")
26470 (version (git-version "0.1" revision commit))
26471 (source
26472 (origin
26473 (method git-fetch)
26474 (uri (git-reference
26475 (url "https://github.com/lujun9972/el-dmenu")
26476 (commit commit)))
26477 (file-name (git-file-name name version))
26478 (sha256
26479 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
26480 (build-system emacs-build-system)
26481 (home-page "https://github.com/lujun9972/el-dmenu")
26482 (synopsis "Simulate the @command{dmenu} command line program")
26483 (description "This package provides a @command{dmenu} command for
26484 launching other commands/applications from within Emacs, similar to the
26485 @command{dmenu} program. This is especially useful when using EXWM.")
26486 (license license:gpl3+))))
26487
26488 (define-public emacs-no-littering
26489 (package
26490 (name "emacs-no-littering")
26491 (version "1.2.1")
26492 (source
26493 (origin
26494 (method git-fetch)
26495 (uri (git-reference
26496 (url "https://github.com/emacscollective/no-littering")
26497 (commit (string-append "v" version))))
26498 (file-name (git-file-name name version))
26499 (sha256
26500 (base32 "00chkzpjcdll907vpzfzmf9p3jprisnr8i0h1x5gixidwbfc2whi"))))
26501 (build-system emacs-build-system)
26502 (home-page "https://github.com/emacscollective/no-littering")
26503 (synopsis "Help keep @file{~/.emacs.d/} clean")
26504 (description "The default paths used to store configuration files and
26505 persistent data are not consistent across Emacs packages, be them built-in or
26506 third-party ones. @code{no-littering} sets out to help clean
26507 @file{~/.emacs.d/} by putting configuration files and persistent data files in
26508 two user-defined directories, as well as using more descriptive names for
26509 files and subdirectories when appropriate.")
26510 (license license:gpl3+)))
26511
26512 (define-public emacs-meson-mode
26513 (package
26514 (name "emacs-meson-mode")
26515 (version "0.3")
26516 (source
26517 (origin
26518 (method git-fetch)
26519 (uri (git-reference
26520 (url "https://github.com/wentasah/meson-mode")
26521 (commit (string-append "v" version))))
26522 (file-name (git-file-name name version))
26523 (sha256
26524 (base32 "0hlqvq3j4f6g16nj3bm2wbkncn8hv8c8iqd0sch3w80wwqnr622y"))))
26525 (build-system emacs-build-system)
26526 (home-page "https://github.com/wentasah/meson-mode")
26527 (synopsis "Major mode for Meson build system files")
26528 (description
26529 "This is an Emacs major mode for Meson build system files. Syntax
26530 highlighting works reliably. Indentation works too, but there are probably
26531 cases where it breaks.")
26532 (license license:gpl3+)))
26533
26534 (define-public emacs-message-x
26535 ;; Use the latest commit, as there are no tagged releases.
26536 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
26537 (revision "0"))
26538 (package
26539 (name "emacs-message-x")
26540 (version (git-version "1.23" revision commit))
26541 (source
26542 (origin
26543 (method git-fetch)
26544 (uri (git-reference
26545 (url "https://github.com/emacsmirror/message-x")
26546 (commit commit)))
26547 (file-name (git-file-name name version))
26548 (sha256
26549 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
26550 (build-system emacs-build-system)
26551 (home-page "https://www.emacswiki.org/emacs/message-x.el")
26552 (synopsis "Customizable completion in message headers")
26553 (description "@code{message-x} assigns a context-sensitive function to
26554 the TAB key in Message mode. When on a header line, it performs completion
26555 based on which header we are in (for example, newsgroup name completion makes
26556 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
26557 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
26558 executes a different function (default: @code{indent-relative}).")
26559 (license license:gpl2+))))
26560
26561 (define-public emacs-glsl-mode
26562 ;; No tag, version grabbed from source .el file.
26563 (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
26564 (revision "0"))
26565 (package
26566 (name "emacs-glsl-mode")
26567 (version (git-version "2.4" revision commit))
26568 (source
26569 (origin
26570 (method git-fetch)
26571 (uri (git-reference
26572 (url "https://github.com/jimhourihan/glsl-mode")
26573 (commit commit)))
26574 (file-name (git-file-name name version))
26575 (sha256
26576 (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
26577 (build-system emacs-build-system)
26578 (home-page "https://github.com/jimhourihan/glsl-mode")
26579 (synopsis "Major mode for Open GLSL shader files")
26580 (description
26581 "This package provides a major mode for editing OpenGLSL grammar files,
26582 usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or
26583 @file{.geom}. It is based on C mode plus some features and pre-specified
26584 fontifications.")
26585 (license license:gpl3+))))
26586
26587 (define-public emacs-gnus-harvest
26588 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
26589 (revision "0"))
26590 (package
26591 (name "emacs-gnus-harvest")
26592 (version (git-version "1.0" revision commit))
26593 (source
26594 (origin
26595 (method git-fetch)
26596 (uri (git-reference
26597 (url "https://github.com/jwiegley/gnus-harvest")
26598 (commit commit)))
26599 (file-name (git-file-name name version))
26600 (sha256
26601 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
26602 (build-system emacs-build-system)
26603 (inputs
26604 `(("sqlite" ,sqlite)))
26605 (arguments
26606 `(#:phases
26607 (modify-phases %standard-phases
26608 (add-before 'build 'patch-exec-paths
26609 (lambda* (#:key inputs #:allow-other-keys)
26610 (let ((sqlite (assoc-ref inputs "sqlite"))
26611 (file "gnus-harvest.el"))
26612 (make-file-writable file)
26613 (emacs-substitute-variables file
26614 ("gnus-harvest-sqlite-program"
26615 (string-append sqlite "/bin/sqlite3"))))
26616 #t)))))
26617 (home-page "https://github.com/jwiegley/gnus-harvest")
26618 (synopsis
26619 "Harvest email addresses from read/written Gnus articles")
26620 (description "@code{gnus-harvest} notices email address in every message
26621 or post you read or write, and collects them in a SQLite database, which can
26622 be easily and quickly queried to determine the completion list. It optionally
26623 uses BBDB and Message-X.")
26624 (license license:gpl3+))))
26625
26626 (define-public emacs-auto-dictionary-mode
26627 (package
26628 (name "emacs-auto-dictionary-mode")
26629 (version "1.1")
26630 (source
26631 (origin
26632 (method git-fetch)
26633 (uri (git-reference
26634 (url "https://github.com/nschum/auto-dictionary-mode")
26635 (commit version)))
26636 (file-name (git-file-name name version))
26637 (sha256
26638 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
26639 (build-system emacs-build-system)
26640 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
26641 (synopsis "Automatic dictionary switcher for Emacs spell checking")
26642 (description "@code{auto-dictionary} is a minor mode that hooks into
26643 Flyspell's on-the-fly spell checking and extends these checks to also detect
26644 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
26645 detected language.")
26646 (license license:gpl2+)))
26647
26648 (define-public emacs-persist
26649 (package
26650 (name "emacs-persist")
26651 (version "0.4")
26652 (source
26653 (origin
26654 (method url-fetch)
26655 (uri (string-append "https://elpa.gnu.org/packages/"
26656 "persist-" version ".tar"))
26657 (sha256
26658 (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
26659 (build-system emacs-build-system)
26660 (home-page "http://elpa.gnu.org/packages/persist.html")
26661 (synopsis "Persist variables between Emacs sessions")
26662 (description
26663 "This package provides variables which persist across sessions.
26664 Values are stored in a directory in @code{user-emacs-directory}, using
26665 one file per value. This makes it easy to delete or remove unused
26666 variables.")
26667 (license license:gpl3+)))
26668
26669 (define-public emacs-company-emoji
26670 (package
26671 (name "emacs-company-emoji")
26672 (version "2.6.1")
26673 (source
26674 (origin
26675 (method git-fetch)
26676 (uri (git-reference
26677 (url "https://github.com/dunn/company-emoji/")
26678 (commit version)))
26679 (file-name (git-file-name name version))
26680 (sha256
26681 (base32 "1rhf2hr345953mkn52i58aiq8j16ps2ckapd5f7jxmhkcpzxxfhk"))))
26682 (build-system emacs-build-system)
26683 (propagated-inputs
26684 `(("emacs-company" ,emacs-company)))
26685 (home-page "https://github.com/dunn/company-emoji/")
26686 (synopsis "Company completion back-end for emoji")
26687 (description
26688 "This library is a Company back-end providing auto-completion for
26689 emoji.")
26690 (license license:gpl3+)))
26691
26692 (define-public emacs-exiftool
26693 (package
26694 (name "emacs-exiftool")
26695 (version "0.3.2")
26696 (source
26697 (origin
26698 (method git-fetch)
26699 (uri (git-reference
26700 (url "https://git.systemreboot.net/exiftool.el/")
26701 (commit (string-append "v" version))))
26702 (file-name (git-file-name name version))
26703 (sha256
26704 (base32
26705 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
26706 (build-system emacs-build-system)
26707 (arguments
26708 `(#:tests? #t
26709 #:test-command '("make" "-C" "tests")
26710 #:phases
26711 (modify-phases %standard-phases
26712 (add-after 'unpack 'configure
26713 (lambda* (#:key inputs #:allow-other-keys)
26714 (make-file-writable "exiftool.el")
26715 (emacs-substitute-variables "exiftool.el"
26716 ("exiftool-executable"
26717 (string-append (assoc-ref inputs "perl-image-exiftool")
26718 "/bin/exiftool")))
26719 #t)))))
26720 (inputs
26721 `(("perl-image-exiftool" ,perl-image-exiftool)))
26722 (home-page "https://git.systemreboot.net/exiftool.el/about/")
26723 (synopsis "Elisp wrapper around ExifTool")
26724 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
26725 ExifTool supports reading and writing metadata in various formats including
26726 EXIF, XMP and IPTC.")
26727 (license license:gpl3+)))
26728
26729 (define-public emacs-password-generator
26730 (package
26731 (name "emacs-password-generator")
26732 (version "1.01")
26733 (home-page "https://github.com/zargener/emacs-password-genarator")
26734 (source
26735 (origin
26736 (method git-fetch)
26737 (uri (git-reference
26738 (url home-page)
26739 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
26740 (file-name (git-file-name name version))
26741 (sha256
26742 (base32
26743 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
26744 (build-system emacs-build-system)
26745 (synopsis "Generate passwords inside Emacs")
26746 (description "@code{emacs-password-generator} provides simple functions to
26747 generate random passwords and insert them into the current buffer. It also
26748 supports generation of phonetic and numeric passwords.")
26749 (license license:artistic2.0)))
26750
26751 (define-public emacs-csv
26752 (package
26753 (name "emacs-csv")
26754 (version "2.1")
26755 (home-page "https://gitlab.com/u11/csv.el")
26756 (source
26757 (origin
26758 (method git-fetch)
26759 (uri (git-reference
26760 (url home-page)
26761 (commit (string-append "V" version))))
26762 (file-name (git-file-name name version))
26763 (sha256
26764 (base32
26765 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
26766 (build-system emacs-build-system)
26767 (synopsis "Elisp functions for reading and parsing CSV files")
26768 (description
26769 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
26770 Comma-Separated Values} files. It follows the format as defined in RFC 4180
26771 @emph{Common Format and MIME Type for CSV
26772 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
26773 (license license:gpl3+)))
26774
26775 (define-public emacs-org-journal
26776 (package
26777 (name "emacs-org-journal")
26778 (version "2.1.2")
26779 (source
26780 (origin
26781 (method git-fetch)
26782 (uri (git-reference
26783 (url "https://github.com/bastibe/org-journal")
26784 (commit version)))
26785 (file-name (git-file-name name version))
26786 (sha256
26787 (base32 "0s82sh2svc0mzr1ak414n5r2j0dmwvvyx4swk2c61zivc2gjd778"))))
26788 (build-system emacs-build-system)
26789 (home-page "https://github.com/bastibe/org-journal")
26790 (synopsis "Simple Org mode journaling mode")
26791 (description
26792 "Org Journal is a set of functions to maintain a simple personal diary /
26793 journal using in Emacs, adapted from
26794 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
26795 allow the creation of journal records in the current daily, weekly, monthly or
26796 yearly file and search within all records or specified time intervals. All
26797 records can be browsed and searched from the Emacs Calendar for convenience.
26798 All entries in a specified TODO state will be carried over to the next day.")
26799 (license license:bsd-3)))
26800
26801 (define-public emacs-org-static-blog
26802 (package
26803 (name "emacs-org-static-blog")
26804 (version "1.4.0")
26805 (source
26806 (origin
26807 (method git-fetch)
26808 (uri (git-reference
26809 (url "https://github.com/bastibe/org-static-blog")
26810 (commit version)))
26811 (file-name (git-file-name name version))
26812 (sha256
26813 (base32 "00yhgxg87mfaflrkh0i905hr873yd03a7znw5hkrps43zxha9kb9"))))
26814 (build-system emacs-build-system)
26815 (home-page "https://github.com/bastibe/org-static-blog")
26816 (synopsis
26817 "Simple Org mode based static blog generator")
26818 (description
26819 "@code{emacs-org-static-blog} is one more static blog generator, it
26820 focuses on being simple. All files are simple Org files in a directory. The
26821 only requirement is that every Org file must have a @samp{title} and
26822 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
26823 (license license:bsd-3)))
26824
26825 (define-public emacs-ddskk
26826 ;; XXX: Upstream adds code names to their release tags, so version and code
26827 ;; name below need to be updated together.
26828 (let ((version "17.1")
26829 (code-name "Neppu"))
26830 (package
26831 (name "emacs-ddskk")
26832 (version version)
26833 (source
26834 (origin
26835 (method git-fetch)
26836 (uri (git-reference
26837 (url "https://github.com/skk-dev/ddskk")
26838 (commit (string-append "ddskk-" version "_" code-name))))
26839 (file-name (git-file-name name version))
26840 (sha256
26841 (base32 "0xm53rybxki2784gyjkafg6956viyhhcq51kbmnrwc6aw3yzh7aw"))))
26842 (build-system gnu-build-system)
26843 (arguments
26844 `(#:modules ((guix build gnu-build-system)
26845 (guix build utils)
26846 (guix build emacs-utils))
26847 #:imported-modules (,@%gnu-build-system-modules
26848 (guix build emacs-utils))
26849 #:test-target "test"
26850 #:phases
26851 (modify-phases %standard-phases
26852 (replace 'configure
26853 (lambda* (#:key outputs #:allow-other-keys)
26854 (make-file-writable "SKK-MK")
26855 (emacs-substitute-variables "SKK-MK"
26856 ("PREFIX" (assoc-ref outputs "out"))
26857 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
26858 ("SKK_PREFIX" "")
26859 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
26860 (for-each make-file-writable (find-files "./doc"))
26861 #t))
26862 (add-after 'unpack 'fix-test
26863 (lambda _
26864 (substitute* "Makefile"
26865 (("/bin/rm") (which "rm"))))))))
26866 (native-inputs
26867 `(("emacs-minimal" ,emacs-minimal)
26868 ("ruby" ,ruby)))
26869 (home-page "https://github.com/skk-dev/ddskk")
26870 (synopsis "Simple Kana to Kanji conversion program")
26871 (description
26872 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
26873 conversion program}, a Japanese input method on Emacs.")
26874 (license license:gpl2+))))
26875
26876 (define-public emacs-objed
26877 (package
26878 (name "emacs-objed")
26879 (version "0.8.3")
26880 (source
26881 (origin
26882 (method url-fetch)
26883 (uri (string-append
26884 "https://elpa.gnu.org/packages/objed-" version ".tar"))
26885 (sha256
26886 (base32
26887 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
26888 (build-system emacs-build-system)
26889 (home-page "https://github.com/clemera/objed")
26890 (synopsis "Navigate and edit text objects")
26891 (description
26892 "@code{emacs-objed} allows navigating and editing text objects. It
26893 enables modal editing and composition of commands, too. It combines ideas of
26894 other Editors like Vim or Kakoune and tries to align them with regular Emacs
26895 conventions.")
26896 (license license:gpl3+)))
26897
26898 (define-public emacs-haskell-snippets
26899 ;; The commit below is 5 commits ahead of release, and includes a build fix.
26900 (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
26901 (package
26902 (name "emacs-haskell-snippets")
26903 (version (git-version "0.1.0" "0" commit))
26904 (source
26905 (origin
26906 (method git-fetch)
26907 (uri
26908 (git-reference
26909 (url "https://github.com/haskell/haskell-snippets")
26910 (commit commit)))
26911 (file-name (git-file-name name version))
26912 (sha256
26913 (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
26914 (build-system emacs-build-system)
26915 (arguments
26916 `(#:phases
26917 (modify-phases %standard-phases
26918 (add-after 'install 'install-snippets
26919 (lambda* (#:key outputs #:allow-other-keys)
26920 (let* ((out (assoc-ref outputs "out"))
26921 (snippets
26922 (string-append
26923 out "/share/emacs/site-lisp/snippets/haskell-mode")))
26924 (mkdir-p snippets)
26925 (copy-recursively "snippets/haskell-mode" snippets)
26926 #t))))))
26927 (propagated-inputs
26928 `(("emacs-yasnippet" ,emacs-yasnippet)))
26929 (home-page "https://github.com/haskell/haskell-snippets")
26930 (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
26931 (description "Haskell-Snippets is a collection of YASnippet Haskell
26932 snippets for Emacs.")
26933 (license license:expat))))
26934
26935 (define-public emacs-org-roam
26936 (let ((commit "8ad57b121831eda8d226faa14ff2ba7ab652849c")
26937 (revision "0")
26938 (version "1.2.3"))
26939 (package
26940 (name "emacs-org-roam")
26941 (version (git-version version revision commit))
26942 (source
26943 (origin
26944 (method git-fetch)
26945 (uri (git-reference
26946 (url "https://github.com/org-roam/org-roam")
26947 (commit commit)))
26948 (file-name (git-file-name name version))
26949 (sha256
26950 (base32 "162qhb6rkpl1n0l8yhnwgagsx56ykaj9lchsny1id5z1257kgw9w"))))
26951 (build-system emacs-build-system)
26952 (propagated-inputs
26953 `(("emacs-dash" ,emacs-dash)
26954 ("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3)
26955 ("emacs-f" ,emacs-f)
26956 ("emacs-org" ,emacs-org)
26957 ("emacs-s" ,emacs-s)))
26958 (home-page "https://github.com/org-roam/org-roam/")
26959 (synopsis "Non-hierarchical note-taking with Org mode")
26960 (description "Emacs Org Roam is a solution for taking non-hierarchical
26961 notes with Org mode. Notes are captured without hierarchy and are connected
26962 by tags. Notes can be found and created quickly. Org Roam should also work
26963 as a plug-and-play solution for anyone already using Org mode for their
26964 personal wiki.")
26965 (license license:gpl3+))))
26966
26967 (define-public emacs-org-roam-bibtex
26968 (package
26969 (name "emacs-org-roam-bibtex")
26970 (version "0.4.0")
26971 (source
26972 (origin
26973 (method git-fetch)
26974 (uri (git-reference
26975 (url "https://github.com/org-roam/org-roam-bibtex")
26976 (commit (string-append "v" version))))
26977 (file-name (git-file-name name version))
26978 (sha256
26979 (base32 "13pll793khyfncpwm2dg24w747sqp7kgf7m3fqw2xzhv9cx2g7nq"))))
26980 (build-system emacs-build-system)
26981 (propagated-inputs
26982 `(("emacs-helm-bibtex" ,emacs-helm-bibtex)
26983 ("emacs-org-ref" ,emacs-org-ref)
26984 ("emacs-org-roam" ,emacs-org-roam)))
26985 (home-page "https://github.com/org-roam/org-roam-bibtex")
26986 (synopsis "Connector between Org Roam, BibTeX-completion, and Org Ref")
26987 (description
26988 "Org Roam BibTeX is a library which offers a tighter integration between
26989 Org Roam, Helm-BibTeX, and Org Ref. It allows users to access their
26990 bibliographical notes in Org Roam directory via Helm BibTeX, Ivy BibTeX, or by
26991 opening Org Ref's @code{cite:} links.")
26992 (license license:gpl3+)))
26993
26994 (define-public emacs-org-generate
26995 (package
26996 (name "emacs-org-generate")
26997 (version "1.0.0")
26998 (source (origin
26999 (method git-fetch)
27000 (uri (git-reference
27001 (url "https://github.com/conao3/org-generate.el")
27002 (commit (string-append "v" version))))
27003 (file-name (git-file-name name version))
27004 (sha256
27005 (base32
27006 "0z2frp5mn3lp2xskwanw2rncrwa50x3aphy87vfxmhx4fqlqrzy8"))))
27007 (inputs
27008 `(("emacs-cort" ,emacs-cort))) ;tests suite
27009 (propagated-inputs
27010 `(("emacs-mustache" ,emacs-mustache)))
27011 (arguments
27012 `(#:tests? #t
27013 #:test-command '("emacs" "--batch" "--quick"
27014 "--directory=." "--load=org-generate-tests.el"
27015 "--funcall=cort-test-run")))
27016 (build-system emacs-build-system)
27017 (home-page "https://github.com/conao3/org-generate.el")
27018 (synopsis "Generate template files and folders from Org document")
27019 (description "This package generates files and folders from Emacs
27020 org-mode templates.")
27021 (license license:gpl3+)))
27022
27023 (define-public emacs-uml-mode
27024 ;; Package has no release. Version is extracted from "Version:" keyword in
27025 ;; main file.
27026 (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200")
27027 (revision "1"))
27028 (package
27029 (name "emacs-uml-mode")
27030 (version (git-version "0.0.4" revision commit))
27031 (source
27032 (origin
27033 (method git-fetch)
27034 (uri (git-reference
27035 (url "https://github.com/ianxm/emacs-uml")
27036 (commit commit)))
27037 (file-name (git-file-name name version))
27038 (sha256
27039 (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka"))))
27040 (build-system emacs-build-system)
27041 (home-page "https://github.com/ianxm/emacs-uml")
27042 (synopsis "Minor mode for editing ASCII UML sequence diagrams")
27043 (description "Emacs UML mode is a minor mode that makes it easy to build
27044 ASCII UML sequence diagrams in Emacs, which can be embedded in source code,
27045 comments or emails.")
27046 (license license:gpl3+))))
27047
27048 (define-public emacs-trashed
27049 (package
27050 (name "emacs-trashed")
27051 (version "2.1.2")
27052 (source
27053 (origin
27054 (method git-fetch)
27055 (uri (git-reference
27056 (url "https://github.com/shingo256/trashed/")
27057 (commit version)))
27058 (file-name (git-file-name name version))
27059 (sha256
27060 (base32 "0lfza55nbb62nmr27cwpcz2ad1vm95piq4nfd8zvkwqbn6klwmm6"))))
27061 (build-system emacs-build-system)
27062 (home-page "https://github.com/shingo256/trashed/")
27063 (synopsis "View and edit system trash can in Emacs")
27064 (description "Open, view, browse, restore or permanently delete trashed
27065 files or directories in trash can with Dired-like look and feel. The trash
27066 can has to be compliant with freedesktop.org. In Emacs, you can trash files by
27067 deleting them with @code{(setq delete-by-moving-to-trash t)}. This package
27068 provides a simple but convenient user interface to manage those trashed
27069 files.")
27070 (license license:gpl3+)))
27071
27072 (define-public emacs-plantuml-mode
27073 (package
27074 (name "emacs-plantuml-mode")
27075 (version "1.4.1")
27076 (source
27077 (origin
27078 (method git-fetch)
27079 (uri (git-reference
27080 (url "https://github.com/skuro/plantuml-mode")
27081 (commit (string-append "v" version))))
27082 (file-name (git-file-name name version))
27083 (sha256
27084 (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc"))))
27085 (arguments
27086 '(#:phases
27087 (modify-phases %standard-phases
27088 (add-after 'unpack 'use-local-plantuml
27089 (lambda* (#:key inputs #:allow-other-keys)
27090 (let ((plantuml (assoc-ref inputs "plantuml"))
27091 (file "plantuml-mode.el"))
27092 (chmod file #o644)
27093 (emacs-substitute-variables file
27094 ("plantuml-jar-path"
27095 (string-append plantuml "/share/java/plantuml.jar"))
27096 ("plantuml-executable-path"
27097 (string-append plantuml "/bin/plantuml"))
27098 ("plantuml-server-url" 'nil)
27099 ("plantuml-default-exec-mode" ''executable))
27100 (emacs-batch-edit-file file
27101 `(progn (progn
27102 (goto-char (point-min))
27103 (re-search-forward "(defun plantuml-download-jar")
27104 (beginning-of-line)
27105 (kill-sexp))
27106 (basic-save-buffer)))
27107 #t))))))
27108 (inputs
27109 `(("plantuml" ,plantuml)))
27110 (propagated-inputs
27111 `(("emacs-dash" ,emacs-dash)))
27112 (build-system emacs-build-system)
27113 (home-page "https://github.com/skuro/plantuml-mode")
27114 (synopsis "Major mode for editing PlantUML sources")
27115 (description "This package provides a major mode for editing PlantUML
27116 sources. It features syntax highlighting, autocompletion, preview of buffer
27117 or region and use of locally installed binaries.")
27118 (license license:gpl3+)))
27119
27120 (define-public emacs-execline
27121 (package
27122 (name "emacs-execline")
27123 (version "1.1")
27124 (source (origin
27125 (method git-fetch)
27126 (uri (git-reference
27127 (url "https://gitlab.com/KAction/emacs-execline/")
27128 (commit (string-append "v" version))))
27129 (file-name (git-file-name name version))
27130 (sha256
27131 (base32
27132 "02q531c9wvdwflhggflnci4a36h2bb90bq25bbhw6i2lvrd9sk55"))))
27133 (build-system emacs-build-system)
27134 (propagated-inputs
27135 `(("emacs-s" ,emacs-s)))
27136 (arguments
27137 `(#:tests? #t
27138 #:test-command '("emacs" "-Q" "-batch" "-L" "."
27139 "-l" "t/indent.el"
27140 "-f" "ert-run-tests-batch-and-exit")))
27141 (home-page "https://gitlab.com/KAction/emacs-execline/")
27142 (synopsis "Major Emacs mode for editing execline scripts")
27143 (description
27144 "This package provides a major mode for editing execline scripts.
27145
27146 Features:
27147 @itemize
27148 @item Syntax highlighting of commends, builtin commands and variable substitution.
27149 @item Completion of builtin commands.
27150 @item Working @code{comment-region} command.
27151 @item Indentation of blocks.
27152 @item Automatic enable of mode in @file{*.exec} files.
27153 @item Automatic enable of mode in files with @code{execlineb} interpreter.
27154 @end itemize\n")
27155 (license license:gpl3+)))
27156
27157 (define-public emacs-shell-command+
27158 (package
27159 (name "emacs-shell-command+")
27160 (version "2.1.0")
27161 (source (origin
27162 (method url-fetch)
27163 (uri (string-append "https://elpa.gnu.org/packages/"
27164 "shell-command+-" version ".tar"))
27165 (sha256
27166 (base32 "1jyrnv89989bi03m5h8dj0cllsw3rvyxkiyfrh9v6gpxjwfy8lmq"))))
27167 (build-system emacs-build-system)
27168 (home-page "http://elpa.gnu.org/packages/shell-command+.html")
27169 (synopsis "Extended Emacs @code{shell-command}")
27170 (description
27171 "Shell-command+ is a @code{shell-command} substitute that extends the
27172 regular Emacs command with several features. You can for example count all
27173 the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
27174 the selected region with @code{| tr -d a-z}.")
27175 (license license:gpl3+)))
27176
27177 (define-public emacs-shell-pop
27178 (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
27179 (revision "0"))
27180 (package
27181 (name "emacs-shell-pop")
27182 (version (git-version "0.64" revision commit))
27183 (source
27184 (origin
27185 (method git-fetch)
27186 (uri (git-reference
27187 (url "https://github.com/kyagi/shell-pop-el")
27188 (commit commit)))
27189 (file-name (git-file-name name version))
27190 (sha256
27191 (base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
27192 (build-system emacs-build-system)
27193 (home-page "https://github.com/kyagi/shell-pop-el")
27194 (synopsis "Utility which helps with pop up shell buffer")
27195 (description
27196 "This Emacs utility helps you pop up and pop out shell buffer window
27197 easily. Four pre-set options are: @samp{shell}, @samp{terminal},
27198 @samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
27199 you use some other configuration.")
27200 (license license:gpl3+))))
27201
27202 (define-public emacs-extmap
27203 (package
27204 (name "emacs-extmap")
27205 (version "1.1.1")
27206 (source
27207 (origin
27208 (method git-fetch)
27209 (uri (git-reference
27210 (url "https://github.com/doublep/extmap")
27211 (commit version)))
27212 (file-name (git-file-name name version))
27213 (sha256
27214 (base32
27215 "09kia3mr4si8kn46kyiza9nl669b22vmgc70ng3mqz742lph5siw"))))
27216 (build-system emacs-build-system)
27217 (home-page "https://github.com/doublep/extmap")
27218 (synopsis "Externally-stored constant mapping for Emacs Lisp")
27219 (description "A very simple package that lets you build a
27220 read-only, constant database that maps Emacs Lisp symbols to
27221 arbitrary Emacs Lisp objects.")
27222 (license license:gpl3+)))
27223
27224 (define-public emacs-csound-mode
27225 (package
27226 (name "emacs-csound-mode")
27227 (version "0.2.1")
27228 (source
27229 (origin
27230 (method git-fetch)
27231 (uri (git-reference
27232 (url "https://github.com/hlolli/csound-mode")
27233 (commit version)))
27234 (file-name (git-file-name name version))
27235 (sha256
27236 (base32
27237 "1c88ak0jaj51fwiqniqxd7xyk23wjl9m57znzm8j267ld8g12znp"))))
27238 (build-system emacs-build-system)
27239 (arguments
27240 `(#:phases
27241 (modify-phases %standard-phases
27242 (add-after 'unpack 'disable-breaking-compilation
27243 (lambda _
27244 (for-each (lambda (file)
27245 (chmod file #o600) ; needed to write changes.
27246 (emacs-batch-disable-compilation file))
27247 '("csound-font-lock.el"))
27248 #t)))))
27249 (inputs
27250 `(("emacs-highlight" ,emacs-highlight)
27251 ("emacs-multi" ,emacs-multi)
27252 ("emacs-shut-up" ,emacs-shut-up)))
27253 (home-page "https://github.com/hlolli/csound-mode")
27254 (synopsis "Emacs major mode for coding in CSound")
27255 (description "Provides both a basic major mode for editing
27256 CSound files, as well as a REPL for fast feedback when composing
27257 and sound-designing.")
27258 (license license:gpl3+)))
27259
27260 (define-public emacs-multi
27261 (package
27262 (name "emacs-multi")
27263 (version "2.0.1")
27264 (source
27265 (origin
27266 (method git-fetch)
27267 (uri (git-reference
27268 (url "https://github.com/kurisuwhyte/emacs-multi")
27269 (commit (string-append "v" version))))
27270 (file-name (git-file-name name version))
27271 (sha256
27272 (base32
27273 "11zabs7qpdhri6n90ck7pgwcbz46d813nyl73h5m1i8jvz1wzx7v"))))
27274 (build-system emacs-build-system)
27275 (home-page "https://github.com/kurisuwhyte/emacs-multi")
27276 (synopsis "Clojure-style multi-methods for Emacs Lisp")
27277 (description "Provides Emacs Lisp with a form of polymorphism
27278 by way of predicate dispatching. Methods consist of a dispatch
27279 function, and a series of branches. The dispatch function is
27280 applied to the arguments, and the result value is checked against
27281 the expectations of each branch to define which one to invoke.")
27282 (license license:expat)))
27283
27284 (define-public emacs-highlight
27285 (let ((commit "9258a2b8362d737115cbd87618f947eadb140411")
27286 (revision "1"))
27287 (package
27288 (name "emacs-highlight")
27289 (version "0.0.0")
27290 (source
27291 (origin
27292 (method git-fetch)
27293 (uri (git-reference
27294 (url "https://github.com/emacsmirror/highlight/")
27295 (commit commit)))
27296 (file-name (git-file-name name commit))
27297 (sha256
27298 (base32
27299 "0pbqzgbfkm8smi23j94hirxh2r1yc0ipyjbbv1y906br6bx5c1a8"))))
27300 (build-system emacs-build-system)
27301 (home-page "https://github.com/emacsmirror/highlight")
27302 (synopsis "Highlighting commands for GNU Emacs")
27303 (description "This library adds the possibility for ad-hoc
27304 applying highlighting to any face in GNU Emacs. The functionality
27305 of this library depends on overlays, which by default are not
27306 picked up when copy-pasting text from buffer to buffer.")
27307 (license license:gpl2+))))
27308
27309 (define-public emacs-org-webring
27310 (package
27311 (name "emacs-org-webring")
27312 (version "2.0.0")
27313 (source
27314 (origin
27315 (method git-fetch)
27316 (uri (git-reference
27317 (url "https://git.sr.ht/~brettgilio/org-webring")
27318 (commit version)))
27319 (file-name (git-file-name name version))
27320 (sha256
27321 (base32
27322 "1si0jah7n2gvlvghjy5dpannqpkxni5rczfp1x2a4z6ydalr3bn5"))))
27323 (build-system emacs-build-system)
27324 (arguments
27325 `(#:phases
27326 (modify-phases %standard-phases
27327 (add-after 'install 'install-assets
27328 (lambda* (#:key outputs #:allow-other-keys)
27329 (let* ((out (assoc-ref outputs "out"))
27330 (assets
27331 (string-append out "/share/emacs/org-webring-assets")))
27332 (mkdir-p assets)
27333 (copy-recursively "assets" assets)
27334 #t))))))
27335 (propagated-inputs
27336 `(("emacs-xmlgen" ,emacs-xmlgen)))
27337 (home-page "https://sr.ht/~brettgilio/org-webring")
27338 (synopsis "Generate webrings for Org-based sites / blogs")
27339 (description "Org-webring is an alternative implementation of a
27340 feed-based webring, taking inspiration from openring by Drew DeVault.
27341 Intended to integrate with Org-based websites and blogs (either
27342 directly, or indirectly, as in ox-hugo), it will fetch a given list of
27343 web feed files and correctly parse and format the elements to be
27344 displayed for sharing.")
27345 (license license:gpl3+)))
27346
27347 (define-public emacs-scpaste
27348 (let ((commit "cd4fa0aafecd839736e0b6cba68b4fc4d7045472")
27349 (revision "0"))
27350 (package
27351 (name "emacs-scpaste")
27352 (version "0.6.5")
27353 (source
27354 (origin
27355 (method git-fetch)
27356 (uri (git-reference
27357 (url "https://git.sr.ht/~technomancy/scpaste")
27358 (commit commit)))
27359 (file-name (git-file-name name commit))
27360 (sha256
27361 (base32
27362 "1nvwbwl26z03963g9c82b3ggm39r95z1vp7c9qsa9mjm46dyq27w"))))
27363 (build-system emacs-build-system)
27364 (propagated-inputs
27365 `(("emacs-htmlize" ,emacs-htmlize)))
27366 (home-page "https://git.sr.ht/~technomancy/scpaste")
27367 (synopsis "Emacs-based static HTML pastebin")
27368 (description "This library will place an HTML copy of a
27369 buffer on an active webserver to which the user has SSH access.
27370 It is similar in purpose to services such as Gist or Pastebin,
27371 but is much simpler since it assumes the user has access to a
27372 publicly-accessible HTTP server.")
27373 (license license:gpl3+))))
27374
27375 (define-public emacs-company-reftex
27376 (package
27377 (name "emacs-company-reftex")
27378 (version "0.1.0")
27379 (source
27380 (origin
27381 (method git-fetch)
27382 (uri (git-reference
27383 (url "https://github.com/TheBB/company-reftex")
27384 (commit "275ef708f08d3bf0eb30632148e5c6184eeaacdb")))
27385 (file-name (git-file-name name version))
27386 (sha256
27387 (base32
27388 "118cgw5lsffqdqz95mnkw36mmnsbg9m52r2np4m7v14mjjwr9fby"))))
27389 (build-system emacs-build-system)
27390 (propagated-inputs
27391 `(("emacs-company" ,emacs-company)
27392 ("emacs-s" ,emacs-s)))
27393 (home-page "https://github.com/TheBB/company-reftex")
27394 (synopsis "RefTeX backends for company-mode")
27395 (description "This package provides company-mode backends for completing
27396 label references and citations in LaTeX. It is based on RefTeX, which is
27397 included with Emacs.")
27398 (license license:gpl3+)))
27399
27400 (define-public emacs-html-to-hiccup
27401 ;; Package has no release. Version is extracted from "Version:" keyword in
27402 ;; main file.
27403 (let ((commit "50a52e2b0d13d865187acdf775b8203d5003f2f1")
27404 (revision "0"))
27405 (package
27406 (name "emacs-html-to-hiccup")
27407 (version (git-version "1" revision commit))
27408 (source
27409 (origin
27410 (method git-fetch)
27411 (uri (git-reference
27412 (url "https://github.com/plexus/html-to-hiccup")
27413 (commit commit)))
27414 (file-name (git-file-name name version))
27415 (sha256
27416 (base32 "1qi092mw2n08v6yr0j6hlpx0pnlcnhxjqbsrlw9pn4yin6zk91yp"))))
27417 (build-system emacs-build-system)
27418 (propagated-inputs
27419 `(("dash" ,emacs-dash)
27420 ("s" ,emacs-s)))
27421 (home-page "https://github.com/plexus/html-to-hiccup")
27422 (synopsis "Turn HTML into Hiccup syntax")
27423 (description
27424 "This is an Emacs package that turns HTML into Hiccup syntax
27425 which is a popular notation to use when doing Clojure/ClojureScript
27426 web development.")
27427 ;; There is a conflict between the repository official LICENSE
27428 ;; file and the header of the main elisp file which indicates
27429 ;; that it is licensed under the GPL version 3 or later.
27430 (license (list license:mpl2.0 license:gpl3+)))))
27431
27432 (define-public emacs-iter2
27433 (package
27434 (name "emacs-iter2")
27435 (version "1.0")
27436 (source
27437 (origin
27438 (method git-fetch)
27439 (uri (git-reference
27440 (url "https://github.com/doublep/iter2")
27441 (commit version)))
27442 (file-name (git-file-name name version))
27443 (sha256
27444 (base32 "0gaq3z2v1q4r9mkyq71dzmqakhi0p8g7ph4z0n3a11rvyc3z9ykx"))))
27445 (build-system emacs-build-system)
27446 (home-page "https://github.com/doublep/iter2")
27447 (synopsis "Reimplementation of Elisp generators")
27448 (description "@code{iter2} is a fully compatible reimplementation of
27449 built-in generator package. It provides @code{iter2-defun} and
27450 @code{iter2-lambda} forms that can be used in place of @code{iter-defun} and
27451 @code{iter-lambda}. All other functions and macros (e.g. @code{iter-yield},
27452 @code{iter-next}) are intentionally not duplicated: just use the ones from the
27453 original package.")
27454 (license license:gpl3+)))
27455
27456 (define-public emacs-promise
27457 (package
27458 (name "emacs-promise")
27459 (version "1.1")
27460 (source
27461 (origin
27462 (method git-fetch)
27463 (uri (git-reference
27464 (url "https://github.com/chuntaro/emacs-promise")
27465 (commit version)))
27466 (file-name (git-file-name name version))
27467 (sha256
27468 (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
27469 (build-system emacs-build-system)
27470 (home-page "https://github.com/chuntaro/emacs-promise")
27471 (synopsis "Promises/A+ for Emacs")
27472 (description "This is a simple implementation of Promises/A+.
27473
27474 This implementation ports the following Promises/A+ features
27475 faithfully. See @url{https://github.com/then/promise}.
27476
27477 @itemize
27478 @item The same API as the JavaScript version of Promise can be used.
27479 @item It has all the @code{then}, @code{catch}, @code{resolve}, @code{reject},
27480 @code{all}, @code{race}, etc.
27481 @item It supports \"thenable\".
27482 @item It supports \"Inheritance of Promise\".
27483 @item It supports \"rejection-tracking\".
27484 @end itemize\n")
27485 (license license:gpl3+)))
27486
27487 (define-public emacs-async-await
27488 (package
27489 (name "emacs-async-await")
27490 (version "1.1")
27491 (source
27492 (origin
27493 (method git-fetch)
27494 (uri (git-reference
27495 (url "https://github.com/chuntaro/emacs-async-await")
27496 (commit version)))
27497 (file-name (git-file-name name version))
27498 (sha256
27499 (base32 "0aav9qdswnw7ynqlzn0sm34as5fj2d85syxgg8zjabzp6646ay29"))))
27500 (build-system emacs-build-system)
27501 (propagated-inputs
27502 `(("promise" ,emacs-promise)
27503 ("iter2" ,emacs-iter2)))
27504 (home-page "https://github.com/chuntaro/emacs-async-await")
27505 (synopsis "Async/Await for Emacs")
27506 (description "This is a simple implementation of Async/Await inspired by
27507 the TypeScript implementation.")
27508 (license license:gpl3+)))
27509
27510 (define-public emacs-rocket-chat
27511 ;; No release.
27512 (let ((commit "96fe27a8678de5ae4061f635108a7192eee13f98"))
27513 (package
27514 (name "emacs-rocket-chat")
27515 (version (git-version "0.0.0" "1" commit))
27516 (source
27517 (origin
27518 (method git-fetch)
27519 (uri (git-reference
27520 (url "https://github.com/4hiziri/rocket-chat")
27521 (commit commit)))
27522 (file-name (git-file-name name version))
27523 (sha256
27524 (base32 "02a4j0yy7330kfr3rd3k2agdj01ii6989nki598anbamq6xvj5ql"))))
27525 (build-system emacs-build-system)
27526 (propagated-inputs
27527 `(("async-await" ,emacs-async-await)
27528 ("request" ,emacs-request)))
27529 (home-page "https://github.com/4hiziri/rocket-chat")
27530 (synopsis "Emacs Rocket.chat client")
27531 (description "This package provides an Emacs client for the Rocket.chat
27532 service.")
27533 (license license:expat))))
27534
27535 (define-public emacs-monokai-theme
27536 (package
27537 (name "emacs-monokai-theme")
27538 (version "3.5.3")
27539 (source
27540 (origin
27541 (method git-fetch)
27542 (uri (git-reference
27543 (url "https://github.com/oneKelvinSmith/monokai-emacs")
27544 (commit (string-append "v" version))))
27545 (file-name (git-file-name name version))
27546 (sha256
27547 (base32 "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i"))))
27548 (build-system emacs-build-system)
27549 (home-page "https://github.com/oneKelvinSmith/monokai-emacs")
27550 (synopsis "High contrast color theme for Emacs")
27551 (description
27552 "Monokai theme is a port of the popular TextMate Monokai theme for
27553 Emacs.")
27554 (license license:gpl3+)))
27555
27556 (define-public emacs-nord-theme
27557 (package
27558 (name "emacs-nord-theme")
27559 (version "0.5.0")
27560 (source
27561 (origin
27562 (method git-fetch)
27563 (uri (git-reference
27564 (url "https://github.com/arcticicestudio/nord-emacs")
27565 (commit (string-append "v" version))))
27566 (file-name (git-file-name name version))
27567 (sha256
27568 (base32 "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"))))
27569 (build-system emacs-build-system)
27570 (home-page "https://www.nordtheme.com/")
27571 (synopsis "Low contrast arctic color theme for Emacs")
27572 (description
27573 "Nord is an arctic, north-bluish color scheme created for a clean and
27574 uncluttered design pattern to achieve optimal focus and readability for code
27575 syntax highlighting and UI components.")
27576 (license license:expat)))
27577
27578 (define-public emacs-janet-mode
27579 (let ((commit "2f5bcabcb6953e1ed1926ba6a2328c453e8b4ac7"))
27580 (package
27581 (name "emacs-janet-mode")
27582 (version (git-version "0.1.0" "1" commit))
27583 (source
27584 (origin
27585 (method git-fetch)
27586 (uri (git-reference
27587 (url "https://github.com/ALSchwalm/janet-mode")
27588 (commit commit)))
27589 (file-name (git-file-name name version))
27590 (sha256
27591 (base32 "0qj0gpycv2f3z1dgz1a27bjn983hrr3ppvrp7csl34lagnmp89rz"))))
27592 (build-system emacs-build-system)
27593 (home-page "https://github.com/ALSchwalm/janet-mode")
27594 (synopsis "Emacs major mode for the Janet programming language")
27595 (description
27596 "This package provides an Emacs major mode for editing Janet files.")
27597 (license license:gpl3))))
27598
27599 (define-public emacs-inf-janet
27600 (let ((commit "df46651d3aad32593b2195c80ca91fb64d571fb7"))
27601 (package
27602 (name "emacs-inf-janet")
27603 (version (git-version "0.1.0" "1" commit))
27604 (source
27605 (origin
27606 (method git-fetch)
27607 (uri (git-reference
27608 (url "https://github.com/velkyel/inf-janet")
27609 (commit commit)))
27610 (file-name (git-file-name name version))
27611 (sha256
27612 (base32 "0g0y7q62667j0p32md1h6zb2cap9fga9qgdg7138xwjqnk0328v7"))))
27613 (build-system emacs-build-system)
27614 (propagated-inputs
27615 `(("janet-mode" ,emacs-janet-mode)))
27616 (arguments
27617 `(#:phases
27618 (modify-phases %standard-phases
27619 (add-after 'unpack 'fix-program-name
27620 (lambda _
27621 (make-file-writable "inf-janet.el")
27622 (emacs-substitute-variables "inf-janet.el"
27623 ("inf-janet-program" "janet"))
27624 #t)))))
27625 (home-page "https://github.com/velkyel/inf-janet")
27626 (synopsis "Run an external Janet process in an Emacs buffer")
27627 (description
27628 "This Emacs package provides a Janet REPL to evaluate @code{janet-mode}
27629 s-expression.")
27630 (license license:expat))))
27631
27632 (define-public emacs-map
27633 (package
27634 (name "emacs-map")
27635 (version "3.0")
27636 (source
27637 (origin
27638 (method url-fetch)
27639 (uri (string-append "https://elpa.gnu.org/packages/map-"
27640 version ".tar"))
27641 (sha256
27642 (base32
27643 "00wf8lgh1b1i5l838y6di8194rf5gf5djklkhmxj1nlikz66j2ls"))))
27644 (build-system emacs-build-system)
27645 (home-page "http://elpa.gnu.org/packages/map.html")
27646 (synopsis "Map manipulation functions")
27647 (description "This package provides Emacs map-manipulation functions that
27648 work on alists, hash-table and arrays. All functions are prefixed with
27649 @code{map-}.")
27650 (license license:gpl3+)))
27651
27652 (define-public emacs-xref
27653 (package
27654 (name "emacs-xref")
27655 (version "1.1.0")
27656 (source
27657 (origin
27658 (method url-fetch)
27659 (uri (string-append "https://elpa.gnu.org/packages/xref-"
27660 version ".tar"))
27661 (sha256
27662 (base32 "1s7pwk09bry4nqr4bc78a3mbwyrxagai2gpsd49x47czy2x7m3ax"))))
27663 (build-system emacs-build-system)
27664 (home-page "http://elpa.gnu.org/packages/xref.html")
27665 (synopsis "Cross-referencing commands")
27666 (description
27667 "This library provides a generic infrastructure for cross referencing
27668 commands, in particular @code{find-definition}.")
27669 (license license:gpl3+)))
27670
27671 (define-public emacs-burly
27672 (package
27673 (name "emacs-burly")
27674 (version "0.1")
27675 (source
27676 (origin
27677 (method git-fetch)
27678 (uri (git-reference
27679 (url "https://github.com/alphapapa/burly.el")
27680 (commit version)))
27681 (file-name (git-file-name name version))
27682 (sha256
27683 (base32 "1vaikknjzmhpszyi4yxjjkp1ihgmhpbnbx1s5pjy4mnhl1ibi33b"))))
27684 (build-system emacs-build-system)
27685 (propagated-inputs
27686 `(("emacs-map" ,emacs-map)))
27687 (home-page "https://github.com/alphapapa/burly.el")
27688 (synopsis "Save and restore frame/window configurations with buffers")
27689 (description "This package provides tools to save and restore frame and
27690 window configurations in Emacs, including buffers that may not be live
27691 anymore. In this way, it's like a lightweight \"workspace\" manager, allowing
27692 you to easily restore one or more frames, including their windows, the
27693 windows' layout, and their buffers.")
27694 (license license:gpl3+)))
27695
27696 (define-public emacs-smart-hungry-delete
27697 (let ((commit "7c1d56a92481594e14d40b5fdf6c48657a0108a0"))
27698 (package
27699 (name "emacs-smart-hungry-delete")
27700 (version "0.1")
27701 (source
27702 (origin
27703 (method git-fetch)
27704 (uri (git-reference
27705 (url "https://github.com/hrehfeld/emacs-smart-hungry-delete")
27706 (commit commit)))
27707 (file-name (git-file-name name version))
27708 (sha256
27709 (base32
27710 "0mxaslx5823s68a8ggbbnmfk1jiswjvip5s4sg7ihfagnci72wni"))))
27711 (build-system emacs-build-system)
27712 (home-page "https://github.com/hrehfeld/emacs-smart-hungry-delete")
27713 (synopsis "Smart hungry deletion of whitespace")
27714 (description "@code{emacs-smart-hungry-delete} hungrily deletes whitespace
27715 between cursor and next word, parenthesis or delimiter while honoring some
27716 rules about where space should be left to separate words and parentheses.")
27717 (license license:gpl2+))))
27718
27719 (define-public emacs-webpaste
27720 (package
27721 (name "emacs-webpaste")
27722 (version "3.2.0")
27723 (source
27724 (origin
27725 (method git-fetch)
27726 (uri (git-reference
27727 (url "https://github.com/etu/webpaste.el")
27728 (commit version)))
27729 (file-name (git-file-name name version))
27730 (sha256
27731 (base32
27732 "08545ihkzflw80rwklnxiswrpdrl8kr74xzxm5wsgrf36fkj9rn2"))))
27733 (build-system emacs-build-system)
27734 (arguments
27735 `(#:tests? #t
27736 #:test-command '("make" "unit" "integration")
27737 #:phases
27738 (modify-phases %standard-phases
27739 (add-after 'unpack 'fix-tests
27740 (lambda _
27741 ;; Do not use cask to run tests.
27742 (substitute* "Makefile"
27743 (("\\$\\{CASK\\} exec ") ""))
27744 ;; Disable tests that need network access.
27745 (substitute* (list "tests/unit/test-webpaste-provider-creation.el"
27746 "tests/integration/test-webpaste-providers.el")
27747 (("describe") "xdescribe")))))))
27748 (native-inputs
27749 `(("emacs-buttercup" ,emacs-buttercup)))
27750 (propagated-inputs
27751 `(("emacs-request" ,emacs-request)))
27752 (home-page "https://github.com/etu/webpaste.el")
27753 (synopsis "Paste to pastebin-like services")
27754 (description "This mode pastes whole buffers or parts of buffers
27755 to pastebin-like services. It supports more than one service and will
27756 failover if one service fails. More services can easily be added over time
27757 and preferred services can easily be configured.")
27758 (license license:gpl3+)))
27759
27760 (define-public emacs-keystore-mode
27761 (let ((release "0.0.1")
27762 (revision "0")
27763 (commit "43bd5926348298d077c7221f37902c990df3f951"))
27764 (package
27765 (name "emacs-keystore-mode")
27766 (version (git-version release revision commit))
27767 (home-page "https://github.com/peterpaul/keystore-mode")
27768 (source
27769 (origin
27770 (method git-fetch)
27771 (uri (git-reference
27772 (url home-page)
27773 (commit commit)))
27774 (file-name (git-file-name name version))
27775 (sha256
27776 (base32 "06cznkqkm04zz5lqfb514aqvsr2p13arzysixv0ss0bqpvdq7cv7"))))
27777 (build-system emacs-build-system)
27778 (arguments
27779 `(#:tests? #t
27780 #:test-command
27781 '("emacs" "--no-init-file" "--batch"
27782 "--eval=(require 'ecukes)" "--eval=(ecukes)")))
27783 (native-inputs
27784 `(("emacs-ecukes" ,emacs-ecukes)
27785 ("emacs-espuds" ,emacs-espuds)
27786 ("emacs-undercover" ,emacs-undercover)
27787 ("openjdk" ,openjdk9)))
27788 (propagated-inputs
27789 `(("emacs-origami" ,emacs-origami-el)
27790 ("emacs-s" ,emacs-s)))
27791 (synopsis "Major mode for viewing and managing Java keystores")
27792 (description
27793 "This package provides an Elisp wrapper around the Java
27794 @command{keytool} command and major mode for viewing Java keystores.")
27795 (license license:expat))))
27796
27797 (define-public emacs-ivy-avy
27798 (package
27799 (name "emacs-ivy-avy")
27800 (version "0.13.4")
27801 (source
27802 (origin
27803 (method url-fetch)
27804 (uri (string-append
27805 "https://elpa.gnu.org/packages/"
27806 "ivy-avy-" version ".tar"))
27807 (sha256
27808 (base32 "1q5caxm4rnh4jy5n88dhkdbx1afsshmfki5dl8xsqbdb3y0zq7yi"))))
27809 (build-system emacs-build-system)
27810 (propagated-inputs
27811 `(("emacs-ivy" ,emacs-ivy)
27812 ("emacs-avy" ,emacs-avy)))
27813 (home-page "https://github.com/abo-abo/swiper")
27814 (synopsis "Avy integration for Ivy")
27815 (description
27816 "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
27817 (license license:gpl3+)))
27818
27819 (define-public emacs-vertico
27820 (package
27821 (name "emacs-vertico")
27822 (version "0.6")
27823 (source
27824 (origin
27825 (method git-fetch)
27826 (uri (git-reference
27827 (url "https://github.com/minad/vertico")
27828 (commit version)))
27829 (file-name (git-file-name name version))
27830 (sha256
27831 (base32 "1is189z4hmrq49zqvm10xmq7ggj0zy57p0drzcrn1m94qicxnwj2"))))
27832 (build-system emacs-build-system)
27833 (native-inputs
27834 `(("texinfo" ,texinfo)))
27835 (home-page "https://github.com/minad/vertico")
27836 (synopsis "Vertical interactive completion")
27837 (description
27838 "Vertico provides a minimalistic vertical completion UI, which is based
27839 on Emacs' default completion system. By reusing the default system, it
27840 achieves full compatibility with built-in Emacs commands and completion
27841 tables. Vertico is pretty bare-bone and only provides a minimal set of
27842 commands. Additional optional enhancements can be provided externally by
27843 complementary packages.")
27844 (license license:gpl3+)))
27845
27846 (define-public emacs-wisp-mode
27847 (package
27848 (name "emacs-wisp-mode")
27849 (version "0.2.9")
27850 (source
27851 (origin
27852 (method hg-fetch)
27853 (uri (hg-reference
27854 (url "https://hg.sr.ht/~arnebab/wisp")
27855 (changeset (string-append "wisp-mode-" version))))
27856 (file-name (git-file-name name version))
27857 (sha256
27858 (base32 "1xdzyj3yqzvdg0vrllp9wi8cswpa89i0gmiz22a25brw4qy185ar"))))
27859 (build-system emacs-build-system)
27860 (home-page "https://www.draketo.de/software/wisp")
27861 (synopsis "Syntax highlighting and indentation support for Wisp files")
27862 (description
27863 "This package provides @code{wisp-mode}, an Emacs major mode for Wisp
27864 files, providing syntax highlighting and indentation rules.")
27865 (license license:gpl3+)))
27866
27867 (define-public emacs-ivy-hydra
27868 (package
27869 (name "emacs-ivy-hydra")
27870 (version "0.13.5")
27871 (source
27872 (origin
27873 (method url-fetch)
27874 (uri (string-append
27875 "https://elpa.gnu.org/packages/"
27876 "ivy-hydra-" version ".tar"))
27877 (sha256
27878 (base32 "06rln9bnq5hli5rqlm47fb68b8llpqrmzwqqv4rn7mx3854i9a5x"))))
27879 (build-system emacs-build-system)
27880 (propagated-inputs
27881 `(("emacs-ivy" ,emacs-ivy)
27882 ("emacs-hydra" ,emacs-hydra)))
27883 (home-page "https://github.com/abo-abo/swiper")
27884 (synopsis "Additional key bindings for Ivy")
27885 (description
27886 "This package provides the `hydra-ivy/body' command, which is a
27887 quasi-prefix map, with many useful bindings. These bindings are
27888 shorter than usual, using mostly unprefixed keys.")
27889 (license license:gpl3+)))