summaryrefslogtreecommitdiff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm72
1 files changed, 71 insertions, 1 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e607337fbf..3a8419ee83 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -6290,7 +6290,8 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
- "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"))))
+ "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"))
+ (patches (search-patches "emacs-exwm-fix-fullscreen-issue.patch"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
@@ -11573,3 +11574,72 @@ value. For directories where the user doesn't have read permission, the
recursive size is not obtained. Once this mode is enabled, every new Dired
buffer displays recursive dir sizes.")
(license license:gpl3+)))
+
+(define-public emacs-pcre2el
+ ;; Last release is very old so we get the latest commit.
+ (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
+ (package
+ (name "emacs-pcre2el")
+ (version (git-version "1.8" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joddie/pcre2el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/joddie/pcre2el")
+ (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
+ (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
+Tools) is a utility for working with regular expressions in Emacs, based on a
+recursive-descent parser for regexp syntax. In addition to converting (a
+subset of) PCRE syntax into its Emacs equivalent, it can do the following:
+
+@itemize
+@item convert Emacs syntax to PCRE
+@item convert either syntax to @code{rx}, an S-expression based regexp syntax
+@item untangle complex regexps by showing the parse tree in @code{rx} form and
+highlighting the corresponding chunks of code
+@item show the complete list of strings (productions) matching a regexp,
+provided the list is finite
+@item provide live font-locking of regexp syntax (so far only for Elisp
+buffers – other modes on the TODO list).
+@end itemize\n")
+ (license license:gpl3))))
+
+(define-public emacs-magit-todos
+ ;; TODO: <1.1 is broken with Guix. Switch to 1.1 when out.
+ (let ((commit "966642762788d335dc2d3667d230a36ede65972e"))
+ (package
+ (name "emacs-magit-todos")
+ (version (git-version "1.0.4" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/magit-todos")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nxarip8sf0446xfgrcfsjm4vbsg50klxjbr4i6h09a3lri03gyp"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-async" ,emacs-async)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-hl-todo" ,emacs-hl-todo)
+ ("magit" ,magit)
+ ("emacs-pcre2el" ,emacs-pcre2el)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/magit-todos")
+ (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
+ (description "This package displays keyword entries from source code
+comments and Org files in the Magit status buffer. Activating an item jumps
+to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
+few (like NOTE).")
+ (license license:gpl3))))