diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 434 |
1 files changed, 374 insertions, 60 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 22d723c879..4bc5e10624 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -94,7 +94,7 @@ ;;; Copyright © 2021 Yurii Kholodkov <[email protected]> ;;; Copyright © 2021 Alexey Abramov <[email protected]> ;;; Copyright © 2021 Xinglu Chen <[email protected]> -;;; Copyright © 2021 Stefan Reichör <[email protected]> +;;; Copyright © 2021, 2022 Stefan Reichör <[email protected]> ;;; Copyright © 2021 Simon Tournier <[email protected]> ;;; Copyright © 2021 Eugene Klimov <[email protected]> ;;; Copyright © 2021 Zheng Junjie <[email protected]> @@ -109,6 +109,10 @@ ;;; Copyright © 2022 Brandon Lucas <[email protected]> ;;; Copyright © 2022 Jai Vetrivelan <[email protected]> ;;; Copyright © 2022 jgart <[email protected]> +;;; Copyright © 2022 Dominic Martinez <[email protected]> +;;; Copyright © 2022 Peter Polidoro <[email protected]> +;;; Copyright © 2022 Luis Felipe López Acevedo <[email protected]> +;;; Copyright © 2022 Thomas Albers Raviola <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1936,6 +1940,28 @@ can be referred to during the expression. This technique can improve clarity in certain cases. It also enables recursion for anonymous functions.") (license license:public-domain))) +(define-public emacs-xah-fly-keys + (package + (name "emacs-xah-fly-keys") + (version "17.13.20220526011611") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xahlee/xah-fly-keys") + (commit "b1b1ea62c3f1a329376d9125592175cf2027ebc7"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gv8d9zgmhzjg6zk2a7y76dz30a3l91xb1p15vldka95faz197wn")))) + (build-system emacs-build-system) + (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html") + (synopsis "Modal keybinding system for Emacs, based on command frequency and +ergonomics") + (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi, +but the design of key/command choice is based on command frequency statistics +and ease-of-key score. Most frequently used commands have most easy keys.") + (license license:gpl3))) + (define-public emacs-xr (package (name "emacs-xr") @@ -3109,7 +3135,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.22") + (version "0.25") (source (origin (method git-fetch) @@ -3118,13 +3144,13 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "062lxyqh7nfaixmgfgmqfbkainxc8ypdkj6qjq38xigk55s7c5wk")))) + (base32 "1brq8dfn4mx5mxyqqikmhwpwlqdrfq1z0wprm6awxr89xk506g77")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Move the extensions source files to the top level, which is included in - ;; the EMACSLOADPATH. + ;; Move the extensions source files to the top level, which is included + ;; in the EMACSLOADPATH. (add-after 'unpack 'move-source-files (lambda _ (let ((el-files (find-files "./extensions" ".*\\.el$"))) @@ -3133,12 +3159,36 @@ of bibliographic references.") el-files))))))) (home-page "https://github.com/minad/corfu") (synopsis "Completion overlay region function") - (description "Corfu enhances the default completion in region function -with a completion overlay. The current candidates are shown in a popup -overlay below or above the point. Corfu can be considered the minimalistic + (description + "Corfu enhances the default completion in region function with a completion +overlay. The current candidates are shown in a popup overlay below or above +the point. Corfu can be considered the minimalistic @code{completion-in-region} counterpart of the Vertico minibuffer UI.") (license license:gpl3+))) +(define-public emacs-corfu-doc + (package + (name "emacs-corfu-doc") + (version "0.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/galeo/corfu-doc") + (commit "f9566cf13f6730a45b2f3c12e491a3fa2097e5d5"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "098yf29yv1b11p7kvdc7n4ra7f5vcmf6nlvhl85jgwqrsdz1795b")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-corfu)) + (home-page "https://github.com/galeo/corfu-doc") + (synopsis "Documentation popup for Corfu") + (description + "The @code{corfu-doc} package provides a way to display a documentation +popup for completion candidates when using @code{emacs-corfu}. It can +be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") + (license license:gpl3+))) + (define-public emacs-cape (package (name "emacs-cape") @@ -8463,6 +8513,30 @@ transparent background. If you load it from a GUI, it will default to a dark background.") (license license:gpl3+))) +(define-public emacs-color-theme-modern + ;; No release since October 2019 + (let ((commit "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8") + (revision "1")) + (package + (name "emacs-color-theme-modern") + (version (git-version "0.0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-jp/replace-colorthemes.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13ff4s372wsl5x13vh4vywhi6qcc54gybhp6rxl0r1l4wxidanwn")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-jp/replace-colorthemes") + (synopsis "Emacs color themes implemented via built-in customization") + (description "This package contains several themes that were originally +implemented with the venerable @code{color-themes} package, ported to Emacs' +built-in custom themes.") + (license license:gpl3+)))) + (define-public emacs-gruvbox-theme (package (name "emacs-gruvbox-theme") @@ -12174,7 +12248,7 @@ extensions.") (define-public emacs-evil-collection (package (name "emacs-evil-collection") - (version "0.0.7") + (version "0.0.8") (source (origin (method git-fetch) @@ -12183,7 +12257,7 @@ extensions.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1f5mbg2k527brn6b7njdjizpbzj252c53crzl8sf2564czcprqj0")))) + (base32 "159i3qvjnp7jiffwpr517nnxcy3w3g40302vyzxvz6mb6qay6f2c")))) (build-system emacs-build-system) (propagated-inputs (list emacs-evil emacs-annalist)) @@ -12964,6 +13038,30 @@ properties are set on a heading, and when it is changing from a TODO state to a DONE state.") (license license:gpl3+))) +(define-public emacs-toodoo + ;; Package has no release. Version is extracted from "Version:" keyword in + ;; main file, and commit below matches version bump. + (package + (name "emacs-toodoo") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ChanderG/toodoo.el") + (commit "149a563863c2f728c5f903475dbce50547c51000"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00q7aym0kl03j9m66pivgy0snxcjjg402049b2wdy18kgyypfvx8")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-transient emacs-evil)) + (home-page "https://github.com/ChanderG/toodoo.el") + (synopsis "Magit-like interface for a Todo workflow built on top of Org") + (description "This package provides a minor mode for fast and easy management of Todos +using Org mode and transients.") + (license license:asl2.0))) + (define-public emacs-flx (package (name "emacs-flx") @@ -15731,6 +15829,30 @@ of commands is displayed in a handy popup.") characters from end of lines.") (license license:gpl3+))) +(define-public emacs-opencl-mode + ;; Upstream never makes any formal releases, there is only v1.0. + ;; Use the latest commit instead. + (let ((commit "15091eff92c33ee0d1ece40eb99299ef79fee92d") + (revision "1")) + (package + (name "emacs-opencl-mode") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/salmanebah/opencl-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zn6rr48w0ai0sn51zzyp546va6flfgf9lm12vfrdb6kkiiiq403")))) + (build-system emacs-build-system) + (synopsis "Emacs major mode for editing OpenCL kernels") + (description "This Emacs package provides the @code{opencl-mode} major +mode for editing OpenCL kernels. It supports syntax highlighting and online +access to the OpenCL documentation through the @code{opencl-lookup} function.") + (home-page "https://github.com/salmanebah/opencl-mode") + (license license:gpl3+)))) + (define-public emacs-openwith ;; There is no release tag. Version is extracted from main file. (let ((version "20120531") @@ -15809,29 +15931,26 @@ multiplexer.") (license license:gpl3+))) (define-public emacs-plz - (let ((commit "7e456638a651bab3a814e3ea81742dd917509cbb") - (revision "1")) - (package - (name "emacs-plz") - (version (git-version "0.1-pre" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/plz.el") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "05kgxrps1s20im5hhq799nrs3615bvssm4r0ysgmwm203mmzsjgj")))) - (build-system emacs-build-system) - (inputs (list curl)) - (home-page "https://github.com/alphapapa/plz.el") - (synopsis "HTTP library for Emacs") - (description - "This package provides HTTP library for Emacs. It uses curl as -a backend, which avoids some of the issues with using Emacs’s built-in url -library.") - (license license:gpl3+)))) + (package + (name "emacs-plz") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/plz.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0psdjmj1r4g57vhm6c4hajmma72jk893fk820fbjgjwqihr1bxx9")))) + (build-system emacs-build-system) + (inputs (list curl)) + (home-page "https://github.com/alphapapa/plz.el") + (synopsis "HTTP library for Emacs") + (description + "This package provides HTTP library for Emacs. It uses Curl as a backend, +which avoids some of the issues with using Emacs’s built-in Url library.") + (license license:gpl3+))) (define-public emacs-ement (let ((commit "c951737dc855604aba389166bb0e7366afadc533") @@ -19699,7 +19818,7 @@ by the status of listed files.") (define-public emacs-elm-mode (package (name "emacs-elm-mode") - (version "0.21.0") + (version "0.22.0") (source (origin (method git-fetch) @@ -19709,7 +19828,7 @@ by the status of listed files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd")))) + (base32 "1gnr61ibzcznfqy5f8capmbz75rcfikwy106rjdmp45qz2jwp4di")))) (propagated-inputs (list emacs-dash emacs-f emacs-reformatter emacs-s)) (build-system emacs-build-system) @@ -20229,24 +20348,26 @@ functions.") (license license:gpl3+))) (define-public emacs-benchmark-init - (package - (name "emacs-benchmark-init") - (version "1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dholm/benchmark-init-el") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94")))) - (build-system emacs-build-system) - (home-page "https://github.com/dholm/benchmark-init-el") - (synopsis "Benchmark Emacs @code{require} and @code{load} calls") - (description "@code{benchmark-init} provides a way to keep track of where + (let ((commit "02435560415bbadbcf5051fb7042880549170e7e") + (revision "1")) + (package + (name "emacs-benchmark-init") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dholm/benchmark-init-el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19375vamhld4xm2qrdmhlp2nczfvalmz9x6ahl23zwkilr8n1nbw")))) + (build-system emacs-build-system) + (home-page "https://github.com/dholm/benchmark-init-el") + (synopsis "Benchmark Emacs @code{require} and @code{load} calls") + (description "@code{benchmark-init} provides a way to keep track of where time is being spent during Emacs startup in order to optimize startup time.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-magit-gerrit (package @@ -24824,6 +24945,34 @@ debug server. It is similar to the LSP but provides integration with Debug server.") (license license:gpl3+))) +(define-public emacs-bfuture + (package + (name "emacs-bfuture") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~plattfot/bfuture") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1m4v4xbsvg26z7nvg2c8q7x1nvv7v4ajm56l0nbkwcbdbrgahpva")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (arguments + (list #:tests? (not (%current-target-system)) + #:test-command #~'("ert-runner"))) + (native-inputs (list emacs-ert-runner)) + (home-page "https://github.com/plattfot/bfuture.el") + (synopsis "Basic future concept for Emacs with Tramp support") + (description + "This package provides basic functions for spawning processes asynchronous in +Emacs and retrieving the output. It is similar to @code{emacs-pfuture} except +that this works over Tramp but the feature set is more limited. For example, +it cannot tell stdout and stderr apart.") + (license license:gpl3+))) + (define-public emacs-pfuture (package (name "emacs-pfuture") @@ -27131,8 +27280,8 @@ zip utility (default is @code{zip}).") (define-public emacs-ox-gemini ;; No releases yet - (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0") - (revision "0")) + (let ((commit "168f820ea401fb813435a3a55af295873a4c110b") + (revision "1")) (package (name "emacs-ox-gemini") (version (git-version "0" revision commit)) @@ -27144,7 +27293,7 @@ zip utility (default is @code{zip}).") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29")))) + (base32 "0jmiya3f9vv4v64p5kxla6wiiyv4wg4w7f4a6zmdrjcn11hflqmm")))) (build-system emacs-build-system) (home-page "https://sr.ht/~abrahms/ox-gemini") (synopsis "Export Org files in Gemini format") @@ -27178,7 +27327,7 @@ producing output appropriate for Haunt's @code{html-reader}.") (define-public emacs-ox-hugo (package (name "emacs-ox-hugo") - (version "0.8") + (version "0.12.1") (source (origin (method git-fetch) @@ -27188,8 +27337,10 @@ producing output appropriate for Haunt's @code{html-reader}.") (file-name (git-file-name name version)) (sha256 (base32 - "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7")))) + "0q4gyjzvxzw6a0phw2x2v9n43i28n3g9m7szwbhzch4j6ggxzcw4")))) (build-system emacs-build-system) + (propagated-inputs + (list emacs-tomelr)) (home-page "https://ox-hugo.scripter.co") (synopsis "Hugo markdown back-end for Org export engine") (description @@ -27662,7 +27813,9 @@ contrast and few colors.") ;; EMACSLOADPATH. (for-each (lambda (f) (rename-file f (basename f))) - (find-files "./themes" ".*\\.el$")) + (append + (find-files "./themes" ".*\\.el$") + (find-files "./extensions" ".*\\.el$"))) #t))))) (synopsis "Wide collection of color themes for Emacs") (description "Emacs-doom-themes contains numerous popular color themes for @@ -27673,7 +27826,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.3.3") + (version "2.4.0") (source (origin (method git-fetch) @@ -27682,7 +27835,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14nfb94y9vcnpmwj9acwl6h5v0h1c6swqf33ch4zimxxqgx9zrm4")))) + (base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -30353,6 +30506,62 @@ built-in generator package. It provides @code{iter2-defun} and original package.") (license license:gpl3+))) +(define-public emacs-bind-map + (let ((commit "510a24138d8de3b8df0783f1ac493a551fc9bd74") + (revision "0")) + (package + (name "emacs-bind-map") + (version (git-version "1.1.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justbur/emacs-bind-map") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0crxjy1ykgb429z8ikjv5iy8vg5i0qn8n86p2lgri4glx45sxxx0")))) + (build-system emacs-build-system) + (home-page "https://github.com/justbur/emacs-bind-map") + (synopsis "Bind personal keymaps in multiple locations") + (description + "@code{emacs-bind-map} provides a macro bind-map which can be used to +make a keymap available across different leader keys including ones +tied to evil states. It is essentially a generalization of the idea +of a leader key as used in Vim or the @code{emacs-evil-leader} package, +and allows for an arbitrary number of leader keys.") + (license license:gpl3+)))) + +(define-public emacs-spaceleader + (let ((commit "35368b03c094399c487cce93ab5b7ac725bd04f5") + (revision "0")) + (package + (name "emacs-spaceleader") + (version (git-version "0.0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/spaceleader") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lg51y59z6igqjw3vgyjc5zw32j11xhzw8y0svlx3ry415b0lnls")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-dash + emacs-general + emacs-which-key + emacs-use-package + emacs-bind-map)) + (home-page "https://github.com/mohkale/spaceleader") + (synopsis "Emacs leader key implementation from Spacemacs") + (description + "@code{emacs-spaceleader} replicates Spacemacs' leader key features, +without requiring all of Spacemacs. The @code{<Leader>} key, inspired by Vim, +provides an easy way to bind keys under a configurable prefix key.") + (license license:gpl3+)))) + (define-public emacs-promise (package (name "emacs-promise") @@ -31084,6 +31293,25 @@ wraps GNU Global calls and integration to editor using this API with project.el and xref.el.") (license license:gpl3+)))) +(define-public emacs-seq + (package + (name "emacs-seq") + (version "2.23") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar")) + (sha256 + (base32 "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/seq.html") + (synopsis "Sequence manipulation functions") + (description + "This Emacs package provides sequence manipulation functions that +complement basic functions provided by @file{subr.el}. All its functions +are prefixed with @code{seq-} and work on lists, strings, and vectors.") + (license license:gpl3+))) + (define-public emacs-setup (package (name "emacs-setup") @@ -31107,6 +31335,28 @@ extended by the user via @code{setup-define}. A list of currently known local macros are documented in the docstring for @code{setup}.") (license license:gpl3+))) +(define-public emacs-tomelr + (package + (name "emacs-tomelr") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kaushalmodi/tomelr/") + (commit (string-append "v" version)))) + (sha256 + (base32 "03iih7arjlfg8gdp4v2xglas9z519q1s11l28igr8l0m5y0pdrnk")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-map emacs-seq)) + (home-page "https://github.com/kaushalmodi/tomelr/") + (synopsis "Emacs-Lisp library for converting S-expressions to TOML") + (description + "This package provides the @code{tomelr-encode} function to convert a Lisp +data expression in Alist or Plist format to a TOML string.") + (license license:gpl3+))) + (define-public emacs-ed-mode ;; XXX: Upstream did not tag any commits yet. (let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac") @@ -31195,6 +31445,43 @@ buffers using font locking and text properties. The package styles headlines, keywords, tables and source blocks.") (license license:gpl3+))) +(define-public emacs-pyimport + (let ((commit "a6f63cf7ed93f0c0f7c207e6595813966f8852b9") + (revision "0")) + (package + (name "emacs-pyimport") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Wilfred/pyimport") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q5gqhvh4zq5dy8vns694warcz48j1hdnxg16sjck4gsi9xivbvs")))) + (build-system emacs-build-system) + (inputs + (list python-pyflakes)) + (propagated-inputs + (list emacs-dash emacs-s emacs-shut-up)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-pyflakes-executable + (lambda* (#:key inputs #:allow-other-keys) + (let ((pyflakes (search-input-file inputs "/bin/pyflakes"))) + (make-file-writable "pyimport.el") + (substitute* "pyimport.el" + (("\"pyflakes") + (string-append "\"" pyflakes))))))))) + (home-page "https://github.com/Wilfred/pyimport") + (synopsis "Manage Python imports from Emacs") + (description +"@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.") + (license license:gpl3+)))) ; License is in pyimport.el + (define-public emacs-osm (package (name "emacs-osm") @@ -31225,6 +31512,33 @@ zoomable and moveable map display, display of tracks and POIs from GPX files, parallel fetching of tiles with cURL, and more.") (license license:gpl3+))) +(define-public emacs-popon + ;; Upstream does not tag releases. The commit below matches the version + ;; bump. + (let ((commit "d16cb747d356eab3f1bc4061ecee473732f7b8bb")) + (package + (name "emacs-popon") + (version "0.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://codeberg.org/akib/emacs-popon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i5rp0gvcdqakzaznsh0lqzvlq5kif9q2grq4l80gl75dmqdpym7")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/akib/emacs-popon/") + (synopsis "Pop floating text on a window") + (description + "@code{emacs-popon} allows you to pop text on a window, what we call +a popon. Popons are window-local and sticky, they don't move while +scrolling, and they even don't go away when switching buffer, but you +can bind a popon to a specific buffer to only show on that buffer.") + (license license:gpl3+)))) + (define-public emacs-bitbake-modes (package (name "emacs-bitbake-modes") |