diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 785 |
1 files changed, 663 insertions, 122 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index feea43b500..58999d6611 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -65,6 +65,8 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -212,6 +214,32 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.") (license license:bsd-3))) +(define-public emacs-ac-geiser + (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05") + (revision "0")) + (package + (name "emacs-ac-geiser") + (version (git-version "0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/xiaohanyu/ac-geiser.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("geiser" ,emacs-geiser) + ("auto-complete" ,emacs-auto-complete))) + (synopsis "Auto-complete backend for geiser") + (description + "This package provides an auto-complete source for Scheme projects +using geiser.") + (license license:bsd-3) + (home-page "https://github.com/xiaohanyu/ac-geiser")))) + (define-public emacs-paredit (package (name "emacs-paredit") @@ -1484,6 +1512,65 @@ always indented. It reindents after every change, making it more reliable than @code{electric-indent-mode}.") (license license:gpl2+))) +(define-public emacs-ctrlf + (package + (name "emacs-ctrlf") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/ctrlf.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10gnhafas54zj3z9173h1g7b519ac4i26afclmw3w1pk6qyyb03z")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/ctrlf/") + (synopsis "Single-buffer text search in Emacs") + (description "CTRLF (pronounced @emph{control F}) is an intuitive and +efficient solution for single-buffer text search in Emacs, replacing packages +such as Isearch, Swiper, and helm-swoop. It takes inspiration from the +widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as +web browsers, but follows the flow and keybindings of Isearch.") + (license license:expat))) + +(define-public emacs-dhall-mode + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((revision "0") + (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2")) + (package + (name "emacs-dhall-mode") + (version (git-version "0.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/psibi/dhall-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-reformatter" ,emacs-reformatter))) + (home-page "https://github.com/psibi/dhall-mode") + (synopsis "Major mode for working with Dhall configuration language") + (description + "Dhall-mode provides an Emacs Major mode for working with the Dhall +configuration language. It features: + +@itemize +@item Syntax highlighting +@item Multiline support for String +@item Basic indendation, commenting +@item Automatic formatting on save using dhall-format. +@item Error highlighting. +@end itemize") + (license license:gpl3+)))) + (define-public emacs-link-hint ;; Last release was in 2015. (let ((commit "d74a483652486260c052941fedeadddb1ea71f88") @@ -1704,6 +1791,25 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.") Emacs buffer.") (license license:gpl3+))) +(define-public emacs-caps-lock + (package + (name "emacs-caps-lock") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "caps-lock-" version ".el")) + (sha256 + (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/caps-lock.html") + (synopsis "Caps Lock as a minor mode") + (description + "This package provides a minor mode to emulate the behavior of a Caps +Lock key.") + (license license:gpl3+))) + (define-public emacs-chronometrist (package (name "emacs-chronometrist") @@ -1768,6 +1874,50 @@ Using emacs-direnv means that programs started from Emacs will use the environment set through Direnv.") (license license:gpl3+))) +(define-public emacs-elf-mode + (package + (name "emacs-elf-mode") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/abo-abo/elf-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k")))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/elf-mode") + (synopsis "Show symbol list when opening a binary file in Emacs") + (description "This Emacs package provides a command showing the symbols +that the binary uses instead of the actual binary contents.") + (license license:gpl3+))) + +(define-public emacs-form-feed + (package + (name "emacs-form-feed") + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wasamasa/form-feed.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2")))) + (build-system emacs-build-system) + (home-page "https://github.com/wasamasa/form-feed") + (synopsis "Display ^L glyphs as horizontal lines") + (description + "This package provides a minor mode @code{form-feed-mode} to display page +delimiters which usually appear as ^L glyphs on a single line as horizontal +lines spanning the entire window. The minor mode is suitable for inclusion +into mode hooks and is intended to be used that way.") + (license license:gpl3+))) + (define-public emacs-ggtags (package (name "emacs-ggtags") @@ -1874,53 +2024,76 @@ Maps directly inside Emacs.") (license license:gpl3+))) (define-public emacs-graphviz-dot-mode - (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27") - (revision "1")) - (package - (name "emacs-graphviz-dot-mode") - (version (string-append "0.4.1-" revision "." - (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ppareit/graphviz-dot-mode.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "texinfo" - (substitute* "Makefile" - (("\\/usr\\/bin\\/gzip") - (string-append (assoc-ref inputs "gzip") "/bin/gzip"))) - (invoke "make" - "clean" - "info" - (string-append "TEXINFODIR=" - (assoc-ref inputs "texinfo") - "/bin"))))) - (add-after 'install 'install-info - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (install-file "texinfo/graphviz-dot-mode.info.gz" info) - #t)))))) - (native-inputs - `(("texinfo" ,texinfo) - ("gzip" ,gzip))) - (home-page "http://ppareit.github.com/graphviz-dot-mode") - (synopsis "Major mode for editing Graphviz Dot files") - (description - "This Emacs packages helps you to create @file{.dot} or @file{.gv} -files using the dot syntax, and use Graphviz to convert these files to -diagrams.") - (license license:gpl2+)))) + (package + (name "emacs-graphviz-dot-mode") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ppareit/graphviz-dot-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "texinfo" + (substitute* "Makefile" + (("\\/usr\\/bin\\/gzip") + (string-append (assoc-ref inputs "gzip") "/bin/gzip"))) + (invoke "make" + "clean" + "info" + (string-append "TEXINFODIR=" + (assoc-ref inputs "texinfo") + "/bin"))))) + (add-after 'install 'install-info + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (install-file "texinfo/graphviz-dot-mode.info.gz" info) + #t)))))) + (native-inputs + `(("gzip" ,gzip) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("emacs-company" ,emacs-company))) + (home-page "http://ppareit.github.com/graphviz-dot-mode") + (synopsis "Major mode for editing Graphviz DOT files") + (description + "This Emacs package helps you to create @file{.dot} or @file{.gv} files +using the DOT syntax, and use Graphviz to convert these files to diagrams.") + (license license:gpl2+))) + +(define-public emacs-imenu-list + (package + (name "emacs-imenu-list") + (version "0.8") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/bmag/imenu-list") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx")))) + (build-system emacs-build-system) + (home-page "https://github.com/bmag/imenu-list") + (synopsis + "Automatically tracks the current buffer's imenu entries") + (description + "This Emacs minor mode creates an automatically updated buffer called +@code{*Ilist*} that is populated with the current buffer's imenu entries. +This buffer is typically shown as a sidebar (Emacs vertically splits the +window).") + (license license:gpl3+))) (define-public emacs-mmm-mode (package @@ -3286,6 +3459,30 @@ the speedbar window.") "This package provides a macro that writes your namespaces for you.") (license license:gpl3+)))) +(define-public emacs-evil-leader + (package + (name "emacs-evil-leader") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/cofi/evil-leader") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5")))) + (inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/cofi/evil-leader") + (synopsis "Implement <leader> feature from Vim") + (description + "Evil Leader provides the @code{<leader>} feature from Vim that provides +an easy way to bind keys under a configurable prefix key.") + (license license:gpl3+))) + (define-public emacs-evil-textobj-syntax (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3") (version "0") @@ -3396,10 +3593,36 @@ It also provides an easy way to find synonyms and antonyms for a given word (to avoid repetitions for example).") (license license:gpl3+))) +(define-public emacs-flycheck-rust + (package + (name "emacs-flycheck-rust") + (version "1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/flycheck/flycheck-rust") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist))) + (build-system emacs-build-system) + (home-page "https://github.com/flycheck/flycheck-rust") + (synopsis "Rust/Cargo support for Flycheck") + (description + "This Flycheck extension configures Flycheck automatically for +the current Cargo project.") + (license license:gpl3+))) + (define-public emacs-elisp-demos (package (name "emacs-elisp-demos") - (version "2019.12.01") + (version "2020.02.19") (source (origin (method git-fetch) @@ -3409,7 +3632,7 @@ word (to avoid repetitions for example).") (file-name (git-file-name name version)) (sha256 (base32 - "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z")))) + "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.org$") @@ -3878,6 +4101,43 @@ completion candidate when using the Company text completion framework.") @code{company-math}.") (license license:gpl3+)))) +(define-public emacs-company-coq + (package + (name "emacs-company-coq") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/cpitclaudel/company-coq") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b")))) + (inputs + `(("emacs-company" ,emacs-company) + ("emacs-company-math" ,emacs-company-math) + ("emacs-dash" ,emacs-dash) + ("emacs-yasnippet" ,emacs-yasnippet))) + (build-system emacs-build-system) + (home-page "https://github.com/cpitclaudel/company-coq") + (synopsis "Emacs extensions for Proof General's Coq mode") + (description "This package includes a collection of Company mode backends +for Proof-General's Coq mode, and many useful extensions to Proof-General. It +features: + +@itemize +@item Prettification of operators, types, and subscripts, +@item Auto-completion, +@item Insertion of cases, +@item Fully explicit intros, +@item Outlines, code folding, and jumping to definition, +@item Help with errors, +@item and more. +@end itemize") + (license license:gpl3+))) + (define-public emacs-company-math (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9") (revision "1")) @@ -4655,7 +4915,7 @@ number.") (define-public emacs-org-superstar (package (name "emacs-org-superstar") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -4664,7 +4924,7 @@ number.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz")))) + (base32 "14aafqw8rnbmiy3kcw1a58vjxdyamrbmlldnlw018wgk0qqv0xpx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org))) @@ -5109,33 +5369,55 @@ them easier to distinguish from other, less important buffers.") (license license:expat))) (define-public emacs-prescient - ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x - ;; by default, so we use a non-release version ahead by one commit - (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d") - (revision "1")) - (package - (name "emacs-prescient") - (version (git-version "3.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/raxod502/prescient.el/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-company" ,emacs-company) - ("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/raxod502/prescient.el/") - (synopsis "Library that sorts and filters lists of candidates") - (description - "This package provides a library for sorting and filtering, as well as -extensions for @code{ivy-mode} and @code{company-mode} that make use of the -library.") - (license license:gpl3+)))) + (package + (name "emacs-prescient") + (version "4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/prescient.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rf5cz262hjpck7vpxg15bccdrwrmlhiyxc20liwcjb2ig36nis3")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-ivy" ,emacs-ivy) + ("emacs-selectrum" ,emacs-selectrum))) + (home-page "https://github.com/raxod502/prescient.el/") + (synopsis "Emacs library for sorting and filtering candidates") + (description + "Prescient is a library for sorting and filtering, as well as extensions +for Ivy and Company that make use of the library.") + (license license:expat))) + +(define-public emacs-selectrum + (package + (name "emacs-selectrum") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/selectrum.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "105zl102dwbzvk50xh6b824nq6p24kxhky18ghdnk5yi5sv620lm")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/selectrum/") + (synopsis "Incremental narrowing in Emacs") + (description "Selectrum is a solution for incremental narrowing in +Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based +on choosing the right abstractions and prioritizing consistency and +predictability over special-cased improvements for particular cases. +As such, Selectrum follows existing Emacs conventions where they exist +and are reasonable, and it declines to implement features which have +marginal benefit compared to the additional complexity of a new +interface.") + (license license:expat))) (define-public emacs-smartparens (package @@ -6670,6 +6952,35 @@ functions to assist in reviewing changes on files.") environments (virtualenv) inside Emacs.") (license license:gpl3+))) +(define-public emacs-highlight-indent-guides + (let ((version "0.8.5") ; from package metadata + (revision "0") + (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c")) + (package + (name "emacs-highlight-indent-guides") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DarthFennec/highlight-indent-guides.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2")))) + (build-system emacs-build-system) + (home-page + "https://github.com/DarthFennec/highlight-indent-guides") + (synopsis "Minor mode to highlight indentation") + (description + "This package provides a minor mode to highlight indentation levels via +font-lock. Indent widths are dynamically discovered, which means this +correctly highlights in any mode, regardless of indent width, even in +languages with non-uniform indentation such as Haskell. This mode works +properly around hard tabs and mixed indentation and behaves well in large +buffers.") + (license license:expat)))) + (define-public emacs-highlight-indentation ;; Last release version is from 2015. (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f") @@ -7429,8 +7740,8 @@ sly-quickload command that prompts the user for a package to install. ") (license license:gpl3+)))) (define-public emacs-sly-asdf - (let ((commit "ad248056ded3099b0528b6111ba335e835d9e5a7") - (revision "3")) + (let ((commit "32ce14994e8faee9321605cec36d156b02996c46") + (revision "4")) (package (name "emacs-sly-asdf") (version (git-version "0.1.0" revision commit)) @@ -7444,7 +7755,7 @@ sly-quickload command that prompts the user for a package to install. ") (file-name (git-file-name name version)) (sha256 (base32 - "0lip0spmglny3y612pxn3rfnpdaj12c9f7ya7bprryg2gvcdippa")))) + "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-sly" ,emacs-sly) @@ -7774,6 +8085,30 @@ a popup window for previewing candidates.") arguments, such as arguments separated by commas and semicolons.") (license license:expat)))) +(define-public emacs-evil-escape + (package + (name "emacs-evil-escape") + (version "3.14") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/syl20bnr/evil-escape") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i")))) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/syl20bnr/evil-escape") + (synopsis "Escape from insert state and everything else in Emacs") + (description + "Evil escape provides a customizable key sequence to escape from insert +state and everything else in Emacs.") + (license license:gpl3+))) + (define-public emacs-evil-exchange (let ((commit "47691537815150715e64e6f6ec79be7746c96120") (version "0.41") @@ -13542,6 +13877,45 @@ within Emacs.") grouping buffers by their projectile root directory.") (license license:gpl3+)))) +(define-public emacs-elm-mode + (package + (name "emacs-elm-mode") + (version "0.21.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jcollard/elm-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-reformatter" ,emacs-reformatter) + ("emacs-s" ,emacs-s))) + (build-system emacs-build-system) + (home-page "https://github.com/jcollard/elm-mode") + (synopsis "Emacs major mode for editing Elm source code") + (description + "This package provides a major mode for editing Elm source code, and +working with common core and third-party Elm tools. Its features are: + +@itemize +@item Syntax highlighting +@item Intelligent indentation +@item Integration with elm-make +@item Integration with elm-repl +@item Integration with elm-reactor +@item Integration with elm-package +@item Integration with elm-oracle +@item Integration with elm-format +@item Integration with elm-test +@end itemize") + (license license:gpl3+))) + (define-public emacs-helm-mode-manager (package (name "emacs-helm-mode-manager") @@ -13657,18 +14031,18 @@ throw a shell history.") (version "1.0") (source (origin - (method url-fetch) - (uri - (string-append "https://github.com/steckerhalter/discover-my-major" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/steckerhalter/discover-my-major.git/") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl")))) + "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-makey" ,emacs-makey))) - (home-page "https://github.com/steckerhalter/discover-my-major") + (home-page "https://framagit.org/steckerhalter/discover-my-major/") (synopsis "Discover key bindings for the current Emacs major mode") (description "This package provides allows to discover key bindings and their meaning for the current Emacs major-mode.") @@ -14540,10 +14914,11 @@ bookmarks and history.") (license license:gpl3+))) (define-public emacs-stumpwm-mode - (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39")) + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "2")) (package (name "emacs-stumpwm-mode") - (version (git-version "0.0.1" "1" commit)) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -14552,7 +14927,7 @@ bookmarks and history.") (file-name (git-file-name name version)) (sha256 (base32 - "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6")))) + "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) (build-system emacs-build-system) (arguments `(#:phases @@ -16229,6 +16604,49 @@ and 'text viewing modes' respectively.") files. It focuses on highlighting the document to improve readability.") (license license:gpl2+))) +(define-public emacs-racer + (package + (name "emacs-racer") + (version "1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/racer-rust/emacs-racer") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6")))) + (arguments + `(#:tests? #t + #:test-command '("make" "test") + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\{CASK\\} exec ") "")) + #t))))) + (native-inputs + `(("emacs-ert-runner" ,emacs-ert-runner) + ("emacs-undercover" ,emacs-undercover))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-pos-tip" ,emacs-pos-tip) + ("emacs-rust-mode" ,emacs-rust-mode) + ("emacs-s" ,emacs-s))) + (build-system emacs-build-system) + (home-page "https://github.com/racer-rust/emacs-racer") + (synopsis "Racer support for Emacs") + (description + "This is the official Emacs package for Racer. It supports code +completion of variables, functions and modules. It can also jump to +definition of functions and types, and show a help buffer based on the +docstring of the thing at point.") + (license license:expat))) + (define-public emacs-rust-mode (package (name "emacs-rust-mode") @@ -16652,7 +17070,7 @@ files are easily readable and they work nicely with version control systems.") (define-public emacs-all-the-icons (package (name "emacs-all-the-icons") - (version "3.2.0") + (version "4.0.1") (source (origin (method git-fetch) @@ -16661,8 +17079,7 @@ files are easily readable and they work nicely with version control systems.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn")))) + (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "^data/" "^fonts/") @@ -16675,10 +17092,11 @@ files are easily readable and they work nicely with version control systems.") ("memoize" ,emacs-memoize))) (home-page "https://github.com/domtronn/all-the-icons.el") (synopsis "Collect icon fonts and propertize them within Emacs") - (description "All-the-icons is a utility package to collect various icon -fonts and propertize them within Emacs. Icon fonts allow you to propertize -and format icons the same way you would normal text. This enables things such -as better scaling of and anti aliasing of the icons.") + (description + "All-the-icons is a utility package to collect various icon fonts and +propertize them within Emacs. Icon fonts allow you to propertize and format +icons the same way you would normal text. This enables things such as better +scaling of and anti aliasing of the icons.") ;; Package is released under Expat license. Elisp files are licensed ;; under GPL3+. Fonts come with various licenses: Expat for ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for @@ -17089,23 +17507,39 @@ other frame parameters.") (license license:gpl3+))) (define-public emacs-arduino-mode - (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet + (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b") + (revision "1")) ;no release yet (package (name "emacs-arduino-mode") - (version (git-version "0" "0" commit)) + (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/bookest/arduino-mode.git") + (url "https://github.com/stardiviner/arduino-mode.git") (commit commit))) (sha256 (base32 - "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c")) + "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx")) (file-name (git-file-name name version)))) (build-system emacs-build-system) + (inputs + `(("spinner" ,emacs-spinner) + ("flycheck" ,emacs-flycheck))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Emacs complains that "defmethod" and "defgeneric" are obsolete + ;; macros when compiling. Substitute them with the recommended + ;; macros "cl-defmethod" and "cl-defgeneric", respectively. + (add-after 'unpack 'fix-obsolete + (lambda _ + (substitute* "ede-arduino.el" + (("defmethod") "cl-defmethod") + (("defgeneric") "cl-defgeneric")) + #t))))) (synopsis "Emacs major mode for editing Arduino sketches") (description "Emacs major mode for editing Arduino sketches.") - (home-page "https://github.com/bookest/arduino-mode") + (home-page "https://github.com/stardiviner/arduino-mode") (license license:gpl3+)))) (define-public emacs-annalist @@ -18455,6 +18889,31 @@ unescaping of quotes.") @code{end-of-defun} functions for Vimscript files.") (license license:gpl3+)))) +(define-public emacs-flycheck-elm + (let ((revision "0") + (commit "1b60050efd4729bfba548f3e5adbcb58436667cb")) + (package + (name "emacs-flycheck-elm") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/bsermons/flycheck-elm") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist))) + (home-page "https://github.com/bsermons/flycheck-elm") + (synopsis "Flycheck support for the Elm language") + (description "Flycheck Elm adds Flycheck support for Elm language.") + (license license:gpl3+)))) + (define-public emacs-flycheck-haskell (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278") (revision "2")) @@ -19598,6 +20057,32 @@ corresponding Evil keys.") commands in @code{evil-mode}.") (license license:gpl3+)))) +(define-public emacs-evil-tmux-navigator + (package + (name "emacs-evil-tmux-navigator") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/keith/evil-tmux-navigator") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx")))) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/keith/evil-tmux-navigator") + (synopsis + "Navigate seamlessly between emacs windows and tmux panes") + (description + "This package lets you use C-h, C-j, C-k and C-l to navigate between +Emacs windows and tmux panes.") + (license license:expat))) + (define-public emacs-xterm-color (package (name "emacs-xterm-color") @@ -20272,32 +20757,51 @@ Emacs that integrate with major modes like Org-mode.") (home-page "https://github.com/hlissner/emacs-doom-themes") (license license:expat)))) -(define-public emacs-modus-themes +(define-public emacs-modus-operandi-theme (package - (name "emacs-modus-themes") - (version "0.6.0") + (name "emacs-modus-operandi-theme") + (version "0.7.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/protesilaos/modus-themes.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "modus-operandi-theme-" version ".el")) (sha256 - (base32 "15z6qq0b0npp7hscmh04i3mi10bynzdy52fv2b160nji264zvcwa")))) + (base32 "17zvcqplbl3rk39k61v43ganzv06j49rlyickanwll5m1a3iibw2")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") - (synopsis "Emacs themes designed for colour-contrast accessibility") + (synopsis "Accessible light theme (WCAG AAA)") (description - "This is a set of accessible themes for GNU Emacs. The contrast ratio -between foreground and background values should always be >= 7:1, which -conforms with the WCAG AAA accessibility standard. + "Modus operandi is the light version of the Modus accessible themes for +GNU Emacs. The contrast ratio between foreground and background values should +always be greater than 7:1, which conforms with the WCAG AAA accessibility +standard. This is the highest standard of its kind.") + (license license:gpl3+))) -The Modus themes project consists of two standalone items, one where dark text -is cast on a light backdrop (Modus Operandi) and another where light text is -displayed against a dark background (Modus Vivendi).") +(define-public emacs-modus-vivendi-theme + (package + (name "emacs-modus-vivendi-theme") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "modus-vivendi-theme-" version ".el")) + (sha256 + (base32 "1w4vrg39dghghkvll3h4kmzykc3zpp6pbychb39gcc13z2b06v8g")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/protesilaos/modus-themes") + (synopsis "Accessible dark theme (WCAG AAA)") + (description + "Modus vivendi is the dark version of the Modus accessible themes for GNU +Emacs. The contrast ratio between foreground and background values should +always be greater than 7:1, which conforms with the WCAG AAA accessibility +standard. This is the highest standard of its kind.") (license license:gpl3+))) +(define-public emacs-modus-themes + (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme)) + (define-public emacs-punpun-theme (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65") (revision "0")) @@ -20323,8 +20827,8 @@ color. Designed for 256-color terminals. Comes in light and dark!") (license license:gpl3+)))) (define-public emacs-spacemacs-theme - (let ((commit "e088bff4f190495615c29de93079aaa823e2300c") - (revision "0")) + (let ((commit "f79c40fb241e204539fde97200abae91e828e585") + (revision "1")) (package (name "emacs-spacemacs-theme") (version (git-version "0" revision commit)) ;no release yet @@ -20336,7 +20840,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "09p5pzy3ibrl8dxmg10v8j16wxdn1fkdqpbi8l9pgfib2azmnvnc")))) + (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n")))) (build-system emacs-build-system) (home-page "https://github.com/nashamri/spacemacs-theme") (synopsis @@ -21757,3 +22261,40 @@ enables modal editing and composition of commands, too. It combines ideas of other Editors like Vim or Kakoune and tries to align them with regular Emacs conventions.") (license license:gpl3+))) + +(define-public emacs-haskell-snippets + ;; The commit below is 5 commits ahead of release, and includes a build fix. + (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a")) + (package + (name "emacs-haskell-snippets") + (version (git-version "0.1.0" "0" commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/haskell/haskell-snippets") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-snippets + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (snippets + (string-append + out "/share/emacs/site-lisp/snippets/haskell-mode"))) + (mkdir-p snippets) + (copy-recursively "snippets/haskell-mode" snippets) + #t)))))) + (propagated-inputs + `(("emacs-yasnippet" ,emacs-yasnippet))) + (home-page "https://github.com/haskell/haskell-snippets") + (synopsis "Official collection of YASnippet Haskell snippets for Emacs") + (description "Haskell-Snippets is a collection of YASnippet Haskell +snippets for Emacs.") + (license license:expat)))) |