summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm207
1 files changed, 207 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ae25b54297..7b60722c10 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1638,6 +1638,27 @@ that it correctly finds RFCs even when a space appears before the
 number.")
     (license license:gpl3+)))
 
+(define-public emacs-org-bullets
+  (package
+    (name "emacs-org-bullets")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/sabof/org-bullets/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/sabof/org-bullets")
+    (synopsis "Show bullets in org-mode as UTF-8 characters")
+    (description
+     "This package provides an Emacs minor mode causing bullets in
+@code{org-mode} to be rendered as UTF-8 characters.")
+    (license license:gpl3+)))
+
 (define-public emacs-zenburn-theme
   (package
     (name "emacs-zenburn-theme")
@@ -1688,6 +1709,170 @@ features found in other packages it also brings many improvements as
 well as completely new features.")
     (license license:gpl3+)))
 
+(define-public emacs-hydra
+  (package
+    (name "emacs-hydra")
+    (version "0.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/abo-abo/hydra/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19ynkjlg3jj7x90xxbz885324h6nkxmzlb2c2c95xkr20zckn0lk"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/abo-abo/hydra")
+    (synopsis "Make Emacs bindings that stick around")
+    (description
+     "This package can be used to tie related commands into a family of short
+bindings with a common prefix---a Hydra.  Once you summon the Hydra (through
+the prefixed binding), all the heads can be called in succession with only a
+short extension.  Any binding that isn't the Hydra's head vanquishes the
+Hydra.  Note that the final binding, besides vanquishing the Hydra, will still
+serve its original purpose, calling the command assigned to it.  This makes
+the Hydra very seamless; it's like a minor mode that disables itself
+automatically.")
+    (license license:gpl3+)))
+
+(define-public emacs-ivy
+  (package
+    (name "emacs-ivy")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/abo-abo/swiper/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "18nqwl05is71dzswnvpfhlg7b0v3apvbsfxrwab9c0apwavi892q"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-hydra" ,emacs-hydra)))
+    (home-page "http://oremacs.com/swiper/")
+    (synopsis "Incremental vertical completion for Emacs")
+    (description
+     "This package provides @code{ivy-read} as an alternative to
+@code{completing-read} and similar functions.  No attempt is made to determine
+the best candidate.  Instead, the user can navigate candidates with
+@code{ivy-next-line} and @code{ivy-previous-line}.  The matching is done by
+splitting the input text by spaces and re-building it into a regular
+expression.")
+    (license license:gpl3+)))
+
+(define-public emacs-avy
+  (package
+    (name "emacs-avy")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/abo-abo/avy/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/abo-abo/avy")
+    (synopsis "Tree-based completion for Emacs")
+    (description
+     "This package provides a generic completion method based on building a
+balanced decision tree with each candidate being a leaf.  To traverse the tree
+from the root to a desired leaf, typically a sequence of @code{read-key} can
+be used.
+
+In order for @code{read-key} to make sense, the tree needs to be visualized
+appropriately, with a character at each branch node.  So this completion
+method works only for things that you can see on your screen, all at once,
+such as the positions of characters, words, line beginnings, links, or
+windows.")
+    (license license:gpl3+)))
+
+(define-public emacs-ace-window
+  (package
+    (name "emacs-ace-window")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/abo-abo/ace-window/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-avy" ,emacs-avy)))
+    (home-page "https://github.com/abo-abo/ace-window")
+    (synopsis "Quickly switch windows in Emacs")
+    (description
+     "@code{ace-window} is meant to replace @code{other-window}.
+In fact, when there are only two windows present, @code{other-window} is
+called.  If there are more, each window will have its first character
+highlighted.  Pressing that character will switch to that window.")
+    (license license:gpl3+)))
+
+(define-public emacs-iedit
+  (package
+    (name "emacs-iedit")
+    (version "0.9.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/victorhge/iedit/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00v86zllcsivmiibigbr91qij2zdf1lr9db8z8again1sn63wkdj"))))
+    (build-system emacs-build-system)
+    (home-page "http://www.emacswiki.org/emacs/Iedit")
+    (synopsis "Edit multiple regions in the same way simultaneously")
+    (description
+     "This package is an Emacs minor mode and allows you to edit one
+occurrence of some text in a buffer (possibly narrowed) or region, and
+simultaneously have other occurrences edited in the same way.
+
+You can also use Iedit mode as a quick way to temporarily show only the buffer
+lines that match the current text being edited.  This gives you the effect of
+a temporary @code{keep-lines} or @code{occur}.")
+    (license license:gpl3+)))
+
+(define-public emacs-lispy
+  (package
+    (name "emacs-lispy")
+    (version "0.26.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/abo-abo/lispy/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "15gig95cvamw5zlw99cxggd27c18b9scznjj97gvjn2zbljcaqzl"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-ace-window" ,emacs-ace-window)
+       ("emacs-iedit" ,emacs-iedit)
+       ("emacs-ivy" ,emacs-ivy)
+       ("emacs-hydra" ,emacs-hydra)))
+    (home-page "https://github.com/abo-abo/lispy")
+    (synopsis "Modal S-expression editing")
+    (description
+     "Due to the structure of Lisp syntax it's very rare for the programmer to
+want to insert characters right before \"(\" or right after \")\".  Thus
+unprefixed printable characters can be used to call commands when the point is
+at one of these special locations.  Lispy provides unprefixed keybindings for
+S-expression editing when point is at the beginning or end of an
+S-expression.")
+    (license license:gpl3+)))
+
 (define-public emacs-clojure-mode
   (package
     (name "emacs-clojure-mode")
@@ -2191,3 +2376,25 @@ Lua programing language}.")
      "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
 news items, openrc and runscripts.")
     (license license:gpl2+)))
+
+(define-public emacs-writegood-mode
+  (package
+    (name "emacs-writegood-mode")
+    (version "2.0.2")
+    (home-page "http://github.com/bnbeckwith/writegood-mode")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
+              (file-name (string-append name "-checkout"))))
+    (build-system emacs-build-system)
+    (synopsis "Polish up poor writing on the fly")
+    (description
+     "This minor mode tries to find and highlight problems with your writing
+in English as you type.  It primarily detects \"weasel words\" and abuse of
+passive voice.")
+    (license license:gpl3+)))